| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // Copyright 2019 Yunion
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- package compute
- import (
- "yunion.io/x/cloudmux/pkg/cloudprovider"
- "yunion.io/x/jsonutils"
- "yunion.io/x/onecloud/pkg/apis"
- )
- const (
- WAF_RULE_STATUS_AVAILABLE = "available"
- WAF_RULE_STATUS_DELETING = "deleting"
- WAF_RULE_STATUS_CREATING = "creating"
- WAF_RULE_STATUS_CREATE_FAILED = "create_failed"
- WAF_RULE_STATUS_DELETE_FAILED = "delete_failed"
- WAF_RULE_STATUS_UPDATING = "updating"
- WAF_RULE_STATUS_UPDATE_FAILED = "update_failed"
- WAF_RULE_STATUS_UNKNOWN = "unknown"
- )
- type WafRuleListInput struct {
- apis.EnabledStatusStandaloneResourceListInput
- apis.ExternalizedResourceBaseListInput
- // WAF实例Id
- WafInstanceId string `json:"waf_instance_id"`
- // WAF规则组Id
- WafRuleGroupId string `json:"waf_rule_group_id"`
- Type string `json:"type"`
- }
- type WafRuleCreateInput struct {
- apis.EnabledStatusStandaloneResourceCreateInput
- // WAF实例Id
- WafInstanceId string `json:"waf_instance_id"`
- // 规则类型
- Type string `json:"type"`
- // 规则表达式
- Expression string `json:"expression"`
- // 规则配置
- Config jsonutils.JSONObject `json:"config"`
- // 优先级,不可重复
- // Azure优先级范围1-100
- Priority int `json:"priority"`
- // 匹配后默认行为
- Action *cloudprovider.DefaultAction `json:"action"`
- // enmu: and, or, not
- StatementCondition string `json:"statement_condition"`
- // swagger:ignore
- // WAF规则组Id
- WafRuleGroupId string `json:"waf_rule_group_id"`
- // 条件表达式
- Statements []cloudprovider.SWafStatement `json:"statements"`
- }
- type WafRuleDetails struct {
- apis.EnabledStatusStandaloneResourceDetails
- SWafRule
- Statements []cloudprovider.SWafStatement `json:"statements"`
- }
- type WafRuleUpdateInput struct {
- apis.EnabledStatusStandaloneResourceBaseUpdateInput
- // 规则表达式
- Expression string `json:"expression"`
- // 规则配置
- Config jsonutils.JSONObject `json:"config"`
- // 匹配后默认行为
- Action *cloudprovider.DefaultAction `json:"action"`
- // 优先级
- Priority *int `json:"priority"`
- // 条件表达式
- Statements []cloudprovider.SWafStatement `json:"statements"`
- }
- type WafRuleEnableInput struct {
- apis.PerformEnableInput
- }
- type WafRuleDisableInput struct {
- apis.PerformDisableInput
- }
|