appsec

package
v2.5.0 Latest Latest
Warning

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

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

Documentation

Overview

Package appsec provides access to the Akamai Application Security APIs

Index

Constants

View Source
const (
	// ActivationTypeActivate Activation.ActivationType value ACTIVATE
	ActivationTypeActivate ActivationValue = "ACTIVATE"
	// ActivationTypeDeactivate Activation.ActivationType value DEACTIVATE
	ActivationTypeDeactivate ActivationValue = "DEACTIVATE"

	// NetworkProduction Activation.Network value PRODUCTION
	NetworkProduction NetworkValue = "PRODUCTION"
	// NetworkStaging Activation.Network value STAGING
	NetworkStaging NetworkValue = "STAGING"

	// StatusActive Activation.Status value ACTIVE
	StatusActive StatusValue = "ACTIVATED"
	// StatusInactive Activation.Status value INACTIVE
	StatusInactive StatusValue = "INACTIVE"
	// StatusPending Activation.Status value RECEIVED
	StatusPending StatusValue = "RECEIVED"
	// StatusAborted Activation.Status value ABORTED
	StatusAborted StatusValue = "ABORTED"
	// StatusFailed Activation.Status value FAILED
	StatusFailed StatusValue = "FAILED"
	// StatusDeactivated Activation.Status value DEACTIVATED
	StatusDeactivated StatusValue = "DEACTIVATED"
	// StatusPendingDeactivation Activation.Status value PENDING_DEACTIVATION
	StatusPendingDeactivation StatusValue = "PENDING_DEACTIVATION"
	// StatusNew Activation.Status value NEW
	StatusNew StatusValue = "NEW"
)

Variables

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

Functions

This section is empty.

Types

type APIConstraintsProtection added in v2.5.0

type APIConstraintsProtection interface {
	GetAPIConstraintsProtection(ctx context.Context, params GetAPIConstraintsProtectionRequest) (*GetAPIConstraintsProtectionResponse, error)
	UpdateAPIConstraintsProtection(ctx context.Context, params UpdateAPIConstraintsProtectionRequest) (*UpdateAPIConstraintsProtectionResponse, error)
}

RateProtection contains operations available on RateProtection resource See: // appsec v1

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

type APIRequestConstraintsexp added in v2.2.0

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

type ActivationConfigs

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

type ActivationValue

type ActivationValue string

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

type Activations

type Activations interface {
	GetActivations(ctx context.Context, params GetActivationsRequest) (*GetActivationsResponse, error)
	CreateActivations(ctx context.Context, params CreateActivationsRequest, acknowledgeWarnings bool) (*CreateActivationsResponse, error)
	RemoveActivations(ctx context.Context, params RemoveActivationsRequest) (*RemoveActivationsResponse, error)
}

Activations contains operations available on Activations resource See: // appsec v1

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

type ActivationsPost

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

type AdvancedOptionsexp added in v2.2.0

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

type AdvancedSettingsCookies added in v2.2.0

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

type AdvancedSettingsCustomHeaders added in v2.2.0

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

type AdvancedSettingsLogging added in v2.2.0

type AdvancedSettingsLogging interface {
	GetAdvancedSettingsLogging(ctx context.Context, params GetAdvancedSettingsLoggingRequest) (*GetAdvancedSettingsLoggingResponse, error)
	UpdateAdvancedSettingsLogging(ctx context.Context, params UpdateAdvancedSettingsLoggingRequest) (*UpdateAdvancedSettingsLoggingResponse, error)
	RemoveAdvancedSettingsLogging(ctx context.Context, params RemoveAdvancedSettingsLoggingRequest) (*RemoveAdvancedSettingsLoggingResponse, error)
}

AdvancedSettingsLogging contains operations available on AdvancedSettingsLogging resource See: // appsec v1

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

type AdvancedSettingsPragma added in v2.5.0

type AdvancedSettingsPragma interface {
	GetAdvancedSettingsPragma(ctx context.Context, params GetAdvancedSettingsPragmaRequest) (*GetAdvancedSettingsPragmaResponse, error)
	UpdateAdvancedSettingsPragma(ctx context.Context, params UpdateAdvancedSettingsPragmaRequest) (*UpdateAdvancedSettingsPragmaResponse, error)
}

AdvancedSettingsPragma contains operations available on AdvancedSettingsPragma resource See: // appsec v1

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

type AdvancedSettingsPrefetch added in v2.2.0

type AdvancedSettingsPrefetch interface {
	GetAdvancedSettingsPrefetch(ctx context.Context, params GetAdvancedSettingsPrefetchRequest) (*GetAdvancedSettingsPrefetchResponse, error)
	UpdateAdvancedSettingsPrefetch(ctx context.Context, params UpdateAdvancedSettingsPrefetchRequest) (*UpdateAdvancedSettingsPrefetchResponse, error)
}

AdvancedSettingsPrefetch contains operations available on AdvancedSettingsPrefetch resource See: // appsec v1

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

type AdvancedSettingsStandardHeaders added in v2.2.0

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

type ApiEndpoint added in v2.2.0

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

type ApiEndpoints added in v2.2.0

type ApiEndpoints interface {
	GetApiEndpoints(ctx context.Context, params GetApiEndpointsRequest) (*GetApiEndpointsResponse, error)
}

ApiEndpoints contains operations available on ApiEndpoints resource See: // appsec v1

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

type ApiHostnameCoverage added in v2.2.0

type ApiHostnameCoverage interface {
	GetApiHostnameCoverage(ctx context.Context, params GetApiHostnameCoverageRequest) (*GetApiHostnameCoverageResponse, error)
}

ApiHostnameCoverage contains operations available on ApiHostnameCoverage resource See: // appsec v1

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

type ApiHostnameCoverageMatchTargets added in v2.2.0

type ApiHostnameCoverageMatchTargets interface {
	GetApiHostnameCoverageMatchTargets(ctx context.Context, params GetApiHostnameCoverageMatchTargetsRequest) (*GetApiHostnameCoverageMatchTargetsResponse, error)
}

ApiHostnameCoverageMatchTargets contains operations available on ApiHostnameCoverageMatchTargets resource See: // appsec v1

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

type ApiHostnameCoverageOverlapping added in v2.2.0

type ApiHostnameCoverageOverlapping interface {
	GetApiHostnameCoverageOverlapping(ctx context.Context, params GetApiHostnameCoverageOverlappingRequest) (*GetApiHostnameCoverageOverlappingResponse, error)
}

ApiHostnameCoverageOverlapping contains operations available on ApiHostnameCoverageOverlapping resource See: // appsec v1

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

type ApiRequestConstraints added in v2.2.0

type ApiRequestConstraints interface {
	GetApiRequestConstraints(ctx context.Context, params GetApiRequestConstraintsRequest) (*GetApiRequestConstraintsResponse, error)
	UpdateApiRequestConstraints(ctx context.Context, params UpdateApiRequestConstraintsRequest) (*UpdateApiRequestConstraintsResponse, error)
	RemoveApiRequestConstraints(ctx context.Context, params RemoveApiRequestConstraintsRequest) (*RemoveApiRequestConstraintsResponse, error)
}

ApiRequestConstraints contains operations available on ApiRequestConstraints resource See: // appsec v1

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

type AtomicConditionsexp added in v2.2.0

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

type AttackGroup added in v2.5.0

type AttackGroup interface {
	GetAttackGroups(ctx context.Context, params GetAttackGroupsRequest) (*GetAttackGroupsResponse, error)
	GetAttackGroup(ctx context.Context, params GetAttackGroupRequest) (*GetAttackGroupResponse, error)
	UpdateAttackGroup(ctx context.Context, params UpdateAttackGroupRequest) (*UpdateAttackGroupResponse, error)
}

AttackGroupConditionException contains operations available on AttackGroupConditionException resource See: // appsec v1

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

type AttackGroupAdvancedCriteria added in v2.5.0

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

type AttackGroupAdvancedExceptions added in v2.2.0

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

type AttackGroupConditionException added in v2.0.4

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

type AttackGroupConditions added in v2.2.0

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

type AttackGroupException added in v2.2.0

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

type AttackGroupHeaderCookieOrParamValuesAdvanced added in v2.5.0

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

type AttackGroupSpecificHeaderCookieOrParamNameValAdvanced added in v2.5.0

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

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNames added in v2.2.0

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

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNamesAdvanced added in v2.5.0

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

type AutoGenerated added in v2.2.0

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

type BypassNetworkList

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

BypassNetworkList ...

type BypassNetworkLists added in v2.2.0

type BypassNetworkLists interface {
	GetBypassNetworkLists(ctx context.Context, params GetBypassNetworkListsRequest) (*GetBypassNetworkListsResponse, error)
	UpdateBypassNetworkLists(ctx context.Context, params UpdateBypassNetworkListsRequest) (*UpdateBypassNetworkListsResponse, error)
	RemoveBypassNetworkLists(ctx context.Context, params RemoveBypassNetworkListsRequest) (*RemoveBypassNetworkListsResponse, error)
}

BypassNetworkLists contains operations available on BypassNetworkLists resource See: // appsec v1

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

type ClientFunc

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

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

type ClientReputationReputationProfileActions added in v2.3.0

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

