Documentation
¶
Overview ¶
Package appsec provides access to the Akamai Application Security APIs
Index ¶
- Constants
- Variables
- type APPSEC
- type ActivationConfigs
- type ActivationValue
- type Activations
- type ActivationsPost
- type BypassNetworkList
- type ClientFunc
- type Configuration
- type ConfigurationClone
- type ConfigurationVersion
- type CreateActivationsRequest
- type CreateActivationsResponse
- type CreateConfigurationCloneRequest
- type CreateConfigurationCloneResponse
- type CreateCustomRuleRequest
- type CreateCustomRuleResponse
- type CreateMatchTargetRequest
- type CreateMatchTargetResponse
- type CreateRatePolicyRequest
- type CreateRatePolicyResponse
- type CreateSecurityPolicyClonePost
- type CreateSecurityPolicyClonePostResponse
- type CreateSecurityPolicyCloneRequest
- type CreateSecurityPolicyCloneResponse
- type CustomRule
- type CustomRuleAction
- type CustomRuleResponse
- type CustomRulesResponse
- type Error
- type ExportConfiguration
- type GetActivationsRequest
- type GetActivationsResponse
- type GetConfigurationCloneRequest
- type GetConfigurationCloneResponse
- type GetConfigurationVersionsRequest
- type GetConfigurationVersionsResponse
- type GetConfigurationsRequest
- type GetConfigurationsResponse
- type GetCustomRuleActionRequest
- type GetCustomRuleActionResponse
- type GetCustomRuleActionsRequest
- type GetCustomRuleActionsResponse
- type GetCustomRuleRequest
- type GetCustomRuleResponse
- type GetCustomRulesRequest
- type GetCustomRulesResponse
- type GetExportConfigurationsRequest
- type GetExportConfigurationsResponse
- type GetMatchTargetRequest
- type GetMatchTargetResponse
- type GetMatchTargetSequenceRequest
- type GetMatchTargetSequenceResponse
- type GetMatchTargetSequencesRequest
- type GetMatchTargetSequencesResponse
- type GetMatchTargetsRequest
- type GetMatchTargetsResponse
- type GetMatchTargetsSequenceRequest
- type GetPenaltyBoxRequest
- type GetPenaltyBoxResponse
- type GetPenaltyBoxesRequest
- type GetPenaltyBoxesResponse
- type GetRatePoliciesRequest
- type GetRatePoliciesResponse
- type GetRatePolicyActionRequest
- type GetRatePolicyActionResponse
- type GetRatePolicyActionsRequest
- type GetRatePolicyActionsResponse
- type GetRatePolicyRequest
- type GetRatePolicyResponse
- type GetSecurityPoliciesRequest
- type GetSecurityPoliciesResponse
- type GetSecurityPolicyCloneRequest
- type GetSecurityPolicyCloneResponse
- type GetSecurityPolicyClonesRequest
- type GetSecurityPolicyClonesResponse
- type GetSelectableHostnamesRequest
- type GetSelectableHostnamesResponse
- type GetSelectedHostnameRequest
- type GetSelectedHostnameResponse
- type GetSelectedHostnamesRequest
- type GetSelectedHostnamesResponse
- type GetSlowPostProtectionSettingRequest
- type GetSlowPostProtectionSettingResponse
- type GetSlowPostProtectionSettingsRequest
- type GetSlowPostProtectionSettingsResponse
- type GetWAFModeRequest
- type GetWAFModeResponse
- type GetWAFModesRequest
- type GetWAFModesResponse
- type GetWAFProtectionRequest
- type GetWAFProtectionResponse
- type GetWAFProtectionsRequest
- type GetWAFProtectionsResponse
- type Hostname
- type Hostnames
- type MatchTarget
- type MatchTargetSequence
- type NetworkValue
- type Option
- type PenaltyBox
- type Policies
- type RatePolicy
- type RatePolicyAction
- type RatePolicyActionPost
- type RemoveActivationsRequest
- type RemoveActivationsResponse
- type RemoveCustomRuleRequest
- type RemoveCustomRuleResponse
- type RemoveMatchTargetRequest
- type RemoveMatchTargetResponse
- type RemoveRatePolicyRequest
- type RemoveRatePolicyResponse
- type SecurityPolicy
- type SecurityPolicyClone
- type SecurityPolicyCloneResponse
- type SelectableHostnames
- type SelectedHostname
- type SlowPostProtectionSetting
- type StatusValue
- type TargetSequence
- type UpdateCustomRuleActionRequest
- type UpdateCustomRuleActionResponse
- type UpdateCustomRuleRequest
- type UpdateCustomRuleResponse
- type UpdateMatchTargetRequest
- type UpdateMatchTargetResponse
- type UpdateMatchTargetSequenceRequest
- type UpdateMatchTargetSequenceResponse
- type UpdatePenaltyBoxRequest
- type UpdatePenaltyBoxResponse
- type UpdateRatePolicyActionRequest
- type UpdateRatePolicyActionResponse
- type UpdateRatePolicyRequest
- type UpdateRatePolicyResponse
- type UpdateSelectedHostnameRequest
- type UpdateSelectedHostnameResponse
- type UpdateSlowPostProtectionSettingRequest
- type UpdateSlowPostProtectionSettingResponse
- type UpdateWAFModeRequest
- type UpdateWAFModeResponse
- type UpdateWAFProtectionRequest
- type UpdateWAFProtectionResponse
- type WAFMode
- type WAFProtection
Constants ¶
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 ¶
var ( // ErrBadRequest is returned when a required parameter is missing ErrBadRequest = errors.New("missing argument") )
var ( // ErrStructValidation is returned returned when given struct validation failed ErrStructValidation = errors.New("struct validation") )
Functions ¶
This section is empty.
Types ¶
type APPSEC ¶
type APPSEC interface { Activations Configuration ConfigurationClone ConfigurationVersion CustomRule CustomRuleAction ExportConfiguration MatchTarget MatchTargetSequence PenaltyBox RatePolicy RatePolicyAction SecurityPolicy SecurityPolicyClone SelectedHostname SelectableHostnames SlowPostProtectionSetting WAFMode WAFProtection }
APPSEC is the appsec api interface
type ActivationConfigs ¶
type ActivationValue ¶
type ActivationValue string
ActivationValue is used to create an "enum" of possible Activation.ActivationType values
type Activations ¶
type Activations interface { //GetActivationss(ctx context.Context, params GetActivationssRequest) (*GetActivationssResponse, error) 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 BypassNetworkList ¶
BypassNetworkList ...
type ClientFunc ¶
ClientFunc is a appsec client new method, this can used for mocking
type Configuration ¶
type Configuration interface {
GetConfigurations(ctx context.Context, params GetConfigurationsRequest) (*GetConfigurationsResponse, 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 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 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 CreateConfigurationCloneRequest ¶
type CreateConfigurationCloneRequest struct { ConfigID int `json:"-"` CreateFromVersion int `json:"createFromVersion"` RuleUpdate bool `json:"ruleUpdate"` }
func (CreateConfigurationCloneRequest) Validate ¶
func (v CreateConfigurationCloneRequest) Validate() error
Validate validates GetConfigurationCloneRequest
type CreateConfigurationCloneResponse ¶
type CreateConfigurationCloneResponse 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 CreateCustomRuleRequest ¶
type CreateCustomRuleRequest struct { ConfigID int `json:"configid,omitempty"` //ID int `json:"id,omitempty"` Name string `json:"name"` Description string `json:"description"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
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"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
type CreateMatchTargetRequest ¶
type CreateMatchTargetRequest struct { Type string `json:"type"` ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` FileExtensions []string `json:"fileExtensions"` 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"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` }
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"` ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` 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"` }
CreateMatchTargetResponse is the argument for GetProperties
type CreateRatePolicyRequest ¶
type CreateRatePolicyRequest 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"` }
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:"createDate"` UpdateDate string `json:"updateDate"` Used bool `json:"used"` }
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 ¶
func (v CreateSecurityPolicyCloneRequest) Validate() error
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 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 CustomRuleResponse ¶
type CustomRuleResponse struct { ID int `json:"id,omitempty"` Name string `json:"name"` Description string `json:"description"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
type CustomRulesResponse ¶
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
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 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 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 GetConfigurationVersionsResponse ¶
type GetConfigurationVersionsResponse struct { ConfigID int `json:"configId"` ConfigName string `json:"configName"` LastCreatedVersion int `json:"lastCreatedVersion"` Page int `json:"page"` PageSize int `json:"pageSize"` TotalSize int `json:"totalSize"` VersionList []struct { ConfigID int `json:"configId"` Production struct { Status string `json:"status"` } `json:"production"` Staging struct { Status string `json:"status"` } `json:"staging"` Version int `json:"version"` BasedOn int `json:"basedOn,omitempty"` } `json:"versionList"` }
type GetConfigurationsRequest ¶
type GetConfigurationsRequest struct {
ConfigID int `json:"configId"`
}
type GetConfigurationsResponse ¶
type GetConfigurationsResponse struct { Configurations []struct { Description string `json:"description,omitempty"` FileType string `json:"fileType"` ID int `json:"id"` LatestVersion int `json:"latestVersion"` Name string `json:"name,omitempty"` StagingVersion int `json:"stagingVersion,omitempty"` TargetProduct string `json:"targetProduct"` ProductionHostnames []string `json:"productionHostnames,omitempty"` ProductionVersion int `json:"productionVersion,omitempty"` } `json:"configurations"` }
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 GetCustomRuleActionsRequest ¶
type GetCustomRuleActionsRequest struct { ConfigID int `json:"configId"` Version int `json:"version"` PolicyID string `json:"policyId"` }
func (GetCustomRuleActionsRequest) Validate ¶
func (v GetCustomRuleActionsRequest) Validate() error
Validate validates GetCustomRuleActionsRequest
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:"id,omitempty"` Name string `json:"name"` Description string `json:"description"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
type GetCustomRulesRequest ¶
type GetCustomRulesRequest struct {
ConfigID int `json:"configid,omitempty"`
}
func (GetCustomRulesRequest) Validate ¶
func (v GetCustomRulesRequest) Validate() error
Validate validates GetCustomRulesRequest
type GetCustomRulesResponse ¶
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:"createDate"` 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"` AverageThreshold int `json:"averageThreshold"` BurstThreshold int `json:"burstThreshold"` ClientIdentifier string `json:"clientIdentifier"` CreateDate time.Time `json:"createDate"` Description string `json:"description"` FileExtensions struct { PositiveMatch bool `json:"positiveMatch"` Values []string `json:"values"` } `json:"fileExtensions"` ID int `json:"id"` MatchType string `json:"matchType"` Name string `json:"name"` Path struct { PositiveMatch bool `json:"positiveMatch"` Values []string `json:"values"` } `json:"path"` PathMatchType string `json:"pathMatchType"` PathURIPositiveMatch bool `json:"pathUriPositiveMatch"` QueryParameters []struct { Name string `json:"name"` PositiveMatch bool `json:"positiveMatch"` ValueInRange bool `json:"valueInRange"` Values []string `json:"values"` } `json:"queryParameters"` RequestType string `json:"requestType"` SameActionOnIpv6 bool `json:"sameActionOnIpv6"` Type string `json:"type"` UpdateDate time.Time `json:"updateDate"` UseXForwardForHeaders bool `json:"useXForwardForHeaders"` Used bool `json:"used"` } `json:"ratePolicies"` ReputationProfiles []struct { Context string `json:"context"` ContextReadable string `json:"contextReadable"` Enabled bool `json:"enabled"` ID int `json:"id"` Name string `json:"name"` Threshold int `json:"threshold"` } `json:"reputationProfiles"` CustomRules []struct { Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value"` ValueCase bool `json:"valueCase,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` } `json:"conditions"` Description string `json:"description"` ID int `json:"id"` Name string `json:"name"` RuleActivated bool `json:"ruleActivated"` Structured bool `json:"structured"` Tag []string `json:"tag"` Version int `json:"version"` } `json:"customRules"` Rulesets []struct { ID int `json:"id"` RulesetVersionID int `json:"rulesetVersionId"` Type string `json:"type"` ReleaseDate time.Time `json:"releaseDate"` Rules []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"` } `json:"rules"` } `json:"rulesets"` MatchTargets struct { WebsiteTargets []struct { Type string `json:"type"` DefaultFile string `json:"defaultFile"` EffectiveSecurityControls struct { ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` FilePaths []string `json:"filePaths"` ID int `json:"id"` IsNegativeFileExtensionMatch bool `json:"isNegativeFileExtensionMatch"` IsNegativePathMatch bool `json:"isNegativePathMatch"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` Sequence int `json:"sequence"` } `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"` } `json:"ruleActions"` } `json:"webApplicationFirewall"` CustomRuleActions []struct { Action string `json:"action"` ID int `json:"id"` } `json:"customRuleActions"` APIRequestConstraints struct { Action string `json:"action"` } `json:"apiRequestConstraints"` RatePolicyActions []struct { ID int `json:"id"` Ipv4Action string `json:"ipv4Action"` Ipv6Action string `json:"ipv6Action"` } `json:"ratePolicyActions"` IPGeoFirewall struct { Block string `json:"block"` } `json:"ipGeoFirewall"` SlowPost struct { Action string `json:"action"` SlowRateThreshold struct { Period int `json:"period"` Rate int `json:"rate"` } `json:"slowRateThreshold"` DurationThreshold struct { Timeout int `json:"timeout"` } `json:"durationThreshold"` } `json:"slowPost"` } `json:"securityPolicies"` AdvancedOptions struct { Logging struct { AllowSampling bool `json:"allowSampling"` Cookies struct { Type string `json:"type"` } `json:"cookies"` CustomHeaders struct { Type string `json:"type"` } `json:"customHeaders"` StandardHeaders struct { Type string `json:"type"` } `json:"standardHeaders"` } `json:"logging"` Prefetch struct { AllExtensions bool `json:"allExtensions"` EnableAppLayer bool `json:"enableAppLayer"` EnableRateControls bool `json:"enableRateControls"` Extensions []string `json:"extensions"` } `json:"prefetch"` } `json:"advancedOptions"` }
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"` ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` 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"` }
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 { MatchTargets struct { APITargets []struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` Apis []struct { ID int `json:"id"` Name string `json:"name"` } `json:"apis"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"apiTargets"` WebsiteTargets []struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` IsNegativeFileExtensionMatch bool `json:"isNegativeFileExtensionMatch"` IsNegativePathMatch bool `json:"isNegativePathMatch"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` FileExtensions []string `json:"fileExtensions"` FilePaths []string `json:"filePaths"` Hostnames []interface{} `json:"hostnames"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"websiteTargets"` } `json:"matchTargets"` }
GetMatchTargetResponse ...
type GetMatchTargetSequencesRequest ¶
type GetMatchTargetSequencesRequest struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` Type string `json:"type"` }
GetMatchTargetsRequest is the argument for GetProperties
func (GetMatchTargetSequencesRequest) Validate ¶
func (v GetMatchTargetSequencesRequest) Validate() error
Validate validates GetMatchTargetSequencesRequest
type GetMatchTargetSequencesResponse ¶
type GetMatchTargetSequencesResponse struct { MatchTargets struct { APITargets []struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` Apis []struct { ID int `json:"id"` Name string `json:"name"` } `json:"apis"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"apiTargets"` WebsiteTargets []struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` IsNegativeFileExtensionMatch bool `json:"isNegativeFileExtensionMatch"` IsNegativePathMatch bool `json:"isNegativePathMatch"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` FileExtensions []string `json:"fileExtensions"` FilePaths []string `json:"filePaths"` Hostnames []interface{} `json:"hostnames"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"websiteTargets"` } `json:"matchTargets"` }
GetMatchTargetResponse ...
type GetMatchTargetsRequest ¶
type GetMatchTargetsRequest struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` }
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 { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` Apis []struct { ID int `json:"id"` Name string `json:"name"` } `json:"apis"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"apiTargets"` WebsiteTargets []struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` IsNegativeFileExtensionMatch bool `json:"isNegativeFileExtensionMatch"` IsNegativePathMatch bool `json:"isNegativePathMatch"` Sequence int `json:"sequence"` TargetID int `json:"targetId"` Type string `json:"type"` FileExtensions []string `json:"fileExtensions"` FilePaths []string `json:"filePaths"` Hostnames []interface{} `json:"hostnames"` EffectiveSecurityControls struct { ApplyAPIConstraints bool `json:"applyApiConstraints"` ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"` ApplyNetworkLayerControls bool `json:"applyNetworkLayerControls"` ApplyRateControls bool `json:"applyRateControls"` ApplyReputationControls bool `json:"applyReputationControls"` ApplySlowPostControls bool `json:"applySlowPostControls"` } `json:"effectiveSecurityControls"` SecurityPolicy struct { PolicyID string `json:"policyId"` } `json:"securityPolicy"` BypassNetworkLists []struct { Name string `json:"name"` ID string `json:"id"` } `json:"bypassNetworkLists"` } `json:"websiteTargets"` } `json:"matchTargets"` }
GetMatchTargetResponse ...
type GetMatchTargetsSequenceRequest ¶
type GetMatchTargetsSequenceRequest struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` Type string `json:"type"` }
GetMatchTargetsSequenceRequest is the argument for GetMatchTargetsSequenceRequest
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 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 GetRatePoliciesRequest ¶
type GetRatePoliciesRequest struct { ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` }
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:"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,omitempty"` Path struct { PositiveMatch bool `json:"positiveMatch"` Values []string `json:"values"` } `json:"path,omitempty"` PathMatchType string `json:"pathMatchType,omitempty"` PathURIPositiveMatch bool `json:"pathUriPositiveMatch,omitempty"` 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"` EnableActions bool `json:"enableActions,omitempty"` Used bool `json:"used"` SameActionOnIpv bool `json:"sameActionOnIpv,omitempty"` APISelectors []struct { APIDefinitionID int `json:"apiDefinitionId"` ResourceIds []int `json:"resourceIds"` } `json:"apiSelectors,omitempty"` BodyParameters []struct { Name string `json:"name"` Values []string `json:"values"` PositiveMatch bool `json:"positiveMatch"` ValueInRange bool `json:"valueInRange"` } `json:"bodyParameters,omitempty"` } `json:"ratePolicies"` }
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 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 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:"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 GetSecurityPoliciesResponse ¶
type GetSecurityPoliciesResponse 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 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"` 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 GetSecurityPolicyClonesRequest ¶
type GetSecurityPolicyClonesRequest struct { ConfigID int `json:"configId"` Version int `json:"version"` }
func (GetSecurityPolicyClonesRequest) Validate ¶
func (v GetSecurityPolicyClonesRequest) Validate() error
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 GetSelectableHostnamesResponse ¶
type GetSelectableHostnamesResponse struct { AvailableSet []struct { ActiveInProduction bool `json:"activeInProduction"` ActiveInStaging bool `json:"activeInStaging"` ArlInclusion bool `json:"arlInclusion"` Hostname string `json:"hostname"` ConfigIDInProduction int `json:"configIdInProduction,omitempty"` ConfigNameInProduction string `json:"configNameInProduction,omitempty"` } `json:"availableSet"` ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` ProtectARLInclusionHost bool `json:"protectARLInclusionHost"` }
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"`
}
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 ¶
func (v GetSlowPostProtectionSettingRequest) Validate() error
Validate validates GetSlowPostProtectionSettingRequest
type GetSlowPostProtectionSettingsRequest ¶
type GetSlowPostProtectionSettingsRequest 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 (GetSlowPostProtectionSettingsRequest) Validate ¶
func (v GetSlowPostProtectionSettingsRequest) Validate() error
Validate validates GetSlowPostProtectionSettingsRequest
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 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 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"` 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 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"` 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 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 MatchTargetSequence ¶
type MatchTargetSequence interface { GetMatchTargetSequences(ctx context.Context, params GetMatchTargetSequencesRequest) (*GetMatchTargetSequencesResponse, error) 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 NetworkValue ¶
type NetworkValue string
NetworkValue is used to create an "enum" of possible Activation.Network values
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 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 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 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 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 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"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
Name string `json:"name"` Description string `json:"description"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
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"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` 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 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:"createDate"` UpdateDate string `json:"updateDate"` Used bool `json:"used"` }
type SecurityPolicy ¶
type SecurityPolicy interface {
GetSecurityPolicies(ctx context.Context, params GetSecurityPoliciesRequest) (*GetSecurityPoliciesResponse, 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 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 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
type StatusValue ¶
type StatusValue string
StatusValue is used to create an "enum" of possible Activation.Status values
type TargetSequence ¶
BypassNetworkList ...
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 UpdateCustomRuleRequest ¶
type UpdateCustomRuleRequest struct { ConfigID int `json:"configid,omitempty"` ID int `json:"id,omitempty"` Name string `json:"name"` Description string `json:"description"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
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"` Version int `json:"version,omitempty"` RuleActivated bool `json:"ruleActivated"` Tag []string `json:"tag"` Conditions []struct { Type string `json:"type"` PositiveMatch bool `json:"positiveMatch"` Value []string `json:"value,omitempty"` ValueWildcard bool `json:"valueWildcard,omitempty"` ValueCase bool `json:"valueCase,omitempty"` NameWildcard bool `json:"nameWildcard,omitempty"` Name []string `json:"name,omitempty"` NameCase bool `json:"nameCase,omitempty"` } `json:"conditions"` }
type UpdateMatchTargetRequest ¶
type UpdateMatchTargetRequest struct { Type string `json:"type"` ConfigID int `json:"configId"` ConfigVersion int `json:"configVersion"` DefaultFile string `json:"defaultFile"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` 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"` }
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"` EffectiveSecurityControls 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"` } `json:"effectiveSecurityControls"` 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"` }
UpdateMatchTargetResponse ...
type UpdateMatchTargetSequenceRequest ¶
type UpdateMatchTargetSequenceRequest struct { ConfigID int `json:"-"` ConfigVersion int `json:"-"` Type string `json:"type"` TargetSequence []struct { TargetID int `json:"targetId"` Sequence int `json:"sequence"` } `json:"targetSequence"` }
UpdateMatchTargetRequest is the argument for GetProperties
func (UpdateMatchTargetSequenceRequest) Validate ¶
func (v UpdateMatchTargetSequenceRequest) Validate() error
Validate validates UpdateMatchTargetSequenceRequest
type UpdateMatchTargetSequenceResponse ¶
type UpdateMatchTargetSequenceResponse struct { Type string `json:"type"` TargetSequence []struct { TargetID int `json:"targetId"` Sequence int `json:"sequence"` } `json:"targetSequence"` }
UpdateMatchTargetResponse ...
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 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 UpdateRatePolicyRequest ¶
type UpdateRatePolicyRequest struct { RatePolicyID 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"` }
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:"createDate"` UpdateDate string `json:"updateDate"` Used bool `json:"used"` }
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 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 ¶
func (v UpdateSlowPostProtectionSettingRequest) Validate() error
Validate validates UpdateSlowPostProtectionSettingRequest
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 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 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
Source Files
¶
- activations.go
- appsec.go
- configuration.go
- configuration_clone.go
- configuration_version.go
- custom_rule.go
- custom_rule_action.go
- errors.go
- export_configuration.go
- match_target.go
- match_target_sequence.go
- penalty_box.go
- rate_policy.go
- rate_policy_action.go
- security_policy.go
- security_policy_clone.go
- selectable_hostnames.go
- selected_hostname.go
- slow_post_protection_setting.go
- waf_mode.go
- waf_protection.go