github.com/huaweicloud/golangsdk@v0.0.0-20210831081626-d823fe11ceba/openstack/waf/v1/policies/results.go (about) 1 package policies 2 3 import ( 4 "github.com/huaweicloud/golangsdk" 5 ) 6 7 type Policy struct { 8 //Policy ID 9 Id string `json:"id"` 10 //Policy Name 11 Name string `json:"name"` 12 //Protective Action 13 Action Action `json:"action"` 14 //Protection Switches 15 Options Options `json:"options"` 16 //Protection Level 17 Level int `json:"level"` 18 //Detection Mode 19 FullDetection bool `json:"full_detection"` 20 //Domain IDs 21 Hosts []string `json:"hosts"` 22 } 23 24 type Action struct { 25 //Protective Action 26 Category string `json:"category" required:"true"` 27 } 28 29 type Options struct { 30 //Whether Basic Web Protection is enabled 31 WebAttack *bool `json:"webattack,omitempty"` 32 //Whether General Check in Basic Web Protection is enabled 33 Common *bool `json:"common,omitempty"` 34 //Whether the master crawler detection switch in Basic Web Protection is enabled 35 Crawler *bool `json:"crawler,omitempty"` 36 //Whether the Search Engine switch in Basic Web Protection is enabled 37 CrawlerEngine *bool `json:"crawler_engine,omitempty"` 38 //Whether the Scanner switch in Basic Web Protection is enabled 39 CrawlerScanner *bool `json:"crawler_scanner,omitempty"` 40 //Whether the Script Tool switch in Basic Web Protection is enabled 41 CrawlerScript *bool `json:"crawler_script,omitempty"` 42 //Whether detection of other crawlers in Basic Web Protection is enabled 43 CrawlerOther *bool `json:"crawler_other,omitempty"` 44 //Whether webshell detection in Basic Web Protection is enabled 45 WebShell *bool `json:"webshell,omitempty"` 46 //Whether CC Attack Protection is enabled 47 Cc *bool `json:"cc,omitempty"` 48 //Whether Precise Protection is enabled 49 Custom *bool `json:"custom,omitempty"` 50 //Whether Blacklist and Whitelist is enabled 51 WhiteblackIp *bool `json:"whiteblackip,omitempty"` 52 //Whether Data Masking is enabled 53 Privacy *bool `json:"privacy,omitempty"` 54 //Whether False Alarm Masking is enabled 55 Ignore *bool `json:"ignore,omitempty"` 56 //Whether Web Tamper Protection is enabled 57 AntiTamper *bool `json:"antitamper,omitempty"` 58 } 59 60 type commonResult struct { 61 golangsdk.Result 62 } 63 64 // Extract is a function that accepts a result and extracts a policy. 65 func (r commonResult) Extract() (*Policy, error) { 66 var response Policy 67 err := r.ExtractInto(&response) 68 return &response, err 69 } 70 71 // CreateResult represents the result of a create operation. Call its Extract 72 // method to interpret it as a Policy. 73 type CreateResult struct { 74 commonResult 75 } 76 77 // UpdateResult represents the result of a update operation. Call its Extract 78 // method to interpret it as a Policy. 79 type UpdateResult struct { 80 commonResult 81 } 82 83 // GetResult represents the result of a get operation. Call its Extract 84 // method to interpret it as a Policy. 85 type GetResult struct { 86 commonResult 87 } 88 89 // DeleteResult represents the result of a delete operation. Call its ExtractErr 90 // method to determine if the request succeeded or failed. 91 type DeleteResult struct { 92 golangsdk.ErrResult 93 }