type ConditionReputationProfile added in v2.2.0

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

type ConditionsExp added in v2.2.0

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

type ConditionsValue added in v2.2.0

type ConditionsValue []string

func (*ConditionsValue) UnmarshalJSON added in v2.2.0

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

type Configuration

type Configuration interface {
	GetConfigurations(ctx context.Context, params GetConfigurationsRequest) (*GetConfigurationsResponse, error)
	GetConfiguration(ctx context.Context, params GetConfigurationRequest) (*GetConfigurationResponse, error)
	CreateConfiguration(ctx context.Context, params CreateConfigurationRequest) (*CreateConfigurationResponse, error)
	UpdateConfiguration(ctx context.Context, params UpdateConfigurationRequest) (*UpdateConfigurationResponse, error)
	RemoveConfiguration(ctx context.Context, params RemoveConfigurationRequest) (*RemoveConfigurationResponse, error)
}

Configuration contains operations available on Configuration resource See: // appsec v1

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

type ConfigurationClone

type ConfigurationClone interface {
	GetConfigurationClone(ctx context.Context, params GetConfigurationCloneRequest) (*GetConfigurationCloneResponse, error)
	CreateConfigurationClone(ctx context.Context, params CreateConfigurationCloneRequest) (*CreateConfigurationCloneResponse, error)
}

ConfigurationClone contains operations available on ConfigurationClone resource See: // appsec v1

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

type ConfigurationHostnameCoverage added in v2.2.0

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

type ConfigurationVersion

type ConfigurationVersion interface {
	GetConfigurationVersions(ctx context.Context, params GetConfigurationVersionsRequest) (*GetConfigurationVersionsResponse, error)
}

ConfigurationVersion contains operations available on ConfigurationVersion resource See: // appsec v1

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

type ConfigurationVersionClone added in v2.2.0

type ConfigurationVersionClone interface {
	GetConfigurationVersionClone(ctx context.Context, params GetConfigurationVersionCloneRequest) (*GetConfigurationVersionCloneResponse, error)
	CreateConfigurationVersionClone(ctx context.Context, params CreateConfigurationVersionCloneRequest) (*CreateConfigurationVersionCloneResponse, error)
	RemoveConfigurationVersionClone(ctx context.Context, params RemoveConfigurationVersionCloneRequest) (*RemoveConfigurationVersionCloneResponse, error)
}

ConfigurationClone contains operations available on ConfigurationClone resource See: // appsec v1

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

type ContractsGroups added in v2.2.0

type ContractsGroups interface {
	GetContractsGroups(ctx context.Context, params GetContractsGroupsRequest) (*GetContractsGroupsResponse, error)
}

ContractsGroups contains operations available on ContractsGroups resource See: // appsec v1

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

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

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

type CreateConfigurationClonePost added in v2.2.0

type CreateConfigurationClonePost struct {
	CreateFromVersion int  `json:"createFromVersion"`
	RuleUpdate        bool `json:"ruleUpdate"`
}

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

func (CreateConfigurationCloneRequest) Validate

Validate validates CreateConfigurationCloneRequest

type CreateConfigurationCloneResponse

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

type CreateConfigurationRequest added in v2.2.0

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

type CreateConfigurationResponse added in v2.2.0

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

type CreateConfigurationVersionCloneRequest added in v2.2.0

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

func (CreateConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates GetConfigurationCloneRequest

type CreateConfigurationVersionCloneResponse added in v2.2.0

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

type CreateCustomDenyRequest added in v2.2.0

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

func (CreateCustomDenyRequest) Validate added in v2.2.0

func (v CreateCustomDenyRequest) Validate() error

Validate validates CreateCustomDenyRequest

type CreateCustomDenyResponse added in v2.2.0

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

type CreateCustomRuleRequest

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

func (CreateCustomRuleRequest) Validate

func (v CreateCustomRuleRequest) Validate() error

Validate validates CreateCustomRuleRequest

type CreateCustomRuleResponse

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

type CreateMatchTargetRequest

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

CreateMatchTargetRequest is the argument for GetProperties

func (CreateMatchTargetRequest) Validate

func (v CreateMatchTargetRequest) Validate() error

Validate validates 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 the argument for GetProperties

type CreateRatePolicyRequest

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

func (CreateRatePolicyRequest) Validate

func (v CreateRatePolicyRequest) Validate() error

Validate validates CreateRatePolicyRequest

type CreateRatePolicyResponse

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

type CreateReputationProfileRequest added in v2.0.4

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

func (CreateReputationProfileRequest) Validate added in v2.0.4

Validate validates CreateReputationProfileRequest

type CreateReputationProfileResponse added in v2.0.4

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

type CreateSecurityPolicyClonePost

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

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

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

func (CreateSecurityPolicyCloneRequest) Validate

Validate validates 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"`
	}
}

type CreateSecurityPolicyRequest added in v2.0.4

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

func (CreateSecurityPolicyRequest) Validate added in v2.0.4

func (v CreateSecurityPolicyRequest) Validate() error

Validate validates CreateSecurityPolicyRequest

type CreateSecurityPolicyResponse added in v2.0.4

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

type CustomDeny added in v2.2.0

type CustomDeny interface {
	GetCustomDenyList(ctx context.Context, params GetCustomDenyListRequest) (*GetCustomDenyListResponse, error)
	GetCustomDeny(ctx context.Context, params GetCustomDenyRequest) (*GetCustomDenyResponse, error)
	CreateCustomDeny(ctx context.Context, params CreateCustomDenyRequest) (*CreateCustomDenyResponse, error)
	UpdateCustomDeny(ctx context.Context, params UpdateCustomDenyRequest) (*UpdateCustomDenyResponse, error)
	RemoveCustomDeny(ctx context.Context, params RemoveCustomDenyRequest) (*RemoveCustomDenyResponse, error)
}

CustomDeny contains operations available on CustomDeny resource See: // appsec v1

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

type CustomDenyListexp added in v2.2.0

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

type CustomRule

type CustomRule interface {
	GetCustomRules(ctx context.Context, params GetCustomRulesRequest) (*GetCustomRulesResponse, error)
	GetCustomRule(ctx context.Context, params GetCustomRuleRequest) (*GetCustomRuleResponse, error)
	CreateCustomRule(ctx context.Context, params CreateCustomRuleRequest) (*CreateCustomRuleResponse, error)
	UpdateCustomRule(ctx context.Context, params UpdateCustomRuleRequest) (*UpdateCustomRuleResponse, error)
	RemoveCustomRule(ctx context.Context, params RemoveCustomRuleRequest) (*RemoveCustomRuleResponse, error)
}

CustomRule contains operations available on CustomRule resource See: // appsec v1

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

type CustomRuleAction

type CustomRuleAction interface {
	GetCustomRuleActions(ctx context.Context, params GetCustomRuleActionsRequest) (*GetCustomRuleActionsResponse, error)
	GetCustomRuleAction(ctx context.Context, params GetCustomRuleActionRequest) (*GetCustomRuleActionResponse, error)
	UpdateCustomRuleAction(ctx context.Context, params UpdateCustomRuleActionRequest) (*UpdateCustomRuleActionResponse, error)
}

CustomRuleAction contains operations available on CustomRuleAction resource See: // appsec v1

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

type CustomRuleActionsexp added in v2.2.0

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

TODO breaks export

type CustomRuleConditionsName added in v2.2.0

type CustomRuleConditionsName []string

func (*CustomRuleConditionsName) UnmarshalJSON added in v2.2.0

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

type CustomRuleConditionsValue added in v2.2.0

type CustomRuleConditionsValue []string

func (*CustomRuleConditionsValue) UnmarshalJSON added in v2.2.0

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

type CustomRuleResponse

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

type CustomRulesResponse

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

type DurationThresholdExp added in v2.5.0

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

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 a appsec error interface

func (*Error) Error

func (e *Error) Error() string

func (*Error) Is

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

Is handles error comparisons

type Eval added in v2.0.4

type Eval interface {
	GetEvals(ctx context.Context, params GetEvalsRequest) (*GetEvalsResponse, error)
	GetEval(ctx context.Context, params GetEvalRequest) (*GetEvalResponse, error)
	UpdateEval(ctx context.Context, params UpdateEvalRequest) (*UpdateEvalResponse, error)
	RemoveEval(ctx context.Context, params RemoveEvalRequest) (*RemoveEvalResponse, error)
}

Eval contains operations available on Eval resource See: // appsec v1

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

type EvalHost added in v2.2.0

type EvalHost interface {
	GetEvalHosts(ctx context.Context, params GetEvalHostsRequest) (*GetEvalHostsResponse, error)
	GetEvalHost(ctx context.Context, params GetEvalHostRequest) (*GetEvalHostResponse, error)
	UpdateEvalHost(ctx context.Context, params UpdateEvalHostRequest) (*UpdateEvalHostResponse, error)
	RemoveEvalHost(ctx context.Context, params RemoveEvalHostRequest) (*RemoveEvalHostResponse, error)
}

EvalHost contains operations available on EvalHost resource See: // appsec v1

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

type EvalProtectHost added in v2.2.0

type EvalProtectHost interface {
	GetEvalProtectHosts(ctx context.Context, params GetEvalProtectHostsRequest) (*GetEvalProtectHostsResponse, error)
	GetEvalProtectHost(ctx context.Context, params GetEvalProtectHostRequest) (*GetEvalProtectHostResponse, error)
	UpdateEvalProtectHost(ctx context.Context, params UpdateEvalProtectHostRequest) (*UpdateEvalProtectHostResponse, error)
}

EvalProtectHost contains operations available on EvalProtectHost resource See: // appsec v1

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

type EvalRule added in v2.5.0

type EvalRule interface {
	GetEvalRules(ctx context.Context, params GetEvalRulesRequest) (*GetEvalRulesResponse, error)
	GetEvalRule(ctx context.Context, params GetEvalRuleRequest) (*GetEvalRuleResponse, error)
	UpdateEvalRule(ctx context.Context, params UpdateEvalRuleRequest) (*UpdateEvalRuleResponse, error)
}

EvalRule contains operations available on EvalRule resource See: // appsec v1

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

type Evaluationexp added in v2.2.0

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

TODO breaks export

type ExcludeCondition added in v2.5.0

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

type ExportConfiguration

type ExportConfiguration interface {
	GetExportConfigurations(ctx context.Context, params GetExportConfigurationsRequest) (*GetExportConfigurationsResponse, error)
}

ExportConfiguration contains operations available on ExportConfiguration resource See: // appsec v1

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

type FailoverHostnames added in v2.2.0

type FailoverHostnames interface {
	GetFailoverHostnames(ctx context.Context, params GetFailoverHostnamesRequest) (*GetFailoverHostnamesResponse, error)
}

FailoverHostnames contains operations available on FailoverHostnames resource See: // appsec v1

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

type GetAPIConstraintsProtectionRequest added in v2.5.0

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

func (GetAPIConstraintsProtectionRequest) Validate added in v2.5.0

Validate validates GetRateProtectionRequest

type GetAPIConstraintsProtectionResponse added in v2.5.0

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

type GetActivationsRequest

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

func (GetActivationsRequest) Validate

func (v GetActivationsRequest) Validate() error

Validate validates 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"`
}

type GetAdvancedSettingsLoggingRequest added in v2.2.0

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

func (GetAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates GetAdvancedSettingsLoggingsRequest

type GetAdvancedSettingsLoggingResponse added in v2.2.0

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

type GetAdvancedSettingsPragmaRequest added in v2.5.0

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

func (GetAdvancedSettingsPragmaRequest) Validate added in v2.5.0

Validate validates GetAdvancedSettingsPragmaRequest

type GetAdvancedSettingsPragmaResponse added in v2.5.0

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

type GetAdvancedSettingsPrefetchRequest added in v2.2.0

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

func (GetAdvancedSettingsPrefetchRequest) Validate added in v2.2.0

Validate validates GetAdvancedSettingsPrefetchRequest

type GetAdvancedSettingsPrefetchResponse added in v2.2.0

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

type GetApiEndpointsRequest added in v2.2.0

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

func (GetApiEndpointsRequest) Validate added in v2.2.0

func (v GetApiEndpointsRequest) Validate() error

Validate validates GetApiEndpointsRequest

type GetApiEndpointsResponse added in v2.2.0

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

type GetApiHostnameCoverageMatchTargetsRequest added in v2.2.0

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

func (GetApiHostnameCoverageMatchTargetsRequest) Validate added in v2.2.0

Validate validates GetApiHostnameCoverageMatchTargetsRequest

type GetApiHostnameCoverageMatchTargetsResponse added in v2.2.0

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

type GetApiHostnameCoverageOverlappingRequest added in v2.2.0

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

func (GetApiHostnameCoverageOverlappingRequest) Validate added in v2.2.0

Validate validates GetApiHostnameCoverageOverlappingRequest

type GetApiHostnameCoverageOverlappingResponse added in v2.2.0

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

type GetApiHostnameCoverageRequest added in v2.2.0

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

type GetApiHostnameCoverageResponse added in v2.2.0

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

type GetApiRequestConstraintsRequest added in v2.2.0

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

func (GetApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates GetApiRequestConstraintsRequest

type GetApiRequestConstraintsResponse added in v2.2.0

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

type GetAttackGroupRequest added in v2.5.0

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

func (GetAttackGroupRequest) Validate added in v2.5.0

func (v GetAttackGroupRequest) Validate() error

Validate validates GetAttackGroupConditionExceptionRequest

type GetAttackGroupResponse added in v2.5.0

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

func (GetAttackGroupResponse) IsEmptyConditionException added in v2.5.0

func (r GetAttackGroupResponse) IsEmptyConditionException() bool

Check Condition Exception is Empty

type GetAttackGroupsRequest added in v2.5.0

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

func (GetAttackGroupsRequest) Validate added in v2.5.0

func (v GetAttackGroupsRequest) Validate() error

Validate validates GetAttackGroupConditionExceptionsRequest

type GetAttackGroupsResponse added in v2.5.0

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

type GetBypassNetworkListsRequest added in v2.2.0

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

func (GetBypassNetworkListsRequest) Validate added in v2.2.0

func (v GetBypassNetworkListsRequest) Validate() error

Validate validates GetBypassNetworkListsRequest

type GetBypassNetworkListsResponse added in v2.2.0

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

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

func (GetConfigurationCloneRequest) Validate

func (v GetConfigurationCloneRequest) Validate() error

Validate validates 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"`
}

type GetConfigurationRequest added in v2.2.0

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

func (GetConfigurationRequest) Validate added in v2.2.0

func (v GetConfigurationRequest) Validate() error

Validate validates GetConfigurationRequest

type GetConfigurationResponse added in v2.2.0

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

type GetConfigurationVersionCloneRequest added in v2.2.0

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

func (GetConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates GetConfigurationCloneRequest

type GetConfigurationVersionCloneResponse added in v2.2.0

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

type GetConfigurationVersionsRequest

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

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

type GetConfigurationsRequest

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

func (GetConfigurationsRequest) Validate added in v2.2.0

func (v GetConfigurationsRequest) Validate() error

Validate validates 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"`
}

type GetContractsGroupsRequest added in v2.2.0

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

type GetContractsGroupsResponse added in v2.2.0

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

type GetCustomDenyListRequest added in v2.2.0

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

func (GetCustomDenyListRequest) Validate added in v2.2.0

func (v GetCustomDenyListRequest) Validate() error

Validate validates GetCustomDenysRequest

type GetCustomDenyListResponse added in v2.2.0

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

type GetCustomDenyRequest added in v2.2.0

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

func (GetCustomDenyRequest) Validate added in v2.2.0

func (v GetCustomDenyRequest) Validate() error

Validate validates GetCustomDenyRequest

type GetCustomDenyResponse added in v2.2.0

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

type GetCustomRuleActionRequest

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

func (GetCustomRuleActionRequest) Validate

func (v GetCustomRuleActionRequest) Validate() error

Validate validates 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"`
}

type GetCustomRuleActionsRequest

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

func (GetCustomRuleActionsRequest) Validate

func (v GetCustomRuleActionsRequest) Validate() error

Validate validates 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"`
}

type GetCustomRuleRequest

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

func (GetCustomRuleRequest) Validate

func (v GetCustomRuleRequest) Validate() error

Validate validates GetCustomRuleRequest

type GetCustomRuleResponse

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

type GetCustomRulesRequest

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

func (GetCustomRulesRequest) Validate

func (v GetCustomRulesRequest) Validate() error

Validate validates GetCustomRulesRequest

type GetCustomRulesResponse

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

type GetEvalHostRequest added in v2.2.0

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

func (GetEvalHostRequest) Validate added in v2.2.0

func (v GetEvalHostRequest) Validate() error

Validate validates GetEvalHostRequest

type GetEvalHostResponse added in v2.2.0

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

type GetEvalHostsRequest added in v2.2.0

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

func (GetEvalHostsRequest) Validate added in v2.2.0

func (v GetEvalHostsRequest) Validate() error

Validate validates GetEvalHostsRequest

type GetEvalHostsResponse added in v2.2.0

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

type GetEvalProtectHostRequest added in v2.2.0

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

func (GetEvalProtectHostRequest) Validate added in v2.2.0

func (v GetEvalProtectHostRequest) Validate() error

Validate validates GetEvalProtectHostRequest

type GetEvalProtectHostResponse added in v2.2.0

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

type GetEvalProtectHostsRequest added in v2.2.0

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

func (GetEvalProtectHostsRequest) Validate added in v2.2.0

func (v GetEvalProtectHostsRequest) Validate() error

Validate validates GetEvalProtectHostsRequest

type GetEvalProtectHostsResponse added in v2.2.0

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

type GetEvalRequest added in v2.0.4

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

func (GetEvalRequest) Validate added in v2.0.4

func (v GetEvalRequest) Validate() error

Validate validates GetEvalRequest

type GetEvalResponse added in v2.0.4

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

type GetEvalRuleRequest added in v2.5.0

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

func (GetEvalRuleRequest) Validate added in v2.5.0

func (v GetEvalRuleRequest) Validate() error

Validate validates GetEvalRuleRequest

type GetEvalRuleResponse added in v2.5.0

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

func (*GetEvalRuleResponse) IsEmptyConditionException added in v2.5.0

func (r *GetEvalRuleResponse) IsEmptyConditionException() bool

Check Condition Exception is Empty

type GetEvalRulesRequest added in v2.5.0

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

func (GetEvalRulesRequest) Validate added in v2.5.0

func (v GetEvalRulesRequest) Validate() error

Validate validates GetEvalRulesRequest

type GetEvalRulesResponse added in v2.5.0

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

type GetEvalsRequest added in v2.0.4

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

func (GetEvalsRequest) Validate added in v2.0.4

func (v GetEvalsRequest) Validate() error

Validate validates GetEvalsRequest

type GetEvalsResponse added in v2.0.4

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

type GetExportConfigurationsRequest

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

type GetExportConfigurationsResponse

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

type GetFailoverHostnamesRequest added in v2.2.0

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

type GetFailoverHostnamesResponse added in v2.2.0

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

type GetIPGeoProtectionRequest added in v2.5.0

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

func (GetIPGeoProtectionRequest) Validate added in v2.5.0

func (v GetIPGeoProtectionRequest) Validate() error

Validate validates GetIPGeoProtectionRequest

type GetIPGeoProtectionResponse added in v2.5.0

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

type GetIPGeoProtectionsRequest added in v2.5.0

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

func (GetIPGeoProtectionsRequest) Validate added in v2.5.0

func (v GetIPGeoProtectionsRequest) Validate() error

Validate validates GetIPGeoProtectionsRequest

type GetIPGeoProtectionsResponse added in v2.5.0

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

type GetIPGeoRequest added in v2.0.4

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

func (GetIPGeoRequest) Validate added in v2.0.4

func (v GetIPGeoRequest) Validate() error

Validate validates GetIPGeoRequest

type GetIPGeoResponse added in v2.0.4

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

type GetMatchTargetRequest

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

GetMatchTargetRequest is the argument for GetProperties

func (GetMatchTargetRequest) Validate

func (v GetMatchTargetRequest) Validate() error

Validate validates 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:"-"`
	BypassNetworkLists []struct {
		Name string `json:"name,omitempty"`
		ID   string `json:"id,omitempty"`
	} `json:"bypassNetworkLists,omitempty"`
}

GetMatchTargetResponse ...

type GetMatchTargetSequenceRequest

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

GetMatchTargetSequence is the argument for GetProperties

func (GetMatchTargetSequenceRequest) Validate

func (v GetMatchTargetSequenceRequest) Validate() error

Validate validates GetMatchTargetSequenceRequest

type GetMatchTargetSequenceResponse

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

type GetMatchTargetsRequest

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

GetMatchTargetsRequest is the argument for GetProperties

func (GetMatchTargetsRequest) Validate

func (v GetMatchTargetsRequest) Validate() error

Validate validates 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"`
}

GetMatchTargetResponse ...

type GetNetworkLayerProtectionRequest added in v2.0.4

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

func (GetNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates GetNetworkLayerProtectionRequest

type GetNetworkLayerProtectionResponse added in v2.0.4

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

type GetNetworkLayerProtectionsRequest added in v2.0.4

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

func (GetNetworkLayerProtectionsRequest) Validate added in v2.0.4

Validate validates GetNetworkLayerProtectionsRequest

type GetNetworkLayerProtectionsResponse added in v2.0.4

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

type GetPenaltyBoxRequest

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

func (GetPenaltyBoxRequest) Validate

func (v GetPenaltyBoxRequest) Validate() error

Validate validates GetPenaltyBoxRequest

type GetPenaltyBoxResponse

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

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

func (GetPenaltyBoxesRequest) Validate

func (v GetPenaltyBoxesRequest) Validate() error

Validate validates GetPenaltyBoxsRequest

type GetPenaltyBoxesResponse

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

type GetPolicyProtectionsRequest added in v2.0.4

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

func (GetPolicyProtectionsRequest) Validate added in v2.0.4

func (v GetPolicyProtectionsRequest) Validate() error

Validate validates GetPolicyProtectionsRequest

type GetPolicyProtectionsResponse added in v2.0.4

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

type GetRatePoliciesRequest

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

func (GetRatePoliciesRequest) Validate

func (v GetRatePoliciesRequest) Validate() error

Validate validates GetRatePolicysRequest

type GetRatePoliciesResponse

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

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

func (GetRatePolicyActionRequest) Validate

func (v GetRatePolicyActionRequest) Validate() error

Validate validates GetRatePolicyActionRequest

type GetRatePolicyActionResponse

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

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

func (GetRatePolicyActionsRequest) Validate

func (v GetRatePolicyActionsRequest) Validate() error

Validate validates 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"`
}

type GetRatePolicyRequest

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

func (GetRatePolicyRequest) Validate

func (v GetRatePolicyRequest) Validate() error

Validate validates GetRatePolicyRequest

type GetRatePolicyResponse

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

type GetRateProtectionRequest added in v2.0.4

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

func (GetRateProtectionRequest) Validate added in v2.0.4

func (v GetRateProtectionRequest) Validate() error

Validate validates GetRateProtectionRequest

type GetRateProtectionResponse added in v2.0.4

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

type GetRateProtectionsRequest added in v2.0.4

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

func (GetRateProtectionsRequest) Validate added in v2.0.4

func (v GetRateProtectionsRequest) Validate() error

Validate validates GetRateProtectionsRequest

type GetRateProtectionsResponse added in v2.0.4

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

type GetReputationAnalysisRequest added in v2.2.0

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

func (GetReputationAnalysisRequest) Validate added in v2.2.0

func (v GetReputationAnalysisRequest) Validate() error

Validate validates GetReputationAnalysisRequest

type GetReputationAnalysisResponse added in v2.2.0

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

type GetReputationProfileActionRequest added in v2.0.4

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

func (GetReputationProfileActionRequest) Validate added in v2.0.4

Validate validates GetReputationProfileActionRequest

type GetReputationProfileActionResponse added in v2.0.4

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

type GetReputationProfileActionsRequest added in v2.0.4

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

func (GetReputationProfileActionsRequest) Validate added in v2.0.4

Validate validates GetReputationProfileActionsRequest

type GetReputationProfileActionsResponse added in v2.0.4

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

type GetReputationProfileRequest added in v2.0.4

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

func (GetReputationProfileRequest) Validate added in v2.0.4

func (v GetReputationProfileRequest) Validate() error

Validate validates GetReputationProfileRequest

type GetReputationProfileResponse added in v2.0.4

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

type GetReputationProfileResponseCondition added in v2.4.1

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

type GetReputationProfilesRequest added in v2.0.4

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

func (GetReputationProfilesRequest) Validate added in v2.0.4

func (v GetReputationProfilesRequest) Validate() error

Validate validates GetReputationProfilesRequest

type GetReputationProfilesResponse added in v2.0.4

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

type GetReputationProtectionRequest added in v2.0.4

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

func (GetReputationProtectionRequest) Validate added in v2.0.4

Validate validates GetReputationProtectionRequest

type GetReputationProtectionResponse added in v2.0.4

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

type GetReputationProtectionsRequest added in v2.0.4

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

func (GetReputationProtectionsRequest) Validate added in v2.0.4

Validate validates GetReputationProtectionsRequest

type GetReputationProtectionsResponse added in v2.0.4

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

type GetRuleRequest added in v2.5.0

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

func (GetRuleRequest) Validate added in v2.5.0

func (v GetRuleRequest) Validate() error

Validate validates GetRuleRequest

type GetRuleResponse added in v2.5.0

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

func (*GetRuleResponse) IsEmptyConditionException added in v2.5.0

func (r *GetRuleResponse) IsEmptyConditionException() bool

Check Condition Exception is Empty

type GetRuleUpgradeRequest added in v2.0.4

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

func (GetRuleUpgradeRequest) Validate added in v2.0.4

func (v GetRuleUpgradeRequest) Validate() error

Validate validates GetRuleUpgradeRequest

type GetRuleUpgradeResponse added in v2.0.4

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

type GetRulesRequest added in v2.5.0

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

func (GetRulesRequest) Validate added in v2.5.0

func (v GetRulesRequest) Validate() error

Validate validates GetRulesRequest

type GetRulesResponse added in v2.5.0

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

type GetSecurityPoliciesRequest

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

func (GetSecurityPoliciesRequest) Validate added in v2.0.4

func (v GetSecurityPoliciesRequest) Validate() error

Validate validates GetSecurityPolicysRequest

type GetSecurityPoliciesResponse

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

type GetSecurityPolicyCloneRequest

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

func (GetSecurityPolicyCloneRequest) Validate

func (v GetSecurityPolicyCloneRequest) Validate() error

Validate validates 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"`
}

type GetSecurityPolicyClonesRequest

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

func (GetSecurityPolicyClonesRequest) Validate

Validate validates 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"`
}

type GetSecurityPolicyRequest added in v2.0.4

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

func (GetSecurityPolicyRequest) Validate added in v2.0.4

func (v GetSecurityPolicyRequest) Validate() error

Validate validates GetSecurityPolicyRequest

type GetSecurityPolicyResponse added in v2.0.4

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

type GetSelectableHostnamesRequest

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

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

type GetSelectedHostnameRequest

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

func (GetSelectedHostnameRequest) Validate

func (v GetSelectedHostnameRequest) Validate() error

Validate validates GetSelectedHostnameRequest

type GetSelectedHostnameResponse

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

type GetSelectedHostnamesRequest

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

func (GetSelectedHostnamesRequest) Validate

func (v GetSelectedHostnamesRequest) Validate() error

Validate validates GetSelectedHostnamesRequest

type GetSelectedHostnamesResponse

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

type GetSiemDefinitionsRequest added in v2.2.0

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

type GetSiemDefinitionsResponse added in v2.2.0

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

type GetSiemSettingRequest added in v2.2.0

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

type GetSiemSettingResponse added in v2.2.0

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

type GetSiemSettingsRequest added in v2.2.0

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

func (GetSiemSettingsRequest) Validate added in v2.2.0

func (v GetSiemSettingsRequest) Validate() error

Validate validates GetSiemSettingsRequest

type GetSiemSettingsResponse added in v2.2.0

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

type GetSlowPostProtectionRequest added in v2.0.4

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

func (GetSlowPostProtectionRequest) Validate added in v2.0.4

func (v GetSlowPostProtectionRequest) Validate() error

Validate validates GetSlowPostProtectionRequest

type GetSlowPostProtectionResponse added in v2.0.4

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

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

func (GetSlowPostProtectionSettingRequest) Validate

Validate validates GetSlowPostProtectionSettingRequest

type GetSlowPostProtectionSettingResponse

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

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

func (GetSlowPostProtectionSettingsRequest) Validate

Validate validates GetSlowPostProtectionSettingsRequest

type GetSlowPostProtectionSettingsResponse

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

type GetSlowPostProtectionsRequest added in v2.0.4

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

func (GetSlowPostProtectionsRequest) Validate added in v2.0.4

func (v GetSlowPostProtectionsRequest) Validate() error

Validate validates GetSlowPostProtectionsRequest

type GetSlowPostProtectionsResponse added in v2.0.4

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

type GetVersionNotesRequest added in v2.2.0

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

func (GetVersionNotesRequest) Validate added in v2.2.0

func (v GetVersionNotesRequest) Validate() error

Validate validates GetVersionNotesRequest

type GetVersionNotesResponse added in v2.2.0

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

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

func (GetWAFModeRequest) Validate

func (v GetWAFModeRequest) Validate() error

Validate validates 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"`
}

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

func (GetWAFModesRequest) Validate

func (v GetWAFModesRequest) Validate() error

Validate validates GetWAFModesRequest

type GetWAFModesResponse

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

type GetWAFProtectionRequest

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

func (GetWAFProtectionRequest) Validate

func (v GetWAFProtectionRequest) Validate() error

Validate validates GetWAFProtectionRequest

type GetWAFProtectionResponse

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

type GetWAFProtectionsRequest

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

func (GetWAFProtectionsRequest) Validate

func (v GetWAFProtectionsRequest) Validate() error

Validate validates GetWAFProtectionsRequest

type GetWAFProtectionsResponse

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

type HeaderCookieOrParamValuesattackgroup added in v2.2.0

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

type Hostname

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

type HostnameCoverageMatchTargetBypassNetworkLists added in v2.2.0

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

type HostnameCoverageMatchTargetEffectiveSecurityControls added in v2.2.0

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

type Hostnames

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

type IPGeo added in v2.0.4

type IPGeo interface {
	GetIPGeo(ctx context.Context, params GetIPGeoRequest) (*GetIPGeoResponse, error)
	UpdateIPGeo(ctx context.Context, params UpdateIPGeoRequest) (*UpdateIPGeoResponse, error)
}

IPGeo contains operations available on IPGeo resource See: // appsec v1

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

type IPGeoProtection added in v2.5.0

type IPGeoProtection interface {
	GetIPGeoProtections(ctx context.Context, params GetIPGeoProtectionsRequest) (*GetIPGeoProtectionsResponse, error)
	GetIPGeoProtection(ctx context.Context, params GetIPGeoProtectionRequest) (*GetIPGeoProtectionResponse, error)
	UpdateIPGeoProtection(ctx context.Context, params UpdateIPGeoProtectionRequest) (*UpdateIPGeoProtectionResponse, error)
}

IPGeoProtection contains operations available on IPGeo resource See: // appsec v1

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

type LoggingOverridesexp added in v2.2.0

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

type Loggingexp added in v2.2.0

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

type MatchTarget

type MatchTarget interface {
	GetMatchTargets(ctx context.Context, params GetMatchTargetsRequest) (*GetMatchTargetsResponse, error)
	GetMatchTarget(ctx context.Context, params GetMatchTargetRequest) (*GetMatchTargetResponse, error)
	CreateMatchTarget(ctx context.Context, params CreateMatchTargetRequest) (*CreateMatchTargetResponse, error)
	UpdateMatchTarget(ctx context.Context, params UpdateMatchTargetRequest) (*UpdateMatchTargetResponse, error)
	RemoveMatchTarget(ctx context.Context, params RemoveMatchTargetRequest) (*RemoveMatchTargetResponse, error)
}

MatchTarget contains operations available on MatchTarget resource See: // appsec v1

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

type MatchTargetItem added in v2.5.0

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

BypassNetworkList ...

type MatchTargetSequence

type MatchTargetSequence interface {
	GetMatchTargetSequence(ctx context.Context, params GetMatchTargetSequenceRequest) (*GetMatchTargetSequenceResponse, error)
	UpdateMatchTargetSequence(ctx context.Context, params UpdateMatchTargetSequenceRequest) (*UpdateMatchTargetSequenceResponse, error)
}

MatchTargetSequence contains operations available on MatchTargetSequence resource See: // appsec v1

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

type NetworkLayerProtection added in v2.0.4

type NetworkLayerProtection interface {
	GetNetworkLayerProtections(ctx context.Context, params GetNetworkLayerProtectionsRequest) (*GetNetworkLayerProtectionsResponse, error)
	GetNetworkLayerProtection(ctx context.Context, params GetNetworkLayerProtectionRequest) (*GetNetworkLayerProtectionResponse, error)
	UpdateNetworkLayerProtection(ctx context.Context, params UpdateNetworkLayerProtectionRequest) (*UpdateNetworkLayerProtectionResponse, error)
	RemoveNetworkLayerProtection(ctx context.Context, params RemoveNetworkLayerProtectionRequest) (*RemoveNetworkLayerProtectionResponse, error)
}

NetworkLayerProtection contains operations available on NetworkLayerProtection resource See: // appsec v1

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

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 PenaltyBox

type PenaltyBox interface {
	GetPenaltyBoxes(ctx context.Context, params GetPenaltyBoxesRequest) (*GetPenaltyBoxesResponse, error)
	GetPenaltyBox(ctx context.Context, params GetPenaltyBoxRequest) (*GetPenaltyBoxResponse, error)
	UpdatePenaltyBox(ctx context.Context, params UpdatePenaltyBoxRequest) (*UpdatePenaltyBoxResponse, error)
}

PenaltyBox contains operations available on PenaltyBox resource See: // appsec v1

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

type PenaltyBoxexp added in v2.2.0

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

TODO nfails export

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

type PolicyProtections added in v2.0.4

type PolicyProtections interface {
	GetPolicyProtections(ctx context.Context, params GetPolicyProtectionsRequest) (*GetPolicyProtectionsResponse, error)
	UpdatePolicyProtections(ctx context.Context, params UpdatePolicyProtectionsRequest) (*UpdatePolicyProtectionsResponse, error)
	RemovePolicyProtections(ctx context.Context, params RemovePolicyProtectionsRequest) (*RemovePolicyProtectionsResponse, error)
}

PolicyProtections contains operations available on PolicyProtections resource See: // appsec v1

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

type RatePoliciesFileExtensionsValues added in v2.2.0

type RatePoliciesFileExtensionsValues []string

type RatePoliciesPath added in v2.4.1

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

type RatePoliciesPathValues added in v2.2.0

type RatePoliciesPathValues []string

type RatePoliciesQueryParameters added in v2.2.0

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

type RatePoliciesQueryParametersValues added in v2.2.0

type RatePoliciesQueryParametersValues []string

type RatePolicy

type RatePolicy interface {
	GetRatePolicies(ctx context.Context, params GetRatePoliciesRequest) (*GetRatePoliciesResponse, error)
	GetRatePolicy(ctx context.Context, params GetRatePolicyRequest) (*GetRatePolicyResponse, error)
	CreateRatePolicy(ctx context.Context, params CreateRatePolicyRequest) (*CreateRatePolicyResponse, error)
	UpdateRatePolicy(ctx context.Context, params UpdateRatePolicyRequest) (*UpdateRatePolicyResponse, error)
	RemoveRatePolicy(ctx context.Context, params RemoveRatePolicyRequest) (*RemoveRatePolicyResponse, error)
}

RatePolicy contains operations available on RatePolicy resource See: // appsec v1

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

type RatePolicyAPISelectors added in v2.2.0

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

type RatePolicyAction

type RatePolicyAction interface {
	GetRatePolicyActions(ctx context.Context, params GetRatePolicyActionsRequest) (*GetRatePolicyActionsResponse, error)
	GetRatePolicyAction(ctx context.Context, params GetRatePolicyActionRequest) (*GetRatePolicyActionResponse, error)
	UpdateRatePolicyAction(ctx context.Context, params UpdateRatePolicyActionRequest) (*UpdateRatePolicyActionResponse, error)
}

RatePolicyAction contains operations available on RatePolicyAction resource See: // appsec v1

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

type RatePolicyActionPost

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

type RatePolicyActionsexp added in v2.2.0

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

TODO fails export

type RatePolicyAdditionalMatchOptions added in v2.2.0

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

type RatePolicyBodyParameters added in v2.2.0

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

type RatePolicyFileExtensions added in v2.2.0

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

type RatePolicyPath added in v2.2.0

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

type RatePolicyQueryParameters added in v2.2.0

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

type RateProtection added in v2.0.4

type RateProtection interface {
	GetRateProtections(ctx context.Context, params GetRateProtectionsRequest) (*GetRateProtectionsResponse, error)
	GetRateProtection(ctx context.Context, params GetRateProtectionRequest) (*GetRateProtectionResponse, error)
	UpdateRateProtection(ctx context.Context, params UpdateRateProtectionRequest) (*UpdateRateProtectionResponse, error)
}

RateProtection contains operations available on RateProtection resource See: // appsec v1

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

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

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

type RemoveAdvancedSettingsLoggingRequest added in v2.2.0

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

func (RemoveAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates UpdateAdvancedSettingsLoggingRequest

type RemoveAdvancedSettingsLoggingResponse added in v2.2.0

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

type RemoveAdvancedSettingsPrefetchRequest added in v2.2.0

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

type RemoveAdvancedSettingsPrefetchResponse added in v2.2.0

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

type RemoveApiRequestConstraintsRequest added in v2.2.0

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

func (RemoveApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates RemoveApiRequestConstraintsRequest

type RemoveApiRequestConstraintsResponse added in v2.2.0

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

type RemoveBypassNetworkListsRequest added in v2.2.0

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

func (RemoveBypassNetworkListsRequest) Validate added in v2.2.0

Validate validates RemoveBypassNetworkListsRequest

type RemoveBypassNetworkListsResponse added in v2.2.0

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

type RemoveConfigurationRequest added in v2.2.0

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

func (RemoveConfigurationRequest) Validate added in v2.2.0

func (v RemoveConfigurationRequest) Validate() error

Validate validates RemoveConfigurationRequest

type RemoveConfigurationResponse added in v2.2.0

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

type RemoveConfigurationVersionCloneRequest added in v2.2.0

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

func (RemoveConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates GetConfigurationCloneRequest

type RemoveConfigurationVersionCloneResponse added in v2.2.0

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

type RemoveCustomDenyRequest added in v2.2.0

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

func (RemoveCustomDenyRequest) Validate added in v2.2.0

func (v RemoveCustomDenyRequest) Validate() error

Validate validates RemoveCustomDenyRequest

type RemoveCustomDenyResponse added in v2.2.0

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

type RemoveCustomRuleRequest

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

func (RemoveCustomRuleRequest) Validate

func (v RemoveCustomRuleRequest) Validate() error

Validate validates RemoveCustomRuleRequest

type RemoveCustomRuleResponse

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

type RemoveEvalHostRequest added in v2.2.0

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

func (RemoveEvalHostRequest) Validate added in v2.2.0

func (v RemoveEvalHostRequest) Validate() error

Validate validates UpdateEvalHostRequest

type RemoveEvalHostResponse added in v2.2.0

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

type RemoveEvalProtectHostRequest added in v2.2.0

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

type RemoveEvalProtectHostResponse added in v2.4.1

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

type RemoveEvalRequest added in v2.0.4

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

func (RemoveEvalRequest) Validate added in v2.0.4

func (v RemoveEvalRequest) Validate() error

Validate validates UpdateEvalRequest

type RemoveEvalResponse added in v2.0.4

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

type RemoveMatchTargetRequest

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

RemoveMatchTargetRequest is the argument for GetProperties

func (RemoveMatchTargetRequest) Validate

func (v RemoveMatchTargetRequest) Validate() error

Validate validates 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 ...

type RemoveNetworkLayerProtectionRequest added in v2.0.4

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

func (RemoveNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates RemoveNetworkLayerProtectionRequest

type RemoveNetworkLayerProtectionResponse added in v2.0.4

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

type RemovePolicyProtectionsRequest added in v2.0.4

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

func (RemovePolicyProtectionsRequest) Validate added in v2.0.4

Validate validates RemovePolicyProtectionsRequest

type RemovePolicyProtectionsResponse added in v2.0.4

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

type RemoveRatePolicyRequest

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

func (RemoveRatePolicyRequest) Validate

func (v RemoveRatePolicyRequest) Validate() error

Validate validates RemoveRatePolicyRequest

type RemoveRatePolicyResponse

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

type RemoveReputationAnalysisRequest added in v2.2.0

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

func (RemoveReputationAnalysisRequest) Validate added in v2.2.0

Validate validates RemoveReputationAnalysisRequest

type RemoveReputationAnalysisResponse added in v2.2.0

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

type RemoveReputationProfileRequest added in v2.0.4

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

func (RemoveReputationProfileRequest) Validate added in v2.0.4

Validate validates RemoveReputationProfileRequest

type RemoveReputationProfileResponse added in v2.0.4

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

type RemoveReputationProtectionRequest added in v2.0.4

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

func (RemoveReputationProtectionRequest) Validate added in v2.0.4

Validate validates RemoveReputationProtectionRequest

type RemoveReputationProtectionResponse added in v2.0.4

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

type RemoveSecurityPolicyRequest added in v2.0.4

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

func (RemoveSecurityPolicyRequest) Validate added in v2.0.4

func (v RemoveSecurityPolicyRequest) Validate() error

Validate validates RemoveSecurityPolicyRequest

type RemoveSecurityPolicyResponse added in v2.0.4

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

type RemoveSiemSettingsRequest added in v2.2.0

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

func (RemoveSiemSettingsRequest) Validate added in v2.2.0

func (v RemoveSiemSettingsRequest) Validate() error

Validate validates UpdateSiemSettingsRequest

type RemoveSiemSettingsResponse added in v2.2.0

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

type ReputationAnalysis added in v2.2.0

type ReputationAnalysis interface {
	GetReputationAnalysis(ctx context.Context, params GetReputationAnalysisRequest) (*GetReputationAnalysisResponse, error)
	UpdateReputationAnalysis(ctx context.Context, params UpdateReputationAnalysisRequest) (*UpdateReputationAnalysisResponse, error)
	RemoveReputationAnalysis(ctx context.Context, params RemoveReputationAnalysisRequest) (*RemoveReputationAnalysisResponse, error)
}

ReputationAnalysis contains operations available on ReputationAnalysis resource See: // appsec v1

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

type ReputationProfile added in v2.0.4

type ReputationProfile interface {
	GetReputationProfiles(ctx context.Context, params GetReputationProfilesRequest) (*GetReputationProfilesResponse, error)
	GetReputationProfile(ctx context.Context, params GetReputationProfileRequest) (*GetReputationProfileResponse, error)
	CreateReputationProfile(ctx context.Context, params CreateReputationProfileRequest) (*CreateReputationProfileResponse, error)
	UpdateReputationProfile(ctx context.Context, params UpdateReputationProfileRequest) (*UpdateReputationProfileResponse, error)
	RemoveReputationProfile(ctx context.Context, params RemoveReputationProfileRequest) (*RemoveReputationProfileResponse, error)
}

ReputationProfile contains operations available on ReputationProfile resource See: // appsec v1

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

type ReputationProfileAction added in v2.0.4

type ReputationProfileAction interface {
	GetReputationProfileActions(ctx context.Context, params GetReputationProfileActionsRequest) (*GetReputationProfileActionsResponse, error)
	GetReputationProfileAction(ctx context.Context, params GetReputationProfileActionRequest) (*GetReputationProfileActionResponse, error)
	UpdateReputationProfileAction(ctx context.Context, params UpdateReputationProfileActionRequest) (*UpdateReputationProfileActionResponse, error)
}

ReputationProfileAction contains operations available on ReputationProfileAction resource See: // appsec v1

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

type ReputationProfileActionPost added in v2.0.4

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

type ReputationProfileActionsexp added in v2.2.0

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

TODO fails export

type ReputationProfileCondition added in v2.4.1

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

type ReputationProtection added in v2.0.4

type ReputationProtection interface {
	GetReputationProtections(ctx context.Context, params GetReputationProtectionsRequest) (*GetReputationProtectionsResponse, error)
	GetReputationProtection(ctx context.Context, params GetReputationProtectionRequest) (*GetReputationProtectionResponse, error)
	UpdateReputationProtection(ctx context.Context, params UpdateReputationProtectionRequest) (*UpdateReputationProtectionResponse, error)
	RemoveReputationProtection(ctx context.Context, params RemoveReputationProtectionRequest) (*RemoveReputationProtectionResponse, error)
}

ReputationProtection contains operations available on ReputationProtection resource See: // appsec v1

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

type Rule added in v2.5.0

type Rule interface {
	GetRules(ctx context.Context, params GetRulesRequest) (*GetRulesResponse, error)
	GetRule(ctx context.Context, params GetRuleRequest) (*GetRuleResponse, error)
	UpdateRule(ctx context.Context, params UpdateRuleRequest) (*UpdateRuleResponse, error)
}

Rule contains operations available on Rule resource See: // appsec v1

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

type RuleConditionException added in v2.0.4

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

type RuleConditions added in v2.2.0

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

type RuleException added in v2.2.0

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

type RuleUpgrade added in v2.0.4

type RuleUpgrade interface {
	GetRuleUpgrade(ctx context.Context, params GetRuleUpgradeRequest) (*GetRuleUpgradeResponse, error)
	UpdateRuleUpgrade(ctx context.Context, params UpdateRuleUpgradeRequest) (*UpdateRuleUpgradeResponse, error)
}

RuleUpgrade contains operations available on RuleUpgrade resource See: // appsec v1

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

type RulesetsRules added in v2.3.0

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

type SecurityPoliciesPenaltyBox added in v2.3.0

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

type SecurityPoliciesRatePolicyActions added in v2.3.0

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

type SecurityPolicy

type SecurityPolicy interface {
	GetSecurityPolicies(ctx context.Context, params GetSecurityPoliciesRequest) (*GetSecurityPoliciesResponse, error)
	GetSecurityPolicy(ctx context.Context, params GetSecurityPolicyRequest) (*GetSecurityPolicyResponse, error)
	CreateSecurityPolicy(ctx context.Context, params CreateSecurityPolicyRequest) (*CreateSecurityPolicyResponse, error)
	UpdateSecurityPolicy(ctx context.Context, params UpdateSecurityPolicyRequest) (*UpdateSecurityPolicyResponse, error)
	RemoveSecurityPolicy(ctx context.Context, params RemoveSecurityPolicyRequest) (*RemoveSecurityPolicyResponse, error)
}

SecurityPolicy contains operations available on SecurityPolicy resource See: // appsec v1

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

type SecurityPolicyClone

type SecurityPolicyClone interface {
	GetSecurityPolicyClones(ctx context.Context, params GetSecurityPolicyClonesRequest) (*GetSecurityPolicyClonesResponse, error)
	GetSecurityPolicyClone(ctx context.Context, params GetSecurityPolicyCloneRequest) (*GetSecurityPolicyCloneResponse, error)
	CreateSecurityPolicyClone(ctx context.Context, params CreateSecurityPolicyCloneRequest) (*CreateSecurityPolicyCloneResponse, error)
}

SecurityPolicyClone contains operations available on SecurityPolicyClone resource See: // appsec v1

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

type SecurityPolicyCloneResponse

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

type SelectableHostnames

type SelectableHostnames interface {
	GetSelectableHostnames(ctx context.Context, params GetSelectableHostnamesRequest) (*GetSelectableHostnamesResponse, error)
}

SelectableHostnames contains operations available on SelectableHostnames resource See: // appsec v1

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

type SelectedHostname

type SelectedHostname interface {
	GetSelectedHostnames(ctx context.Context, params GetSelectedHostnamesRequest) (*GetSelectedHostnamesResponse, error)
	GetSelectedHostname(ctx context.Context, params GetSelectedHostnameRequest) (*GetSelectedHostnameResponse, error)
	UpdateSelectedHostname(ctx context.Context, params UpdateSelectedHostnameRequest) (*UpdateSelectedHostnameResponse, error)
}

SelectedHostname contains operations available on SelectedHostname resource See: // appsec v1

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

type SiemDefinitions added in v2.2.0

type SiemDefinitions interface {
	GetSiemDefinitions(ctx context.Context, params GetSiemDefinitionsRequest) (*GetSiemDefinitionsResponse, error)
}

SiemDefinitions contains operations available on SiemDefinitions resource See: // appsec v1

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

type SiemSettings added in v2.2.0

type SiemSettings interface {
	GetSiemSettings(ctx context.Context, params GetSiemSettingsRequest) (*GetSiemSettingsResponse, error)
	UpdateSiemSettings(ctx context.Context, params UpdateSiemSettingsRequest) (*UpdateSiemSettingsResponse, error)
	RemoveSiemSettings(ctx context.Context, params RemoveSiemSettingsRequest) (*RemoveSiemSettingsResponse, error)
}

SiemSettings contains operations available on SiemSettings resource See: // appsec v1

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

type Siemexp added in v2.2.0

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

type SlowPostProtection added in v2.0.4

type SlowPostProtection interface {
	GetSlowPostProtections(ctx context.Context, params GetSlowPostProtectionsRequest) (*GetSlowPostProtectionsResponse, error)
	GetSlowPostProtection(ctx context.Context, params GetSlowPostProtectionRequest) (*GetSlowPostProtectionResponse, error)
	UpdateSlowPostProtection(ctx context.Context, params UpdateSlowPostProtectionRequest) (*UpdateSlowPostProtectionResponse, error)
}

SlowPostProtection contains operations available on SlowPostProtection resource See: // appsec v1

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

type SlowPostProtectionSetting

type SlowPostProtectionSetting interface {
	GetSlowPostProtectionSettings(ctx context.Context, params GetSlowPostProtectionSettingsRequest) (*GetSlowPostProtectionSettingsResponse, error)
	GetSlowPostProtectionSetting(ctx context.Context, params GetSlowPostProtectionSettingRequest) (*GetSlowPostProtectionSettingResponse, error)
	UpdateSlowPostProtectionSetting(ctx context.Context, params UpdateSlowPostProtectionSettingRequest) (*UpdateSlowPostProtectionSettingResponse, error)
}

SlowPostProtectionSetting contains operations available on SlowPostProtectionSetting resource See: // appsec v1

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

type SlowPostProtectionSettingDurationThreshold added in v2.2.0

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

type SlowPostProtectionSettingSlowRateThreshold added in v2.2.0

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

type SlowPostexp added in v2.2.0

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

type SlowRateThresholdExp added in v2.5.0

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

type SpecificHeaderCookieOrParamNameValuePtr added in v2.5.0

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

type SpecificHeaderCookieOrParamNameValueexp added in v2.2.0

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

type SpecificHeaderCookieOrParamNamesPtr added in v2.5.0

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

type SpecificHeaderCookieOrParamPrefixPtr added in v2.5.0

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

type StatusValue

type StatusValue string

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

type UpdateAPIConstraintsProtectionRequest added in v2.5.0

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

func (UpdateAPIConstraintsProtectionRequest) Validate added in v2.5.0

Validate validates UpdateRateProtectionRequest

type UpdateAPIConstraintsProtectionResponse added in v2.5.0

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

type UpdateAdvancedSettingsLoggingRequest added in v2.2.0

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

func (UpdateAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates UpdateAdvancedSettingsLoggingRequest

type UpdateAdvancedSettingsLoggingResponse added in v2.2.0

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

type UpdateAdvancedSettingsPragmaRequest added in v2.5.0

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

func (UpdateAdvancedSettingsPragmaRequest) Validate added in v2.5.0

Validate validates UpdateAdvancedSettingsPragmaRequest

type UpdateAdvancedSettingsPragmaResponse added in v2.5.0

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

type UpdateAdvancedSettingsPrefetchRequest added in v2.2.0

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

func (UpdateAdvancedSettingsPrefetchRequest) Validate added in v2.2.0

Validate validates UpdateAdvancedSettingsPrefetchRequest

type UpdateAdvancedSettingsPrefetchResponse added in v2.2.0

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

type UpdateApiRequestConstraintsRequest added in v2.2.0

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

func (UpdateApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates UpdateApiRequestConstraintsRequest

type UpdateApiRequestConstraintsResponse added in v2.2.0

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

type UpdateAttackGroupRequest added in v2.5.0

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

func (UpdateAttackGroupRequest) Validate added in v2.5.0

func (v UpdateAttackGroupRequest) Validate() error

Validate validates UpdateAttackGroupConditionExceptionRequest

type UpdateAttackGroupResponse added in v2.5.0

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

type UpdateBypassNetworkListsRequest added in v2.2.0

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

func (UpdateBypassNetworkListsRequest) Validate added in v2.2.0

Validate validates UpdateBypassNetworkListsRequest

type UpdateBypassNetworkListsResponse added in v2.2.0

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

type UpdateConfigurationRequest added in v2.2.0

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

func (UpdateConfigurationRequest) Validate added in v2.2.0

func (v UpdateConfigurationRequest) Validate() error

Validate validates UpdateConfigurationRequest

type UpdateConfigurationResponse added in v2.2.0

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

type UpdateCustomDenyRequest added in v2.2.0

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

func (UpdateCustomDenyRequest) Validate added in v2.2.0

func (v UpdateCustomDenyRequest) Validate() error

Validate validates UpdateCustomDenyRequest

type UpdateCustomDenyResponse added in v2.2.0

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

type UpdateCustomRuleActionRequest

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

func (UpdateCustomRuleActionRequest) Validate

func (v UpdateCustomRuleActionRequest) Validate() error

Validate validates 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"`
}

type UpdateCustomRuleRequest

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

func (UpdateCustomRuleRequest) Validate

func (v UpdateCustomRuleRequest) Validate() error

Validate validates UpdateCustomRuleRequest

type UpdateCustomRuleResponse

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

type UpdateEvalHostRequest added in v2.2.0

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

func (UpdateEvalHostRequest) Validate added in v2.2.0

func (v UpdateEvalHostRequest) Validate() error

Validate validates UpdateEvalHostRequest

type UpdateEvalHostResponse added in v2.2.0

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

type UpdateEvalProtectHostRequest added in v2.2.0

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

func (UpdateEvalProtectHostRequest) Validate added in v2.2.0

func (v UpdateEvalProtectHostRequest) Validate() error

Validate validates UpdateEvalProtectHostRequest

type UpdateEvalProtectHostResponse added in v2.2.0

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

type UpdateEvalRequest added in v2.0.4

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

func (UpdateEvalRequest) Validate added in v2.0.4

func (v UpdateEvalRequest) Validate() error

Validate validates UpdateEvalRequest

type UpdateEvalResponse added in v2.0.4

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

type UpdateEvalRuleRequest added in v2.5.0

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

func (UpdateEvalRuleRequest) Validate added in v2.5.0

func (v UpdateEvalRuleRequest) Validate() error

Validate validates UpdateEvalRuleRequest

type UpdateEvalRuleResponse added in v2.5.0

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

type UpdateIPGeoProtectionRequest added in v2.5.0

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

func (UpdateIPGeoProtectionRequest) Validate added in v2.5.0

func (v UpdateIPGeoProtectionRequest) Validate() error

Validate validates UpdateIPGeoProtectionRequest

type UpdateIPGeoProtectionResponse added in v2.5.0

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

type UpdateIPGeoRequest added in v2.0.4

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

func (UpdateIPGeoRequest) Validate added in v2.0.4

func (v UpdateIPGeoRequest) Validate() error

Validate validates UpdateIPGeoRequest

type UpdateIPGeoResponse added in v2.0.4

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

type UpdateMatchTargetRequest

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

UpdateMatchTargetRequest is the argument for GetProperties

func (UpdateMatchTargetRequest) Validate

func (v UpdateMatchTargetRequest) Validate() error

Validate validates 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 ...

type UpdateMatchTargetSequenceRequest

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

UpdateMatchTargetRequest is the argument for GetProperties

func (UpdateMatchTargetSequenceRequest) Validate

Validate validates UpdateMatchTargetSequenceRequest

type UpdateMatchTargetSequenceResponse

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

UpdateMatchTargetResponse ...

type UpdateNetworkLayerProtectionRequest added in v2.0.4

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

func (UpdateNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates UpdateNetworkLayerProtectionRequest

type UpdateNetworkLayerProtectionResponse added in v2.0.4

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

type UpdatePenaltyBoxRequest

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

func (UpdatePenaltyBoxRequest) Validate

func (v UpdatePenaltyBoxRequest) Validate() error

Validate validates UpdatePenaltyBoxRequest

type UpdatePenaltyBoxResponse

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

type UpdatePolicyProtectionsRequest added in v2.0.4

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

func (UpdatePolicyProtectionsRequest) Validate added in v2.0.4

Validate validates UpdatePolicyProtectionsRequest

type UpdatePolicyProtectionsResponse added in v2.0.4

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

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

func (UpdateRatePolicyActionRequest) Validate

func (v UpdateRatePolicyActionRequest) Validate() error

Validate validates UpdateRatePolicyActionRequest

type UpdateRatePolicyActionResponse

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

type UpdateRatePolicyRequest

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

func (UpdateRatePolicyRequest) Validate

func (v UpdateRatePolicyRequest) Validate() error

Validate validates UpdateRatePolicyRequest

type UpdateRatePolicyResponse

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

type UpdateRateProtectionRequest added in v2.0.4

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

func (UpdateRateProtectionRequest) Validate added in v2.0.4

func (v UpdateRateProtectionRequest) Validate() error

Validate validates UpdateRateProtectionRequest

type UpdateRateProtectionResponse added in v2.0.4

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

type UpdateReputationAnalysisRequest added in v2.2.0

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

func (UpdateReputationAnalysisRequest) Validate added in v2.2.0

Validate validates UpdateReputationAnalysisRequest

type UpdateReputationAnalysisResponse added in v2.2.0

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

type UpdateReputationProfileActionRequest added in v2.0.4

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

func (UpdateReputationProfileActionRequest) Validate added in v2.0.4

Validate validates UpdateReputationProfileActionRequest

type UpdateReputationProfileActionResponse added in v2.0.4

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

type UpdateReputationProfileRequest added in v2.0.4

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

func (UpdateReputationProfileRequest) Validate added in v2.0.4

Validate validates UpdateReputationProfileRequest

type UpdateReputationProfileResponse added in v2.0.4

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

type UpdateReputationProtectionRequest added in v2.0.4

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

func (UpdateReputationProtectionRequest) Validate added in v2.0.4

Validate validates UpdateReputationProtectionRequest

type UpdateReputationProtectionResponse added in v2.0.4

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

type UpdateRuleRequest added in v2.5.0

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

func (UpdateRuleRequest) Validate added in v2.5.0

func (v UpdateRuleRequest) Validate() error

Validate validates UpdateRuleRequest

type UpdateRuleResponse added in v2.5.0

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

type UpdateRuleUpgradeRequest added in v2.0.4

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

func (UpdateRuleUpgradeRequest) Validate added in v2.0.4

func (v UpdateRuleUpgradeRequest) Validate() error

Validate validates UpdateRuleUpgradeRequest

type UpdateRuleUpgradeResponse added in v2.0.4

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

type UpdateSecurityPolicyRequest added in v2.0.4

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

func (UpdateSecurityPolicyRequest) Validate added in v2.0.4

func (v UpdateSecurityPolicyRequest) Validate() error

Validate validates UpdateSecurityPolicyRequest

type UpdateSecurityPolicyResponse added in v2.0.4

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

type UpdateSelectedHostnameRequest

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

func (UpdateSelectedHostnameRequest) Validate

func (v UpdateSelectedHostnameRequest) Validate() error

Validate validates UpdateSelectedHostnameRequest

type UpdateSelectedHostnameResponse

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

type UpdateSiemSettingsRequest added in v2.2.0

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

func (UpdateSiemSettingsRequest) Validate added in v2.2.0

func (v UpdateSiemSettingsRequest) Validate() error

Validate validates UpdateSiemSettingsRequest

type UpdateSiemSettingsResponse added in v2.2.0

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

type UpdateSlowPostProtectionRequest added in v2.0.4

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

func (UpdateSlowPostProtectionRequest) Validate added in v2.0.4

Validate validates UpdateSlowPostProtectionRequest

type UpdateSlowPostProtectionResponse added in v2.0.4

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

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

func (UpdateSlowPostProtectionSettingRequest) Validate

Validate validates 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"`
}

type UpdateVersionNotesRequest added in v2.2.0

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

	Notes string `json:"notes"`
}

func (UpdateVersionNotesRequest) Validate added in v2.2.0

func (v UpdateVersionNotesRequest) Validate() error

Validate validates UpdateVersionNotesRequest

type UpdateVersionNotesResponse added in v2.2.0

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

type UpdateWAFModeRequest

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

func (UpdateWAFModeRequest) Validate

func (v UpdateWAFModeRequest) Validate() error

Validate validates UpdateWAFModeRequest

type UpdateWAFModeResponse

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

type UpdateWAFProtectionRequest

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

func (UpdateWAFProtectionRequest) Validate

func (v UpdateWAFProtectionRequest) Validate() error

Validate validates UpdateWAFProtectionRequest

type UpdateWAFProtectionResponse

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

type VersionNotes added in v2.2.0

type VersionNotes interface {
	GetVersionNotes(ctx context.Context, params GetVersionNotesRequest) (*GetVersionNotesResponse, error)
	UpdateVersionNotes(ctx context.Context, params UpdateVersionNotesRequest) (*UpdateVersionNotesResponse, error)
}

VersionNotes contains operations available on VersionNotes resource See: // appsec v1

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

type WAFMode

type WAFMode interface {
	GetWAFModes(ctx context.Context, params GetWAFModesRequest) (*GetWAFModesResponse, error)
	GetWAFMode(ctx context.Context, params GetWAFModeRequest) (*GetWAFModeResponse, error)
	UpdateWAFMode(ctx context.Context, params UpdateWAFModeRequest) (*UpdateWAFModeResponse, error)
}

WAFMode contains operations available on WAFMode resource See: // appsec v1

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

type WAFProtection

type WAFProtection interface {
	GetWAFProtections(ctx context.Context, params GetWAFProtectionsRequest) (*GetWAFProtectionsResponse, error)
	GetWAFProtection(ctx context.Context, params GetWAFProtectionRequest) (*GetWAFProtectionResponse, error)
	UpdateWAFProtection(ctx context.Context, params UpdateWAFProtectionRequest) (*UpdateWAFProtectionResponse, error)
}

WAFProtection contains operations available on WAFProtection resource See: // appsec v1

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

type WebApplicationFirewallEvaluation added in v2.3.0

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

Jump to

Keyboard shortcuts

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