diff --git a/docs/wafd/api-ref/ALL_META.TXT.json b/docs/wafd/api-ref/ALL_META.TXT.json new file mode 100644 index 00000000..5c2c2f53 --- /dev/null +++ b/docs/wafd/api-ref/ALL_META.TXT.json @@ -0,0 +1,762 @@ +[ + { + "uri":"waf_02_0001.html", + "product_code":"dwaf", + "code":"1", + "des":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "doc_type":"api", + "kw":"API Usage Guidelines,API Reference", + "title":"API Usage Guidelines", + "githuburl":"" + }, + { + "uri":"waf_02_0007.html", + "product_code":"dwaf", + "code":"2", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"APIs", + "title":"APIs", + "githuburl":"" + }, + { + "uri":"topic_300000000.html", + "product_code":"dwaf", + "code":"3", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Dedicated Instance Management", + "title":"Dedicated Instance Management", + "githuburl":"" + }, + { + "uri":"CreateInstance.html", + "product_code":"dwaf", + "code":"4", + "des":"This API is used to create a dedicated WAF enginePOST /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 20", + "doc_type":"api", + "kw":"Creating a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Creating a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"ListInstance.html", + "product_code":"dwaf", + "code":"5", + "des":"This API is used to query the list of dedicated WAF engines.GET /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Statu", + "doc_type":"api", + "kw":"Querying the List of Dedicated WAF Engines,Dedicated Instance Management,API Reference", + "title":"Querying the List of Dedicated WAF Engines", + "githuburl":"" + }, + { + "uri":"ShowInstance.html", + "product_code":"dwaf", + "code":"6", + "des":"This API is used to query details about a dedicated WAF engine.GET /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Stat", + "doc_type":"api", + "kw":"Querying Details about a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Querying Details about a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"RenameInstance.html", + "product_code":"dwaf", + "code":"7", + "des":"This API is used to rename a dedicated WAF enginePUT /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Renaming a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Renaming a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"DeleteInstance.html", + "product_code":"dwaf", + "code":"8", + "des":"This API is used to delete a dedicated WAF engine.DELETE /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 5", + "doc_type":"api", + "kw":"Deleting a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Deleting a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"UpgradeInstance.html", + "product_code":"dwaf", + "code":"9", + "des":"This API is used to operate a dedicated WAF instance.POST /v1/{project_id}/premium-waf/instance/{instance_id}/actionStatus code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Operations on a Dedicated WAF Instance,Dedicated Instance Management,API Reference", + "title":"Operations on a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"topic_300000001.html", + "product_code":"dwaf", + "code":"10", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Managing Websites Protected in Dedicated Mode", + "title":"Managing Websites Protected in Dedicated Mode", + "githuburl":"" + }, + { + "uri":"CreatePremiumHost.html", + "product_code":"dwaf", + "code":"11", + "des":"Adding a Protected Domain NamePOST /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succeeded.See ", + "doc_type":"api", + "kw":"Adding a Protected Domain Name,Managing Websites Protected in Dedicated Mode,API Reference", + "title":"Adding a Protected Domain Name", + "githuburl":"" + }, + { + "uri":"ListPremiumHost.html", + "product_code":"dwaf", + "code":"12", + "des":"Querying Domain Names Protected by Dedicated WAF EnginesGET /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Querying Domain Names Protected by Dedicated WAF Engines,Managing Websites Protected in Dedicated Mo", + "title":"Querying Domain Names Protected by Dedicated WAF Engines", + "githuburl":"" + }, + { + "uri":"ShowPremiumHost.html", + "product_code":"dwaf", + "code":"13", + "des":"This API is used to query domain name settings in dedicated mode.GET /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401Status cod", + "doc_type":"api", + "kw":"Querying Domain Name Settings in Dedicated Mode,Managing Websites Protected in Dedicated Mode,API Re", + "title":"Querying Domain Name Settings in Dedicated Mode", + "githuburl":"" + }, + { + "uri":"UpdatePremiumHost.html", + "product_code":"dwaf", + "code":"14", + "des":"This API is used to modify a domain name protected by a dedicated WAF instance.PUT /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code:", + "doc_type":"api", + "kw":"Modifying a Domain Name Protected by a Dedicated WAF Instance,Managing Websites Protected in Dedicat", + "title":"Modifying a Domain Name Protected by a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"DeletePremiumHost.html", + "product_code":"dwaf", + "code":"15", + "des":"This API is used to delete a domain name from a dedicated WAF instance.DELETE /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401S", + "doc_type":"api", + "kw":"Deleting a Domain Name from a Dedicated WAF Instance,Managing Websites Protected in Dedicated Mode,A", + "title":"Deleting a Domain Name from a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"topic_300000002.html", + "product_code":"dwaf", + "code":"16", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Policy Management", + "title":"Policy Management", + "githuburl":"" + }, + { + "uri":"ListPolicy.html", + "product_code":"dwaf", + "code":"17", + "des":"This API is used to query the list of protection policies.GET /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200R", + "doc_type":"api", + "kw":"Querying Protection Policies,Policy Management,API Reference", + "title":"Querying Protection Policies", + "githuburl":"" + }, + { + "uri":"CreatePolicy.html", + "product_code":"dwaf", + "code":"18", + "des":"This API is used to create a policyPOST /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 403Status code: 500Status code: 200okSee E", + "doc_type":"api", + "kw":"Creating a Policy,Policy Management,API Reference", + "title":"Creating a Policy", + "githuburl":"" + }, + { + "uri":"ShowPolicy.html", + "product_code":"dwaf", + "code":"19", + "des":"This API is used to query a policy by ID.GET /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Reques", + "doc_type":"api", + "kw":"Querying a Policy by ID,Policy Management,API Reference", + "title":"Querying a Policy by ID", + "githuburl":"" + }, + { + "uri":"UpdatePolicy.html", + "product_code":"dwaf", + "code":"20", + "des":"This API is used to update a policy. The request body can contain only the part to be updated.PATCH /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 40", + "doc_type":"api", + "kw":"Updating a Policy,Policy Management,API Reference", + "title":"Updating a Policy", + "githuburl":"" + }, + { + "uri":"DeletePolicy.html", + "product_code":"dwaf", + "code":"21", + "des":"This API is used to delete a policy.DELETE /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request ", + "doc_type":"api", + "kw":"Deleting a Policy,Policy Management,API Reference", + "title":"Deleting a Policy", + "githuburl":"" + }, + { + "uri":"topic_300000003.html", + "product_code":"dwaf", + "code":"22", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Rule Management", + "title":"Rule Management", + "githuburl":"" + }, + { + "uri":"ListWhiteblackipRule.html", + "product_code":"dwaf", + "code":"23", + "des":"This API is used to query the list of blacklist and whitelist rules.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 4", + "doc_type":"api", + "kw":"Querying the Blacklist and Whitelist Rule List,Rule Management,API Reference", + "title":"Querying the Blacklist and Whitelist Rule List", + "githuburl":"" + }, + { + "uri":"CreateWhiteblackipRule.html", + "product_code":"dwaf", + "code":"24", + "des":"his API is used to create a blacklist or whitelist rule.POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Creating a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Creating a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"ShowWhiteblackipRule.html", + "product_code":"dwaf", + "code":"25", + "des":"This API is used to query a blacklist or whitelist rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Status cod", + "doc_type":"api", + "kw":"Querying a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Querying a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"UpdateWhiteblackipRule.html", + "product_code":"dwaf", + "code":"26", + "des":"This API is used to update an IP address blacklist or whitelist rule.PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Sta", + "doc_type":"api", + "kw":"Updating a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Updating a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"DeleteWhiteBlackIpRule.html", + "product_code":"dwaf", + "code":"27", + "des":"This API is used to delete an IP address blacklist or whitelist rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400", + "doc_type":"api", + "kw":"Deleting a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Deleting a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"ListCcRules.html", + "product_code":"dwaf", + "code":"28", + "des":"This API is used to query the list of CC attack protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Querying CC Attack Protection Rules,Rule Management,API Reference", + "title":"Querying CC Attack Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateCcRule.html", + "product_code":"dwaf", + "code":"29", + "des":"This API is used to create a CC attack protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code: 500Stat", + "doc_type":"api", + "kw":"Creating a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Creating a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowCcRule.html", + "product_code":"dwaf", + "code":"30", + "des":"This API is used to query a CC attack protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Querying a CC Attack Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a CC Attack Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdateCcRule.html", + "product_code":"dwaf", + "code":"31", + "des":"This API is used to update a CC attack protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Updating a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Updating a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"DeleteCcRule.html", + "product_code":"dwaf", + "code":"32", + "des":"This API is used to delete a CC attack protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status c", + "doc_type":"api", + "kw":"Deleting a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Deleting a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"ListCustomRules.html", + "product_code":"dwaf", + "code":"33", + "des":"This API is used to query the list of precise protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying Precise Protection Rules,Rule Management,API Reference", + "title":"Querying Precise Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateCustomRules.html", + "product_code":"dwaf", + "code":"34", + "des":"This API is used to create a precise protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Creating a Precise Protection Rule,Rule Management,API Reference", + "title":"Creating a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowCustomRule.html", + "product_code":"dwaf", + "code":"35", + "des":"This API is used to query a precise protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Stat", + "doc_type":"api", + "kw":"Querying a Precise Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a Precise Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdateCustomRule.html", + "product_code":"dwaf", + "code":"36", + "des":"This API is used to update a precise protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Updating a Precise Protection Rule,Rule Management,API Reference", + "title":"Updating a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"DeleteCustomRule.html", + "product_code":"dwaf", + "code":"37", + "des":"This API is used to delete a precise protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Deleting a Precise Protection Rule,Rule Management,API Reference", + "title":"Deleting a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"ListPrivacyRules.html", + "product_code":"dwaf", + "code":"38", + "des":"This API is used to query the data masking rule list.GET /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Querying the Data Masking Rule List,Rule Management,API Reference", + "title":"Querying the Data Masking Rule List", + "githuburl":"" + }, + { + "uri":"CreatePrivacyRules.html", + "product_code":"dwaf", + "code":"39", + "des":"Creating a Data Masking RulePOST /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request su", + "doc_type":"api", + "kw":"Creating a Data Masking Rule,Rule Management,API Reference", + "title":"Creating a Data Masking Rule", + "githuburl":"" + }, + { + "uri":"ShowPrivacyRule.html", + "product_code":"dwaf", + "code":"40", + "des":"This API is used to query a data masking rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying a Data Masking Rule by ID,Rule Management,API Reference", + "title":"Querying a Data Masking Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdatePrivacyRule.html", + "product_code":"dwaf", + "code":"41", + "des":"This API is used to update the data masking rule list.PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status ", + "doc_type":"api", + "kw":"Updating the Data Masking Rule List,Rule Management,API Reference", + "title":"Updating the Data Masking Rule List", + "githuburl":"" + }, + { + "uri":"DeletePrivacyRule.html", + "product_code":"dwaf", + "code":"42", + "des":"This API is used to delete a data masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 400Status code: 401Status code: 500Status code", + "doc_type":"api", + "kw":"Deleting a Data Masking Rule,Rule Management,API Reference", + "title":"Deleting a Data Masking Rule", + "githuburl":"" + }, + { + "uri":"ListAntitamperRules.html", + "product_code":"dwaf", + "code":"43", + "des":"This api is used to query the list of web tamper protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Querying the List of Web Tamper Protection Rules,Rule Management,API Reference", + "title":"Querying the List of Web Tamper Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateAntitamperRule.html", + "product_code":"dwaf", + "code":"44", + "des":"This API is used to create a web tamper protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Creating a Web Tamper Protection Rule,Rule Management,API Reference", + "title":"Creating a Web Tamper Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowAntitamperRule.html", + "product_code":"dwaf", + "code":"45", + "des":"This API is used to query a web tamper protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: ", + "doc_type":"api", + "kw":"Querying a Web Tamper Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a Web Tamper Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"DeleteAntitamperRule.html", + "product_code":"dwaf", + "code":"46", + "des":"This API is used to delete a web tamper protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: 40", + "doc_type":"api", + "kw":"Deleting a Web Tamper Protection Rule,Rule Management,API Reference", + "title":"Deleting a Web Tamper Protection Rule", + "githuburl":"" + }, + { + "uri":"ListIgnoreRules.html", + "product_code":"dwaf", + "code":"47", + "des":"This API is used to query the list of false alarm masking rules.GET /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status c", + "doc_type":"api", + "kw":"Querying the False Alarm Masking Rule List,Rule Management,API Reference", + "title":"Querying the False Alarm Masking Rule List", + "githuburl":"" + }, + { + "uri":"CreateIgnoreRule.html", + "product_code":"dwaf", + "code":"48", + "des":"This API is used to create a false alarm masking rule.POST /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status code: 500S", + "doc_type":"api", + "kw":"Creating a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Creating a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"ShowIgnoreRule.html", + "product_code":"dwaf", + "code":"49", + "des":"This API is used to query a false alarm masking rule.GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Querying a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"DeleteIgnoreRule.html", + "product_code":"dwaf", + "code":"50", + "des":"This API is used to query a false alarm masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Deleting a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Deleting a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"ListGeoipRule.html", + "product_code":"dwaf", + "code":"51", + "des":"This API is used to query the list of geolocation access control rules.GET /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Querying the List of Geolocation Access Control Rules,Rule Management,API Reference", + "title":"Querying the List of Geolocation Access Control Rules", + "githuburl":"" + }, + { + "uri":"CreateGeoipRule.html", + "product_code":"dwaf", + "code":"52", + "des":"This API is used to create a geolocation access control rule.POST /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Creating a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Creating a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"UpdateGeoipRule.html", + "product_code":"dwaf", + "code":"53", + "des":"This API is used to update a geolocation access control rule.PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Updating a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Updating a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"DeleteGeoipRule.html", + "product_code":"dwaf", + "code":"54", + "des":"This API is used to delete a geolocation access control rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 40", + "doc_type":"api", + "kw":"Deleting a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Deleting a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"UpdatePolicyRuleStatus.html", + "product_code":"dwaf", + "code":"55", + "des":"This API is used to change the status of a policy rule.PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/statusStatus code: 400Status code: 401Status code:", + "doc_type":"api", + "kw":"Changing the Status of a Policy Rule,Rule Management,API Reference", + "title":"Changing the Status of a Policy Rule", + "githuburl":"" + }, + { + "uri":"ListValueList.html", + "product_code":"dwaf", + "code":"56", + "des":"This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how ", + "doc_type":"api", + "kw":"Querying the Reference Table List,Rule Management,API Reference", + "title":"Querying the Reference Table List", + "githuburl":"" + }, + { + "uri":"CreateValueList.html", + "product_code":"dwaf", + "code":"57", + "des":"This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use", + "doc_type":"api", + "kw":"Adding a Reference Table,Rule Management,API Reference", + "title":"Adding a Reference Table", + "githuburl":"" + }, + { + "uri":"UpdateValueList.html", + "product_code":"dwaf", + "code":"58", + "des":"This API is used to modify a reference table.PUT /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Modifying a Reference Table,Rule Management,API Reference", + "title":"Modifying a Reference Table", + "githuburl":"" + }, + { + "uri":"DeleteValueList.html", + "product_code":"dwaf", + "code":"59", + "des":"This API is used to delete a reference table.DELETE /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status cod", + "doc_type":"api", + "kw":"Deleting a Reference Table,Rule Management,API Reference", + "title":"Deleting a Reference Table", + "githuburl":"" + }, + { + "uri":"topic_300000004.html", + "product_code":"dwaf", + "code":"60", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Certificate Management", + "title":"Certificate Management", + "githuburl":"" + }, + { + "uri":"ListCertificates.html", + "product_code":"dwaf", + "code":"61", + "des":"This API is used to query the certificate list.GET /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request", + "doc_type":"api", + "kw":"Querying the Certificate List,Certificate Management,API Reference", + "title":"Querying the Certificate List", + "githuburl":"" + }, + { + "uri":"CreateCertificate.html", + "product_code":"dwaf", + "code":"62", + "des":"This API is used to create a certificate.POST /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succ", + "doc_type":"api", + "kw":"Creating a Certificate,Certificate Management,API Reference", + "title":"Creating a Certificate", + "githuburl":"" + }, + { + "uri":"ShowCertificate.html", + "product_code":"dwaf", + "code":"63", + "des":"This API is used to query a certificate.GET /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Querying a Certificate,Certificate Management,API Reference", + "title":"Querying a Certificate", + "githuburl":"" + }, + { + "uri":"DeleteCertificate.html", + "product_code":"dwaf", + "code":"64", + "des":"This API is used to delete a certificate.DELETE /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status co", + "doc_type":"api", + "kw":"Deleting a Certificate,Certificate Management,API Reference", + "title":"Deleting a Certificate", + "githuburl":"" + }, + { + "uri":"topic_300000005.html", + "product_code":"dwaf", + "code":"65", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Dashboard", + "title":"Dashboard", + "githuburl":"" + }, + { + "uri":"ListStatistics.html", + "product_code":"dwaf", + "code":"66", + "des":"This API is used to query website request statistics.GET /v1/{project_id}/waf/overviews/statisticsStatus code: 200Status code: 400Status code: 401Status code: 500Status c", + "doc_type":"api", + "kw":"Querying Website Request Statistics,Dashboard,API Reference", + "title":"Querying Website Request Statistics", + "githuburl":"" + }, + { + "uri":"ListQpsTimeline.html", + "product_code":"dwaf", + "code":"67", + "des":"This API is used to query the website QPS statistics.GET /v1/{project_id}/waf/overviews/qps/timelineStatus code: 200Status code: 400Status code: 401Status code: 500Status", + "doc_type":"api", + "kw":"Querying the QPS Statistics,Dashboard,API Reference", + "title":"Querying the QPS Statistics", + "githuburl":"" + }, + { + "uri":"ListBandwidthTimeline.html", + "product_code":"dwaf", + "code":"68", + "des":"This API is used to query bandwidth usage statistics.GET /v1/{project_id}/waf/overviews/bandwidth/timelineStatus code: 200Status code: 400Status code: 401Status code: 500", + "doc_type":"api", + "kw":"Querying Bandwidth Usage Statistics,Dashboard,API Reference", + "title":"Querying Bandwidth Usage Statistics", + "githuburl":"" + }, + { + "uri":"topic_300000006.html", + "product_code":"dwaf", + "code":"69", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Event Management", + "title":"Event Management", + "githuburl":"" + }, + { + "uri":"ListEvent.html", + "product_code":"dwaf", + "code":"70", + "des":"This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.GET /v", + "doc_type":"api", + "kw":"Querying the List of Attack Events,Event Management,API Reference", + "title":"Querying the List of Attack Events", + "githuburl":"" + }, + { + "uri":"ShowEvent.html", + "product_code":"dwaf", + "code":"71", + "des":"This API is used to query the details about an attack event.GET /v1/{project_id}/waf/event/{eventid}Status code: 200Status code: 400Status code: 401Status code: 500Status", + "doc_type":"api", + "kw":"Querying Attack Event Details,Event Management,API Reference", + "title":"Querying Attack Event Details", + "githuburl":"" + }, + { + "uri":"waf_02_0084.html", + "product_code":"dwaf", + "code":"72", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"waf_02_0085.html", + "product_code":"dwaf", + "code":"73", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Status Codes,Appendix,API Reference", + "title":"Status Codes", + "githuburl":"" + }, + { + "uri":"ErrorCode.html", + "product_code":"dwaf", + "code":"74", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Error Codes,Appendix,API Reference", + "title":"Error Codes", + "githuburl":"" + }, + { + "uri":"waf_02_0086.html", + "product_code":"dwaf", + "code":"75", + "des":"Character Set Specifications for KeyThe key cannot be left blank or be an empty string.In Deutsche Telekom, a tag key can contain uppercase letters, lowercase letters, di", + "doc_type":"api", + "kw":"Character Set Specifications,Appendix,API Reference", + "title":"Character Set Specifications", + "githuburl":"" + }, + { + "uri":"waf_02_0087.html", + "product_code":"dwaf", + "code":"76", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/wafd/api-ref/CLASS.TXT.json b/docs/wafd/api-ref/CLASS.TXT.json new file mode 100644 index 00000000..70c5aada --- /dev/null +++ b/docs/wafd/api-ref/CLASS.TXT.json @@ -0,0 +1,686 @@ +[ + { + "desc":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "product_code":"dwaf", + "title":"API Usage Guidelines", + "uri":"waf_02_0001.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"APIs", + "uri":"waf_02_0007.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Dedicated Instance Management", + "uri":"topic_300000000.html", + "doc_type":"api", + "p_code":"2", + "code":"3" + }, + { + "desc":"This API is used to create a dedicated WAF enginePOST /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 20", + "product_code":"dwaf", + "title":"Creating a Dedicated WAF Engine", + "uri":"CreateInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"4" + }, + { + "desc":"This API is used to query the list of dedicated WAF engines.GET /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Statu", + "product_code":"dwaf", + "title":"Querying the List of Dedicated WAF Engines", + "uri":"ListInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"5" + }, + { + "desc":"This API is used to query details about a dedicated WAF engine.GET /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Stat", + "product_code":"dwaf", + "title":"Querying Details about a Dedicated WAF Engine", + "uri":"ShowInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"6" + }, + { + "desc":"This API is used to rename a dedicated WAF enginePUT /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Renaming a Dedicated WAF Engine", + "uri":"RenameInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"7" + }, + { + "desc":"This API is used to delete a dedicated WAF engine.DELETE /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 5", + "product_code":"dwaf", + "title":"Deleting a Dedicated WAF Engine", + "uri":"DeleteInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"8" + }, + { + "desc":"This API is used to operate a dedicated WAF instance.POST /v1/{project_id}/premium-waf/instance/{instance_id}/actionStatus code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Operations on a Dedicated WAF Instance", + "uri":"UpgradeInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"9" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Managing Websites Protected in Dedicated Mode", + "uri":"topic_300000001.html", + "doc_type":"api", + "p_code":"2", + "code":"10" + }, + { + "desc":"Adding a Protected Domain NamePOST /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succeeded.See ", + "product_code":"dwaf", + "title":"Adding a Protected Domain Name", + "uri":"CreatePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"11" + }, + { + "desc":"Querying Domain Names Protected by Dedicated WAF EnginesGET /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Querying Domain Names Protected by Dedicated WAF Engines", + "uri":"ListPremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"12" + }, + { + "desc":"This API is used to query domain name settings in dedicated mode.GET /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401Status cod", + "product_code":"dwaf", + "title":"Querying Domain Name Settings in Dedicated Mode", + "uri":"ShowPremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"13" + }, + { + "desc":"This API is used to modify a domain name protected by a dedicated WAF instance.PUT /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code:", + "product_code":"dwaf", + "title":"Modifying a Domain Name Protected by a Dedicated WAF Instance", + "uri":"UpdatePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"14" + }, + { + "desc":"This API is used to delete a domain name from a dedicated WAF instance.DELETE /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401S", + "product_code":"dwaf", + "title":"Deleting a Domain Name from a Dedicated WAF Instance", + "uri":"DeletePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"15" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Policy Management", + "uri":"topic_300000002.html", + "doc_type":"api", + "p_code":"2", + "code":"16" + }, + { + "desc":"This API is used to query the list of protection policies.GET /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200R", + "product_code":"dwaf", + "title":"Querying Protection Policies", + "uri":"ListPolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"17" + }, + { + "desc":"This API is used to create a policyPOST /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 403Status code: 500Status code: 200okSee E", + "product_code":"dwaf", + "title":"Creating a Policy", + "uri":"CreatePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"18" + }, + { + "desc":"This API is used to query a policy by ID.GET /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Reques", + "product_code":"dwaf", + "title":"Querying a Policy by ID", + "uri":"ShowPolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"19" + }, + { + "desc":"This API is used to update a policy. The request body can contain only the part to be updated.PATCH /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 40", + "product_code":"dwaf", + "title":"Updating a Policy", + "uri":"UpdatePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"20" + }, + { + "desc":"This API is used to delete a policy.DELETE /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request ", + "product_code":"dwaf", + "title":"Deleting a Policy", + "uri":"DeletePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"21" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Rule Management", + "uri":"topic_300000003.html", + "doc_type":"api", + "p_code":"2", + "code":"22" + }, + { + "desc":"This API is used to query the list of blacklist and whitelist rules.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 4", + "product_code":"dwaf", + "title":"Querying the Blacklist and Whitelist Rule List", + "uri":"ListWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"23" + }, + { + "desc":"his API is used to create a blacklist or whitelist rule.POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Creating a Blacklist or Whitelist Rule", + "uri":"CreateWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"24" + }, + { + "desc":"This API is used to query a blacklist or whitelist rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Status cod", + "product_code":"dwaf", + "title":"Querying a Blacklist or Whitelist Rule", + "uri":"ShowWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"25" + }, + { + "desc":"This API is used to update an IP address blacklist or whitelist rule.PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Sta", + "product_code":"dwaf", + "title":"Updating a Blacklist or Whitelist Rule", + "uri":"UpdateWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"26" + }, + { + "desc":"This API is used to delete an IP address blacklist or whitelist rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400", + "product_code":"dwaf", + "title":"Deleting a Blacklist or Whitelist Rule", + "uri":"DeleteWhiteBlackIpRule.html", + "doc_type":"api", + "p_code":"22", + "code":"27" + }, + { + "desc":"This API is used to query the list of CC attack protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Querying CC Attack Protection Rules", + "uri":"ListCcRules.html", + "doc_type":"api", + "p_code":"22", + "code":"28" + }, + { + "desc":"This API is used to create a CC attack protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code: 500Stat", + "product_code":"dwaf", + "title":"Creating a CC Attack Protection Rule", + "uri":"CreateCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"29" + }, + { + "desc":"This API is used to query a CC attack protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Querying a CC Attack Protection Rule by ID", + "uri":"ShowCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"30" + }, + { + "desc":"This API is used to update a CC attack protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Updating a CC Attack Protection Rule", + "uri":"UpdateCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"31" + }, + { + "desc":"This API is used to delete a CC attack protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status c", + "product_code":"dwaf", + "title":"Deleting a CC Attack Protection Rule", + "uri":"DeleteCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"32" + }, + { + "desc":"This API is used to query the list of precise protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying Precise Protection Rules", + "uri":"ListCustomRules.html", + "doc_type":"api", + "p_code":"22", + "code":"33" + }, + { + "desc":"This API is used to create a precise protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Creating a Precise Protection Rule", + "uri":"CreateCustomRules.html", + "doc_type":"api", + "p_code":"22", + "code":"34" + }, + { + "desc":"This API is used to query a precise protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Stat", + "product_code":"dwaf", + "title":"Querying a Precise Protection Rule by ID", + "uri":"ShowCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"35" + }, + { + "desc":"This API is used to update a precise protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Updating a Precise Protection Rule", + "uri":"UpdateCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"36" + }, + { + "desc":"This API is used to delete a precise protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Deleting a Precise Protection Rule", + "uri":"DeleteCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"37" + }, + { + "desc":"This API is used to query the data masking rule list.GET /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Querying the Data Masking Rule List", + "uri":"ListPrivacyRules.html", + "doc_type":"api", + "p_code":"22", + "code":"38" + }, + { + "desc":"Creating a Data Masking RulePOST /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request su", + "product_code":"dwaf", + "title":"Creating a Data Masking Rule", + "uri":"CreatePrivacyRules.html", + "doc_type":"api", + "p_code":"22", + "code":"39" + }, + { + "desc":"This API is used to query a data masking rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying a Data Masking Rule by ID", + "uri":"ShowPrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"40" + }, + { + "desc":"This API is used to update the data masking rule list.PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status ", + "product_code":"dwaf", + "title":"Updating the Data Masking Rule List", + "uri":"UpdatePrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"41" + }, + { + "desc":"This API is used to delete a data masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 400Status code: 401Status code: 500Status code", + "product_code":"dwaf", + "title":"Deleting a Data Masking Rule", + "uri":"DeletePrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"42" + }, + { + "desc":"This api is used to query the list of web tamper protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Querying the List of Web Tamper Protection Rules", + "uri":"ListAntitamperRules.html", + "doc_type":"api", + "p_code":"22", + "code":"43" + }, + { + "desc":"This API is used to create a web tamper protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Creating a Web Tamper Protection Rule", + "uri":"CreateAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"44" + }, + { + "desc":"This API is used to query a web tamper protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: ", + "product_code":"dwaf", + "title":"Querying a Web Tamper Protection Rule by ID", + "uri":"ShowAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"45" + }, + { + "desc":"This API is used to delete a web tamper protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: 40", + "product_code":"dwaf", + "title":"Deleting a Web Tamper Protection Rule", + "uri":"DeleteAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"46" + }, + { + "desc":"This API is used to query the list of false alarm masking rules.GET /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status c", + "product_code":"dwaf", + "title":"Querying the False Alarm Masking Rule List", + "uri":"ListIgnoreRules.html", + "doc_type":"api", + "p_code":"22", + "code":"47" + }, + { + "desc":"This API is used to create a false alarm masking rule.POST /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status code: 500S", + "product_code":"dwaf", + "title":"Creating a False Alarm Masking Rule", + "uri":"CreateIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"48" + }, + { + "desc":"This API is used to query a false alarm masking rule.GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying a False Alarm Masking Rule", + "uri":"ShowIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"49" + }, + { + "desc":"This API is used to query a false alarm masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Deleting a False Alarm Masking Rule", + "uri":"DeleteIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"50" + }, + { + "desc":"This API is used to query the list of geolocation access control rules.GET /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Querying the List of Geolocation Access Control Rules", + "uri":"ListGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"51" + }, + { + "desc":"This API is used to create a geolocation access control rule.POST /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Creating a Geolocation Access Control Rule", + "uri":"CreateGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"52" + }, + { + "desc":"This API is used to update a geolocation access control rule.PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Updating a Geolocation Access Control Rule", + "uri":"UpdateGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"53" + }, + { + "desc":"This API is used to delete a geolocation access control rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 40", + "product_code":"dwaf", + "title":"Deleting a Geolocation Access Control Rule", + "uri":"DeleteGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"54" + }, + { + "desc":"This API is used to change the status of a policy rule.PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/statusStatus code: 400Status code: 401Status code:", + "product_code":"dwaf", + "title":"Changing the Status of a Policy Rule", + "uri":"UpdatePolicyRuleStatus.html", + "doc_type":"api", + "p_code":"22", + "code":"55" + }, + { + "desc":"This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how ", + "product_code":"dwaf", + "title":"Querying the Reference Table List", + "uri":"ListValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"56" + }, + { + "desc":"This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use", + "product_code":"dwaf", + "title":"Adding a Reference Table", + "uri":"CreateValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"57" + }, + { + "desc":"This API is used to modify a reference table.PUT /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Modifying a Reference Table", + "uri":"UpdateValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"58" + }, + { + "desc":"This API is used to delete a reference table.DELETE /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status cod", + "product_code":"dwaf", + "title":"Deleting a Reference Table", + "uri":"DeleteValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"59" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Certificate Management", + "uri":"topic_300000004.html", + "doc_type":"api", + "p_code":"2", + "code":"60" + }, + { + "desc":"This API is used to query the certificate list.GET /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request", + "product_code":"dwaf", + "title":"Querying the Certificate List", + "uri":"ListCertificates.html", + "doc_type":"api", + "p_code":"60", + "code":"61" + }, + { + "desc":"This API is used to create a certificate.POST /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succ", + "product_code":"dwaf", + "title":"Creating a Certificate", + "uri":"CreateCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"62" + }, + { + "desc":"This API is used to query a certificate.GET /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Querying a Certificate", + "uri":"ShowCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"63" + }, + { + "desc":"This API is used to delete a certificate.DELETE /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status co", + "product_code":"dwaf", + "title":"Deleting a Certificate", + "uri":"DeleteCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"64" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Dashboard", + "uri":"topic_300000005.html", + "doc_type":"api", + "p_code":"2", + "code":"65" + }, + { + "desc":"This API is used to query website request statistics.GET /v1/{project_id}/waf/overviews/statisticsStatus code: 200Status code: 400Status code: 401Status code: 500Status c", + "product_code":"dwaf", + "title":"Querying Website Request Statistics", + "uri":"ListStatistics.html", + "doc_type":"api", + "p_code":"65", + "code":"66" + }, + { + "desc":"This API is used to query the website QPS statistics.GET /v1/{project_id}/waf/overviews/qps/timelineStatus code: 200Status code: 400Status code: 401Status code: 500Status", + "product_code":"dwaf", + "title":"Querying the QPS Statistics", + "uri":"ListQpsTimeline.html", + "doc_type":"api", + "p_code":"65", + "code":"67" + }, + { + "desc":"This API is used to query bandwidth usage statistics.GET /v1/{project_id}/waf/overviews/bandwidth/timelineStatus code: 200Status code: 400Status code: 401Status code: 500", + "product_code":"dwaf", + "title":"Querying Bandwidth Usage Statistics", + "uri":"ListBandwidthTimeline.html", + "doc_type":"api", + "p_code":"65", + "code":"68" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Event Management", + "uri":"topic_300000006.html", + "doc_type":"api", + "p_code":"2", + "code":"69" + }, + { + "desc":"This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.GET /v", + "product_code":"dwaf", + "title":"Querying the List of Attack Events", + "uri":"ListEvent.html", + "doc_type":"api", + "p_code":"69", + "code":"70" + }, + { + "desc":"This API is used to query the details about an attack event.GET /v1/{project_id}/waf/event/{eventid}Status code: 200Status code: 400Status code: 401Status code: 500Status", + "product_code":"dwaf", + "title":"Querying Attack Event Details", + "uri":"ShowEvent.html", + "doc_type":"api", + "p_code":"69", + "code":"71" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Appendix", + "uri":"waf_02_0084.html", + "doc_type":"api", + "p_code":"", + "code":"72" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Status Codes", + "uri":"waf_02_0085.html", + "doc_type":"api", + "p_code":"72", + "code":"73" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Error Codes", + "uri":"ErrorCode.html", + "doc_type":"api", + "p_code":"72", + "code":"74" + }, + { + "desc":"Character Set Specifications for KeyThe key cannot be left blank or be an empty string.In Deutsche Telekom, a tag key can contain uppercase letters, lowercase letters, di", + "product_code":"dwaf", + "title":"Character Set Specifications", + "uri":"waf_02_0086.html", + "doc_type":"api", + "p_code":"72", + "code":"75" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Change History", + "uri":"waf_02_0087.html", + "doc_type":"api", + "p_code":"", + "code":"76" + } +] \ No newline at end of file diff --git a/docs/wafd/api-ref/CreateAntitamperRule.html b/docs/wafd/api-ref/CreateAntitamperRule.html new file mode 100644 index 00000000..ba8d8cb7 --- /dev/null +++ b/docs/wafd/api-ref/CreateAntitamperRule.html @@ -0,0 +1,321 @@ + + +

Creating a Web Tamper Protection Rule

+

Function

This API is used to create a web tamper protection rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/antitamper

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

hostname

+

Yes

+

String

+

Protected website. It can be obtained by calling the ListHost API in cloud mode (the value of the hostname field in the response body).

+

url

+

Yes

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin

+

description

+

No

+

String

+

Rule description

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Timestamp

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

hostname

+

String

+

Domain name protected by the web tamper protection rule

+

url

+

String

+

URL for the web tamper protection rule.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper?enterprise_project_id=0
+
+{
+  "hostname" : "www.domain.com",
+  "url" : "/login",
+  "description" : ""
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "description" : "",
+  "hostname" : "www.domain.com",
+  "id" : "0f59185b76c143f884d21cd0d88e6fa8",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656506256928,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateCcRule.html b/docs/wafd/api-ref/CreateCcRule.html new file mode 100644 index 00000000..7d412fbc --- /dev/null +++ b/docs/wafd/api-ref/CreateCcRule.html @@ -0,0 +1,668 @@ + + +

Creating a CC Attack Protection Rule

+

Function

This API is used to create a CC attack protection rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/cc

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

description

+

No

+

String

+

Rule description

+

limit_num

+

No

+

Integer

+

Frequency limits

+

Minimum: 0

+

Maximum: 10000

+

limit_period

+

No

+

Integer

+

Frequency limit unit

+

Minimum: 0

+

Maximum: 10000

+

url

+

No

+

String

+

url

+

Minimum: 0

+

Maximum: 10000

+

mode

+

No

+

Integer

+

Work mode. The value can be 0 (standard) or 1 (advanced). The parameters of the advanced mode cannot be described in the same document of the same API. For details, see this parameter on the console page.

+

Enumeration values:

+
  • 0

    +
  • 1

    +
+

action

+

No

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

tag_type

+

No

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: Website visitors are identified by the Referer field (user-defined request source).

    +
+

Enumeration values:

+
  • ip

    +
  • other

    +
  • cookie

    +
+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 action

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

No

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + + + +
Table 5 detail

Parameter

+

Mandatory

+

Type

+

Description

+

response

+

No

+

response object

+

Returned page.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 6 response

Parameter

+

Mandatory

+

Type

+

Description

+

content_type

+

No

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

No

+

String

+

Protection page content.

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

url

+

String

+

When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name.

+
  • Prefix match: A path ending with * indicates that the path is used as a prefix. For example, to protect /admin/test.php or /adminabc, you can set Path to /admin*.

    +
  • Exact match: The path you enter must exactly match the path you want to protect. If the path you want to protect is /admin, set url to /admin.

    +
+

prefix

+

Boolean

+

Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used.

+

mode

+

Integer

+

Mode.

+
  • 0: Standard.

    +
  • 1: Advanced

    +
+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

limit_num

+

String

+

Number of requests allowed from a web visitor in a rate limiting period

+

limit_period

+

String

+

Rate limiting period

+

lock_time

+

String

+

How long a web visitor will be locked The value range is [0 to 2^32), in seconds.

+

tag_type

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: A website visitor is identified by the Referer field (user-defined request source).

    +
+

description

+

String

+

Rule description

+

action

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

conditions

+

Array of conditions objects

+

Condition list. This parameter is returned when mode is set to 1.

+

timestamp

+

Long

+

Timestamp the rule is created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 8 action

Parameter

+

Type

+

Description

+

category

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + +
Table 9 detail

Parameter

+

Type

+

Description

+

response

+

response object

+

Returned page

+
+
+ +
+ + + + + + + + + + + + + +
Table 10 response

Parameter

+

Type

+

Description

+

content_type

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

String

+

Contents

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 11 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are as follows: ip, cookie, and url

+

index

+

String

+

Parameter description:

+
  • When the field type is ip or url, the index parameter is not required.

    +
  • When the field type is cookie and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any.

+
  • When the field type is url, the following matching logics are supported: contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix.

    +
  • When the field type is ip, the following matching logics are supported: equal, not_equal, equal_any, and not_equal_any.

    +
  • When category is set to cookie, the following matching logics are supported: contain, not_contain, equal, not_equal. prefix, not_prefix, suffix, not_suffix, contain_any, and not_contain_any.

    +
+

contents

+

Array of strings

+

Content of the conditions.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 13 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 14 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc?
+
+{
+  "action" : {
+    "category" : "captcha"
+  },
+  "description" : "",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "mode" : 0,
+  "tag_type" : "ip",
+  "url" : "/path"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "aging_time" : 0,
+  "description" : "",
+  "id" : "a5f3fd28db564696b199228f0ac346b2",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "lock_time" : 0,
+  "mode" : 0,
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "prefix" : false,
+  "status" : 1,
+  "tag_type" : "ip",
+  "timestamp" : 1656494435686,
+  "total_num" : 0,
+  "unaggregation" : false,
+  "url" : "/path"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateCertificate.html b/docs/wafd/api-ref/CreateCertificate.html new file mode 100644 index 00000000..2916395b --- /dev/null +++ b/docs/wafd/api-ref/CreateCertificate.html @@ -0,0 +1,287 @@ + + +

Creating a Certificate

+

Function

This API is used to create a certificate.

+
+

URI

POST /v1/{project_id}/waf/certificate

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

Yes

+

String

+

Certificate name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed.

+

content

+

Yes

+

String

+

Certificate file. Only certificates and private key files in PEM format are supported, and the newline characters in the file must be replaced with \n.

+

key

+

Yes

+

String

+

Certificate private key. Only certificates and private key files in PEM format are supported, and the newline characters in the files must be replaced with \n.

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Certificate ID

+

name

+

String

+

Certificate name

+

expire_time

+

Long

+

Timestamp when the certificate expires

+

timestamp

+

Long

+

Timestamp when the certificate is uploaded

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/certificate?
+
+{
+  "name" : "demo",
+  "content" : "-----BEGIN CERTIFICATE----- MIIDyzCCArOgAwIBAgIJAN5U0Z4Bh5ccMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV BAYTAlpIMRIwEAYDVQQIDAlHVUFOR0RPTkcxETAPBgNVBAcMCERPTkdHVUFOMQ0w CwYDVQQKDARERUtFMQswCQYDVQQLDAJESzELMAkGA1UEAwwCT0QxHTAbBgkqhkiG 9w0BCQEWDk8IZC5odWF3ZWkuY29tMB4XDTIxMTExNTA4MTk0MVoXDTIyMTExNTA4 MTk0MVowfDELMAkGA1UEBhMCWkgxEjAQBgNVBAgMCUdVQU5HRE9ORzERMA8GA1UE BwwIRE9OR0dVQU4xDTALBgNVBAoMBERFS0UxCzAJBgNVBAsMAkRLMQswCQYDVQQD DAJPRDEdMBsGCSqGSIb3DQEJARYOTwhkLmh1YXdlaS5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDcoLFK62//r0RHFyweYBj97S4NsJ8Qj0RG+Y02 OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn1PcN2Pj2vPJD6NEk4I6VdOWr /kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2OyBxT+ocTLRgEIB8ZbvJyPNseg feLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+sWJMnIA2yIjSBQ0DEAOSusXo FQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi8L+mKeRL+lcMMbXC/3k6OfMB tVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJZTPH6lYtAgMBAAGjUDBOMB0G A1UdDgQWBBQprUUFXW+gIkpzXdrYlsWjfSahWjAfBgNVHSMEGDAWgBQprUUFXW+g IkpzXdrYlsWjfSahWjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA2 603KozsQoIKeLvqDJlcAXwWRfNW8SvlaSJAulhHgneMt9bQgIL+3PJWA/iMniOhU o/kVwkiUIcxw4t7RwP0hVms0OZw59MuqKd3oCSWkYO4vEHs3t40JDWnGDnmQ4sol RkOWJwL4w8tnPe3qY9JSupjlsu6Y1hlvKtEfN2vEKFnsuMhidkUpUAJWodHhWBQH wgIDo4/6yTnWZNGK8JDal86Dm5IchXea1EoYBJsHxiJb7HeWQlkre+MCYi1RHOin 4mIXTr0oT4/jWlgklSz6/ZhGRq+7W7tIl7cvzCe+4XsVZIenAcYoNd/WLfo91PD4 yAsRXrOjW1so1Bj0BkDz -----END CERTIFICATE-----",
+  "key" : "-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcoLFK62//r0RH FyweYBj97S4NsJ8Qj0RG+Y02OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn 1PcN2Pj2vPJD6NEk4I6VdOWr/kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2Oy BxT+ocTLRgEIB8ZbvJyPNsegfeLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+ sWJMnIA2yIjSBQ0DEAOSusXoFQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi 8L+mKeRL+lcMMbXC/3k6OfMBtVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJ ZTPH6lYtAgMBAAECggEBAL+xZxm/QoqXT+2stoqV2GEYaMFASpRqxlocjZMmEE/9 jZa+cBWIjHhVPsjRqYFBDcHEebu0JwlrjcjIAvgnIvnO5XgXm1A9Q+WbscokmcX1 xCvpHgc+MDVn+uWdCd4KW5kEk4EnSsFN5iNSf+1VxNURN+gwSSp/0E+muwA5IISO G6HQ+p6qs52JAitX5t/7ruKoHYXJxBnf7TUs7768qrh++KPKpPlq044qoYlcGO1n 4urPBHuNLy04GgGw+vkaqjqOvZrNLVOMMaFWBxsDWBehgSSBQTj+f3NCxneGYtt8 3SCTZQI5nIkb+r/M455EwKTSXuEsNHoIwx7L6GEPbQECgYEA8IxgK2fYykloICoh TFJaRAvyjyKa2+Aza4qT9SGY9Y30VPClPjBB1vUu5M9KrFufzlv06nGEcHmpEwOe 8vbRu7nLAQTGYFi8VK63q8w6FlFdAyCG6Sx+BWCfWxJzXsZLAJTfklwi8HsOSlqh 6QNv0xbE2fLjXKf8MHvtrufip40CgYEA6sy87eDrkVgtq4ythAik3i1C5Z3v0fvx mTblG52Z21OyocNq3Tf/b1ZwoIc1ik6cyBzY6z1bIrbSzArCqm0sb2iD+kJL81O0 /qqdXjBxZUkKiVAMNNp7xJGZHHFKWUxT2+UX/tlyx4tT4dzrFIkdDXkcMmqfsRxd 1NEVaAaT8SECgYAoU7BPtpIun43YTpfUfr3pSIN6oZeKoxSbw9i4MNC+4fSDRPC+ 80ImcmZRL7taF+Y7p0jxAOTuIkdJC8NbAiv5J9WzrwQ+5MF2BPB/2bYnRa6tNofH kZDy/9bXYsl6qw2p5Ety8wVcgZTMvFMGiG/32IpZ65FYWEU8L5qSRwfFhQKBgQC9 ihjZTj/bTHtRiHZppzCvyYm/Igd+Uwtsy0uXR1n0G1SQENgrTBD/J6AzdfJae6tE P0U8YIM5Oqxf2i/as9ay+IPRecMl4eSxz7jJWAGx6Yx/3AZ+hAB1ZbNbqniCLYNk d0MvjwmA25ATO+ro4OZ7AdEpQbk3l9aG/WFyYBz9AQKBgQCucFPA1l5eslL8196V WMr2Qo0tqzl7CGSoWQk2Sa2HZtZdfofXAaaqo+zvJ6RPHtJh0jgJtx536DVV3egI 37YrdQyJbCPZXQ3SPgqWCorUnXBwq/nxS06uwu6JBxUFc57ijmMU4fWYNrvkkmWb 7keAg/r5Uy1joMAvBN1I6lB8pg== -----END PRIVATE KEY-----"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "6e2be127b79f4a418414952ad5d8c59f",
+  "name" : "certificatename94319",
+  "content" : "-----BEGIN CERTIFICATE-----\nMIIB+TCCAaOgAwIBAgIUJP9I8OupQ77w0bGL2yWOQXreM4kwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAoMBkh1YXdlaTEcMBoGA1UEAwwTd2FmLmh1YXdlaWNsb3VkLmNvbTAeFw0yMDA3MDkwNTQ2MDRaFw0yMDA4MDgwNTQ2MDRaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQKDAZIdWF3ZWkxHDAaBgNVBAMME3dhZi5odWF3ZWljbG91ZC5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA0UEbMzbvgOJTKrKcDUw9xjFqxM7BaQFM3SLsQlmD5hkzygyL1ra+cWajPJlTCxz9Ph6qldna2+OrIuTdvCcpjwIDAQABo1MwUTAdBgNVHQ4EFgQUE7ZQNcgl3lmryx1s5gy9mnC1rsYwHwYDVR0jBBgwFoAUE7ZQNcgl3lmryx1s5gy9mnC1rsYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAM5wGi88jYWLgOnGbae5hH3I9lMBKxGqv17Cbm1tjWuUogVINz86lqvCpuhzLvD/vzJAqPIuDwqM8uvzjgRfZs8=\n-----END CERTIFICATE-----",
+  "key" : "-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBANFBGzM274DiUyqynA1MPcYxasTOwWkBTN0i7EJZg+YZM8oMi9a2vnFmozyZUwsc/T4eqpXZ2tvjqyLk3bwnKY8CAwEAAQJBAI7LMPaH/HQk/b/bVmY0qsr+me9nb9BqFLuqwzKbx0hSmWPOWFsd3rOFlSopyHqgYtAsPfvPumEdGbdnCyU8zAECIQD71768K1ejb+ei2lqZqHaczqdUNQxMh54yot9F2yVWjwIhANS1Y1Jv89WEU/ZvvMS9a4638Msv2c4GGp08RtXNYn0BAiA0H4b+cwoEbZjHf+HYg6Fo+uxu5TvSaw8287a6Qo0LyQIfVZSlYYWplT6oiX5rdLzBiap4N0gJWdsa2ihmV59LAQIgK8N+j1daq63b0bJ9k4HruhQtpgxI6U9nFBemH4zTRYM=\n-----END RSA PRIVATE KEY-----",
+  "timestamp" : 1650595334578,
+  "expire_time" : 1596865564000
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateCustomRules.html b/docs/wafd/api-ref/CreateCustomRules.html new file mode 100644 index 00000000..23996aa9 --- /dev/null +++ b/docs/wafd/api-ref/CreateCustomRules.html @@ -0,0 +1,565 @@ + + +

Creating a Precise Protection Rule

+

Function

This API is used to create a precise protection rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/custom

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

time

+

No

+

Boolean

+

Time the precise protection rule takes effect.

+
  • false: The rule takes effect immediately.

    +
  • true: The effective time is customized.

    +
+

start

+

No

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

No

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+

description

+

No

+

String

+

Rule description

+

conditions

+

No

+

Array of CustomConditions objects

+

Match condition List

+

action

+

No

+

CustomAction object

+

Protective action of the precise protection rule.

+

priority

+

No

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 CustomConditions

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

No

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

No

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

No

+

Array of strings

+

Condition content for matching the rule

+

value_list_id

+

No

+

String

+

ID of the reference table

+
+
+ +
+ + + + + + + + + + + +
Table 5 CustomAction

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

description

+

String

+

Rule description

+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

conditions

+

Array of conditions objects

+

List of matching conditions. All conditions must be met.

+

action

+

CustomAction object

+

Protective action of the precise protection rule.

+

action_mode

+

Boolean

+

This parameter is reserved and can be ignored.

+

priority

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+

timestamp

+

Long

+

Timestamp when the precise protection rule is created.

+

start

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 7 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

Array of strings

+

Content of the conditions.

+
+
+ +
+ + + + + + + + + +
Table 8 CustomAction

Parameter

+

Type

+

Description

+

category

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?enterprise_project_id=0
+
+{
+    "description": "",
+    "action": {
+        "category": "block"
+    },
+    "priority": 50,
+    "conditions": [
+        {
+            "category": "header",
+            "logic_operation": "contain",
+            "index": "demo"
+            "content" ["demo"]
+        }
+    ],
+    "time": false
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "items" : [ {
+    "action" : {
+      "category" : "block"
+    },
+    "action_mode" : false,
+    "aging_time" : 0,
+    "conditions" : [ {
+      "category" : "header",
+      "index" : "demo",
+      "logic_operation" : "contain",
+      "content" : [ "demo" ]
+    } ],
+    "description" : "",
+    "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+    "policyid" : "1f016cde588646aca3fb19f277c44d03",
+    "priority" : 50,
+    "status" : 1,
+    "time" : false,
+    "timestamp" : 1656495488880
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateGeoipRule.html b/docs/wafd/api-ref/CreateGeoipRule.html new file mode 100644 index 00000000..8cff34d2 --- /dev/null +++ b/docs/wafd/api-ref/CreateGeoipRule.html @@ -0,0 +1,374 @@ + + +

Creating a Geolocation Access Control Rule

+

Function

This API is used to create a geolocation access control rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/geoip

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

geoip

+

Yes

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Yes

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

description

+

No

+

String

+

Rule description

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

geoip

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip?
+
+{
+  "white" : 0,
+  "description" : "demo",
+  "geoip" : "BR"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "02dafa406c4941368a1037b020f15a53",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "timestamp" : 1650534513775,
+  "description" : "demo",
+  "status" : 1,
+  "geoip" : "BR",
+  "white" : 0,
+  "geoTagList" : [ "SH", "Afghanistan" ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateIgnoreRule.html b/docs/wafd/api-ref/CreateIgnoreRule.html new file mode 100644 index 00000000..61e47e85 --- /dev/null +++ b/docs/wafd/api-ref/CreateIgnoreRule.html @@ -0,0 +1,475 @@ + + +

Creating a False Alarm Masking Rule

+

Function

This API is used to create a false alarm masking rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/ignore

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

description

+

No

+

String

+

Provides supplementary information about the assignment.

+

url

+

Yes

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin.

+

rule

+

Yes

+

String

+

Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injectionrobot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusionwebshell: Website Trojans

    +
  • cc: CC attacks -custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

url_logic

+

Yes

+

String

+

URL match logic:

+
  • equal: full match

    +
  • prefix: prefix match

    +
+

domains

+

No

+

Array of strings

+

Protected domain name

+

advanced

+

No

+

advanced object

+

advanced

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 advanced

Parameter

+

Mandatory

+

Type

+

Description

+

index

+

No

+

String

+

To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported:

+
  • cookie: session cookie

    +
  • header: header field

    +
  • body: body field

    +
  • multipart: multipart/form-data type data

    +
  • params: parameter

    +
+

content

+

No

+

String

+

Specified field (available only for param, cookie, and header)

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time.

+

description

+

String

+

Provides supplementary information about the assignment.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin.

+

rule

+

String

+

Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injectionrobot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusionwebshell: Website Trojans

    +
  • cc: CC attacks -custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

url_logic

+

String

+

URL match logic:

+
  • equal: full match

    +
  • prefix: prefix match

    +
+

domains

+

Array of strings

+

Protected domain name

+

advanced

+

advanced object

+

advanced

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 advanced

Parameter

+

Type

+

Description

+

index

+

String

+

To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported:

+
  • cookie: session cookie

    +
  • header: header field

    +
  • body: body field

    +
  • multipart: multipart/form-data type data

    +
  • params: parameter

    +
+

content

+

String

+

Specified field (available only for param, cookie, and header)

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?
+
+{
+  "domain" : [ "test3.th.com" ],
+  "rule" : "webshell",
+  "url_logic" : "equal",
+  "url" : "/demo",
+  "description" : ""
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "c20f67b3e1c040c0b0d8866e568ee8bf",
+  "policyid" : "a75e96d8284c4c4f98ada7d391e8342c",
+  "timestamp" : 1656507126528,
+  "description" : "",
+  "status" : 1,
+  "rule" : "webshell",
+  "url_logic" : "equal",
+  "url" : "/demo",
+  "domain" : [ "test3.th.com" ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateInstance.html b/docs/wafd/api-ref/CreateInstance.html new file mode 100644 index 00000000..16a1f25e --- /dev/null +++ b/docs/wafd/api-ref/CreateInstance.html @@ -0,0 +1,370 @@ + + +

Creating a Dedicated WAF Engine

+

Function

This API is used to create a dedicated WAF engine

+
+

URI

POST /v1/{project_id}/premium-waf/instance

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

No

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

chargemode

+

No

+

Integer

+

Billing mode. Currently, only pay-per-use billing (30) is supported. Make sure your account balance is enough, or the dedicated WAF engine will forward requests directly to the origin server without inspection.

+

region

+

Yes

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

available_zone

+

Yes

+

String

+

AZ where the dedicated engine is to be created.

+

arch

+

Yes

+

String

+

Dedicated engine CPU architecture. Its value can be x86 .

+

instancename

+

Yes

+

String

+

Prefix of the dedicated WAF engine name, which is user-defined.

+

specification

+

Yes

+

String

+

Specifications of the dedicated engine version. The value can be waf.instance.enterprise or waf.instance.professional. An enterprise edition dedicated engine has more functions than a professional edition one. For more details, see the Web Application Firewall (WAF) User Guide.

+

cpu_flavor

+

Yes

+

String

+

ID of the specifications of the ECS hosting the dedicated engine. It can be obtained by calling the ECS ListFlavors API. For the enterprise edition, ECS specifications with 8 vCPUs and 16 GB memory are used. For the professional edition, ECS specifications with 2 vCPUs and 4 GB memory are used.

+

vpc_id

+

Yes

+

String

+

ID of the VPC where the dedicated engine is located. It can be obtained by calling the ListVpcs API.

+

subnet_id

+

Yes

+

String

+

ID of the VPC subnet where the dedicated engine is located. It can be obtained by calling the ListSubnets API. subnet_id has the same value as network_id obtained by calling the OpenStack APIs

+

security_group

+

Yes

+

Array of strings

+

ID of the security group where the dedicated engine is located. It can be obtained by calling the ListSecurityGroups API.

+

count

+

Yes

+

Integer

+

Number of dedicated engines to be provisioned

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

instances

+

Array of instanceInfo objects

+

instances

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 instanceInfo

Parameter

+

Type

+

Description

+

id

+

String

+

id

+

name

+

String

+

Name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{endpoint}/v1/{project_id}/premium-waf/instance
+
+{
+  "chargemode" : 30,
+  "region" : "region-01-4",
+  "available_zone" : "region-01-4a",
+  "arch" : "x86",
+  "instancename" : "demo",
+  "specification\"" : "waf.instance.enterprise",
+  "cpu_flavor" : "c3ne.2xlarge.2",
+  "vpc_id" : "d7b6a5ff-6c53-4cd4-9d57-f20ee8753056",
+  "subnet_id" : "e59ccd18-7e15-4588-b689-04b856f4e78b",
+  "security_group" : [ "09b156a2-f0f0-41fd-9891-60e594601cfd" ],
+  "count" : 1
+}
+
+

Example Responses

Status code: 200

+

Information about the created dedicated WAF engine.

+
{
+  "instances" : [ {
+    "id" : "50a6b6c9bdb643f9a8038976fc58ad02",
+    "name" : "demo-6wvl"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Information about the created dedicated WAF engine.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreatePolicy.html b/docs/wafd/api-ref/CreatePolicy.html new file mode 100644 index 00000000..cd06e915 --- /dev/null +++ b/docs/wafd/api-ref/CreatePolicy.html @@ -0,0 +1,637 @@ + + +

Creating a Policy

+

Function

This API is used to create a policy

+
+

URI

POST /v1/{project_id}/waf/policy

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

Yes

+

String

+

Policy name. The policy name can contain only digits, letters, and underscores (_) and cannot exceed 64 characters.

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Policy ID. This is the unique identifier generated by WAF.

+

name

+

String

+

Policy name.

+

action

+

PolicyAction object

+

PolicyAction

+

options

+

PolicyOption object

+

PolicyOption

+

level

+

Integer

+

Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels:

+
  • 1: Low

    +
  • 2: Medium

    +
  • 3: High

    +
+

full_detection

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+

bind_host

+

Array of BindHost objects

+

Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name.

+

host

+

Array of strings

+

Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name.

+

timestamp

+

Long

+

Time the policy is created. The value is a 13-digit timestamp, in ms.

+

extend

+

Map<String,String>

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + +
Table 5 PolicyAction

Parameter

+

Type

+

Description

+

category

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 PolicyOption

Parameter

+

Type

+

Description

+

webattack

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 7 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 403

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy?
+
+{
+  "name" : "demo"
+}
+
+

Example Responses

Status code: 200

+

ok

+
{
+  "id" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "name" : "demo",
+  "level" : 2,
+  "action" : {
+    "category" : "log"
+  },
+  "options" : {
+    "webattack" : true,
+    "common" : true,
+    "crawler" : true,
+    "crawler_engine" : false,
+    "crawler_scanner" : true,
+    "crawler_script" : false,
+    "crawler_other" : false,
+    "webshell" : false,
+    "cc" : true,
+    "custom" : true,
+    "precise" : false,
+    "whiteblackip" : true,
+    "geoip" : true,
+    "ignore" : true,
+    "privacy" : true,
+    "antitamper" : true,
+    "anticrawler" : false,
+    "antileakage" : false,
+    "followed_action" : false,
+    "bot_enable" : true
+  },
+  "hosts" : [ ],
+  "extend" : { },
+  "timestamp" : 1650529538732,
+  "full_detection" : false,
+  "bind_host" : [ ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

ok

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

403

+

Insufficient resource quota.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreatePremiumHost.html b/docs/wafd/api-ref/CreatePremiumHost.html new file mode 100644 index 00000000..db85c30b --- /dev/null +++ b/docs/wafd/api-ref/CreatePremiumHost.html @@ -0,0 +1,674 @@ + + +

Adding a Protected Domain Name

+

Function

Adding a Protected Domain Name

+
+

URI

POST /v1/{project_id}/premium-waf/host

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

certificateid

+

No

+

String

+

HTTPS certificate ID. It can be obtained by calling the ListCertificates API.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS.

+

certificatename

+

No

+

String

+

Certificate name. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS.

+

hostname

+

Yes

+

String

+

Protected domain name or IP address (port allowed)

+

proxy

+

Yes

+

Boolean

+

Whether a proxy is used for the domain name. If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies.

+

policyid

+

No

+

String

+

ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies.

+

server

+

Yes

+

Array of PremiumWafServer objects

+

Server configuration in dedicated mode

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 PremiumWafServer

Parameter

+

Mandatory

+

Type

+

Description

+

front_protocol

+

Yes

+

String

+

Client protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

back_protocol

+

Yes

+

String

+

Server protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

address

+

Yes

+

String

+

IP address or domain name of the origin server that the client accesses.

+

port

+

Yes

+

Integer

+

Server port

+

type

+

Yes

+

String

+

The origin server address is an IPv4 or IPv6 address. Default value: ipv4

+

Enumeration values:

+
  • ipv4

    +
  • ipv6

    +
+

vpc_id

+

Yes

+

String

+

VPC ID. Perform the following steps to obtain the VPC ID:

+
  • 1.Find the name of the VPC where the dedicated engine is located. The VPC name is in the VPC\Subnet column. Log in to the WAF console and choose Instance Management > Dedicated Engine > VPC\Subnet.

    +
  • Log in to the VPC console and click the VPC name. On the page displayed, copy the VPC ID in the VPC Information area.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Protected domain name ID

+

policyid

+

String

+

Policy ID

+

hostname

+

String

+

Protected domain name

+

domainid

+

String

+

Tenant ID

+

projectid

+

String

+

Project ID

+

protocol

+

String

+

HTTP protocol

+

protect_status

+

Integer

+

WAF status of the protected domain name.

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks. -1: Enabled. WAF detects attacks based on the configured policy.

    +
+

access_status

+

Integer

+

Whether a domain name is connected to WAF.

+
  • 0: disconnected

    +
  • 1: connected

    +
+

proxy

+

Boolean

+

Whether a proxy is used.

+
  • true: The proxy is enabled.

    +
  • false: The proxy is disabled.

    +
+

server

+

Array of PremiumWafServer objects

+

Origin server list

+

flag

+

Flag object

+

Special domain name identifier, which is used to store additional domain name configuration.

+

block_page

+

BlockPage object

+

Alarm configuration page

+

extend

+

Map<String,String>

+

This parameter is redundant in this version. It will be used in the later versions.

+

timestamp

+

Long

+

Creation time.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 PremiumWafServer

Parameter

+

Type

+

Description

+

front_protocol

+

String

+

Client protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

back_protocol

+

String

+

Server protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

address

+

String

+

IP address or domain name of the origin server that the client accesses.

+

port

+

Integer

+

Server port

+

type

+

String

+

The origin server address is an IPv4 or IPv6 address. Default value: ipv4

+

Enumeration values:

+
  • ipv4

    +
  • ipv6

    +
+

vpc_id

+

String

+

VPC ID. Perform the following steps to obtain the VPC ID:

+
  • 1.Find the name of the VPC where the dedicated engine is located. The VPC name is in the VPC\Subnet column. Log in to the WAF console and choose Instance Management > Dedicated Engine > VPC\Subnet.

    +
  • Log in to the VPC console and click the VPC name. On the page displayed, copy the VPC ID in the VPC Information area.

    +
+
+
+ +
+ + + + + + + + + + + + + +
Table 7 Flag

Parameter

+

Type

+

Description

+

pci_3ds

+

String

+

Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.

+
  • true: PCI 3DS check is enabled.

    +
  • false: PCI 3DS check is disenabled.

    +
+

pci_dss

+

String

+

Whether PCI DDS certification check is enabled for the domain name.

+
  • true: PCI DDS check is enabled.

    +
  • false: PCI DDS check is disenabled.

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 8 BlockPage

Parameter

+

Type

+

Description

+

template

+

String

+

Template name

+

custom_page

+

CustomPage object

+

Custom alarm page

+

redirect_url

+

String

+

Redirection URL

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 9 CustomPage

Parameter

+

Type

+

Description

+

status_code

+

String

+

Status Codes

+

content_type

+

String

+

Content type of alarm page

+

content

+

String

+

Page content

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/premium-waf/host?enterprise_project_id=0
+
+{
+  "hostname" : "www.demo.com",
+  "server" : [ {
+    "front_protocol" : "HTTP",
+    "back_protocol" : "HTTP",
+    "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247",
+    "type" : "ipv4",
+    "address" : "1.1.1.1",
+    "port" : 80
+  } ],
+  "proxy" : false,
+  "description" : ""
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "51a5649e52d341a9bb802044950969dc",
+  "policyid" : "1607df035bc847b582ce9c838c083b88",
+  "hostname" : "www.demo.com",
+  "protocol" : "HTTP",
+  "server" : [ {
+    "address" : "1.1.1.1",
+    "port" : 80,
+    "type" : "ipv4",
+    "weight" : 1,
+    "front_protocol" : "HTTP",
+    "back_protocol" : "HTTP",
+    "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247"
+  } ],
+  "proxy" : false,
+  "locked" : 0,
+  "timestamp" : 1650596007113,
+  "flag" : {
+    "pci_3ds" : "false",
+    "pci_dss" : "false"
+  },
+  "description" : "",
+  "projectid" : "550500b49078408682d0d4f7d923f3e1",
+  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
+  "protect_status" : 1,
+  "access_status" : 0,
+  "extend" : { },
+  "block_page" : {
+    "template" : "default"
+  }
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreatePrivacyRules.html b/docs/wafd/api-ref/CreatePrivacyRules.html new file mode 100644 index 00000000..9a1ee04e --- /dev/null +++ b/docs/wafd/api-ref/CreatePrivacyRules.html @@ -0,0 +1,351 @@ + + +

Creating a Data Masking Rule

+

Function

Creating a Data Masking Rule

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/privacy

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

url

+

Yes

+

String

+

URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin.

+

category

+

Yes

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

Yes

+

String

+

Name of the masked field

+

description

+

No

+

String

+

Rule description

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the data masking rule

+

category

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

String

+

Name of the masked field

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy?
+
+{
+  "url" : "/login",
+  "category" : "params",
+  "index" : "password",
+  "description" : ""
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "category" : "params",
+  "description" : "",
+  "id" : "41a5674e03a1470a90ac4761ec4657b4",
+  "index" : "password",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656504425319,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateValueList.html b/docs/wafd/api-ref/CreateValueList.html new file mode 100644 index 00000000..441177d2 --- /dev/null +++ b/docs/wafd/api-ref/CreateValueList.html @@ -0,0 +1,316 @@ + + +

Adding a Reference Table

+

Function

This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use reference tables, see "Adding a Reference Table" under "Rule Configurations" in Web Application Firewall User Guide.

+
+

URI

POST /v1/{project_id}/waf/valuelist

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

Yes

+

String

+

Reference table name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed.

+

type

+

Yes

+

String

+

Reference table type. For details, see the enumeration list

+

Enumeration values:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • resopnse_body

    +
+

values

+

Yes

+

Array of strings

+

Value of the reference table

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of a reference table

+

name

+

String

+

Reference table name

+

type

+

String

+

The value can be:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • response_body

    +
+

timestamp

+

String

+

Reference table timestamp

+

values

+

Array of strings

+

Value of the reference table

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/valuelist?
+
+{
+  "name" : "demo",
+  "type" : "url",
+  "values" : [ "/demo" ]
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "3978ca9403844a62bbd24bb5b8d16d4e",
+  "name" : "demo",
+  "type" : "url",
+  "values" : [ "/demo" ],
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/CreateWhiteblackipRule.html b/docs/wafd/api-ref/CreateWhiteblackipRule.html new file mode 100644 index 00000000..414858b1 --- /dev/null +++ b/docs/wafd/api-ref/CreateWhiteblackipRule.html @@ -0,0 +1,330 @@ + + +

Creating a Blacklist or Whitelist Rule

+

Function

his API is used to create a blacklist or whitelist rule.

+
+

URI

POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackip

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User Token

+

Content-Type

+

Yes

+

String

+

Conten type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

description

+

No

+

String

+

Rule description.

+

addr

+

Yes

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Yes

+

Object

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

addr

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?
+
+{
+  "white" : 0,
+  "description" : "demo",
+  "addr" : "x.x.x.x"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "5d43af25404341058d5ab17b7ba78b56",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "timestamp" : 1650531872900,
+  "description" : "demo",
+  "status" : 1,
+  "addr" : "x.x.x.x",
+  "white" : 0,
+  "size" : 1
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteAntitamperRule.html b/docs/wafd/api-ref/DeleteAntitamperRule.html new file mode 100644 index 00000000..3ba95933 --- /dev/null +++ b/docs/wafd/api-ref/DeleteAntitamperRule.html @@ -0,0 +1,283 @@ + + +

Deleting a Web Tamper Protection Rule

+

Function

This API is used to delete a web tamper protection rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Timestamp

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

hostname

+

String

+

Domain name protected by the web tamper protection rule

+

url

+

String

+

URL for the web tamper protection rule.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "description" : "",
+  "hostname" : "www.domain.com",
+  "id" : "0f59185b76c143f884d21cd0d88e6fa8",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656506256928,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteCcRule.html b/docs/wafd/api-ref/DeleteCcRule.html new file mode 100644 index 00000000..45c5d7d5 --- /dev/null +++ b/docs/wafd/api-ref/DeleteCcRule.html @@ -0,0 +1,476 @@ + + +

Deleting a CC Attack Protection Rule

+

Function

This API is used to delete a CC attack protection rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Content type.

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+

rule_id

+

Yes

+

String

+

ccRuleId

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

url

+

String

+

When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name.

+
  • Prefix match: A path ending with * indicates that the path is used as a prefix. For example, to protect /admin/test.php or /adminabc, you can set Path to /admin*.

    +
  • Exact match: The path you enter must exactly match the path you want to protect. If the path you want to protect is /admin, set url to /admin.

    +
+

prefix

+

Boolean

+

Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used.

+

mode

+

Integer

+

Mode.

+
  • 0: Standard.

    +
  • 1: Advanced

    +
+

limit_num

+

String

+

Number of requests allowed from a web visitor in a rate limiting period

+

limit_period

+

String

+

Rate limiting period

+

lock_time

+

String

+

How long a web visitor will be locked The value range is [0 to 2^32), in seconds.

+

tag_type

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: A website visitor is identified by the Referer field (user-defined request source).

    +
+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

description

+

String

+

Rule description

+

action

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

conditions

+

Array of conditions objects

+

Condition list. This parameter is returned when mode is set to 1.

+

timestamp

+

Long

+

Time the rule is created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 action

Parameter

+

Type

+

Description

+

category

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + +
Table 5 detail

Parameter

+

Type

+

Description

+

response

+

response object

+

Returned page.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 response

Parameter

+

Type

+

Description

+

content_type

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

String

+

Contents

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 7 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are as follows: ip, cookie, and url

+

index

+

String

+

Parameter description:

+
  • When the field type is ip or url, the index parameter is not required.

    +
  • When the field type is cookie and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any.

+
  • When the field type is url, the following matching logics are supported: contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix.

    +
  • When the field type is ip, the following matching logics are supported: equal, not_equal, equal_any, and not_equal_any.

    +
  • When category is set to cookie, the following matching logics are supported: contain, not_contain, equal, not_equal. prefix, not_prefix, suffix, not_suffix, contain_any, and not_contain_any.

    +
+

contents

+

Array of strings

+

Content of the conditions.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "aging_time" : 0,
+  "description" : "",
+  "id" : "a5f3fd28db564696b199228f0ac346b2",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "lock_time" : 0,
+  "mode" : 0,
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "prefix" : false,
+  "producer" : 1,
+  "status" : 1,
+  "tag_type" : "ip",
+  "timestamp" : 1656494435686,
+  "total_num" : 0,
+  "unaggregation" : false,
+  "url" : "/path1"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteCertificate.html b/docs/wafd/api-ref/DeleteCertificate.html new file mode 100644 index 00000000..ccb890be --- /dev/null +++ b/docs/wafd/api-ref/DeleteCertificate.html @@ -0,0 +1,247 @@ + + +

Deleting a Certificate

+

Function

This API is used to delete a certificate.

+
+

URI

DELETE /v1/{project_id}/waf/certificate/{certificate_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

certificate_id

+

Yes

+

String

+

HTTPS certificate ID. It can be obtained by calling the 2.3.1 Querying the Certificate List API.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Certificate ID

+

name

+

String

+

Certificate name

+

expire_time

+

Long

+

Timestamp when the certificate expires

+

timestamp

+

Long

+

Timestamp when the certificate is uploaded

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/certificate/{certificate_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "e1d87ba2d88d4ee4a3b0c829e935e5e0",
+  "name" : "certificatename29556",
+  "timestamp" : 1650594410630,
+  "expire_time" : 1596865564000
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteCustomRule.html b/docs/wafd/api-ref/DeleteCustomRule.html new file mode 100644 index 00000000..fa0895a3 --- /dev/null +++ b/docs/wafd/api-ref/DeleteCustomRule.html @@ -0,0 +1,387 @@ + + +

Deleting a Precise Protection Rule

+

Function

This API is used to delete a precise protection rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID.

+

rule_id

+

Yes

+

String

+

customRuleId

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

description

+

String

+

Rule description

+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

conditions

+

Array of conditions objects

+

List of matching conditions. All conditions must be met.

+

action

+

CustomAction object

+

Protective action of the precise protection rule.

+

action_mode

+

Boolean

+

This parameter is reserved and can be ignored.

+

priority

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+

timestamp

+

Long

+

Timestamp when the precise protection rule is created.

+

start

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

Array of strings

+

Content of the conditions.

+
+
+ +
+ + + + + + + + + +
Table 5 CustomAction

Parameter

+

Type

+

Description

+

category

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "action" : {
+    "category" : "block"
+  },
+  "action_mode" : false,
+  "aging_time" : 0,
+  "conditions" : [ {
+    "category" : "header",
+    "index" : "demo",
+    "logic_operation" : "contain",
+    "content" : [ "demo" ]
+  } ],
+  "description" : "",
+  "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "priority" : 50,
+  "status" : 1,
+  "time" : false,
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteGeoipRule.html b/docs/wafd/api-ref/DeleteGeoipRule.html new file mode 100644 index 00000000..f11fa40d --- /dev/null +++ b/docs/wafd/api-ref/DeleteGeoipRule.html @@ -0,0 +1,310 @@ + + +

Deleting a Geolocation Access Control Rule

+

Function

This API is used to delete a geolocation access control rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

geoip

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}?enterprise_project_id=0
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "02dafa406c4941368a1037b020f15a53",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "name" : "demo",
+  "timestamp" : 1650534513775,
+  "description" : "demo",
+  "status" : 1,
+  "geoip" : "BR",
+  "white" : 0
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteIgnoreRule.html b/docs/wafd/api-ref/DeleteIgnoreRule.html new file mode 100644 index 00000000..f25d00eb --- /dev/null +++ b/docs/wafd/api-ref/DeleteIgnoreRule.html @@ -0,0 +1,354 @@ + + +

Deleting a False Alarm Masking Rule

+

Function

This API is used to query a false alarm masking rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time.

+

description

+

String

+

Provides supplementary information about the assignment.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin.

+

rule

+

String

+

Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injectionrobot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusionwebshell: Website Trojans

    +
  • cc: CC attacks -custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

url_logic

+

String

+

URL match logic:

+
  • equal: full match

    +
  • prefix: prefix match

    +
+

domains

+

Array of strings

+

Protected domain name

+

advanced

+

advanced object

+

advanced

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 advanced

Parameter

+

Type

+

Description

+

index

+

String

+

To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported:

+
  • cookie: session cookie

    +
  • header: header field

    +
  • body: body field

    +
  • multipart: multipart/form-data type data

    +
  • params: parameter

    +
+

content

+

String

+

Specified field (available only for param, cookie, and header)

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "c20f67b3e1c040c0b0d8866e568ee8bf",
+  "policyid" : "a75e96d8284c4c4f98ada7d391e8342c",
+  "timestamp" : 1656507126528,
+  "description" : "",
+  "status" : 1,
+  "domain" : [ "test3.th.com" ],
+  "rule" : "webshell",
+  "url_logic" : "equal",
+  "url" : "/demo"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteInstance.html b/docs/wafd/api-ref/DeleteInstance.html new file mode 100644 index 00000000..2fde5fc6 --- /dev/null +++ b/docs/wafd/api-ref/DeleteInstance.html @@ -0,0 +1,434 @@ + + +

Deleting a Dedicated WAF Engine

+

Function

This API is used to delete a dedicated WAF engine.

+
+

URI

DELETE /v1/{project_id}/premium-waf/instance/{instance_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

instance_id

+

Yes

+

String

+

ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

No

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the dedicated WAF engine

+

instance_name

+

String

+

Name of the dedicated WAF engine.

+

instancename

+

String

+

Name of the dedicated WAF engine. This parameter is repeated and can be ignored.

+

region

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

zone

+

String

+

AZ ID.

+

arch

+

String

+

CPU architecture

+

cpu_flavor

+

String

+

ECS specification ID

+

vpc_id

+

String

+

ID of the VPC where the dedicated engine is located

+

subnet_id

+

String

+

Subnet ID of the VPC where the dedicated engine is located.

+

service_ip

+

String

+

Service plane IP address of the dedicated engine

+

service_ipv6

+

String

+

IPv6 address of the service plane of the dedicated engine

+

security_group_ids

+

Array of strings

+

Security groups bound to the dedicated engine ECS

+

status

+

Integer

+

Billing status of dedicated WAF engine. The value can be 0, 1, or 2.

+
  • 0: The billing is normal.

    +
  • 1: The billing account is frozen. Resources and data will be retained, but the cloud services cannot be used by the account.

    +
  • 2: The billing is terminated. Resources and data will be cleared.

    +
+

run_status

+

Integer

+

unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed).

+

access_status

+

Integer

+

Access status of the dedicated engine. The value can be 0 or 1.

+
  • 0: the dedicated engine is not connected.

    +
  • 1: the dedicated engine is connected.

    +
+

upgradable

+

Integer

+

Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes.

+

cloudServiceType

+

String

+

Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it.

+

resourceType

+

String

+

Cloud service resource type. Cloud services are purchased by resource type. You can ignore it.

+

resourceSpecCode

+

String

+

Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it.

+

specification

+

String

+

Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB.

+

hosts

+

Array of IdHostnameEntry objects

+

Domain name protected by the dedicated engine.

+

server_id

+

String

+

ID of the ECS hosting the dedicated engine.

+

serverId

+

String

+

ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 IdHostnameEntry

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the protected domain name. This is a unique ID automatically generated by the system.

+

hostname

+

String

+

Protected domain name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{endpoint}z/v1/{project_id}/premium-waf/instance/{instance_id}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "0619871acb764d48a112695e8f7cbb10",
+  "region" : "region-01-7",
+  "zone" : "region-01-7a",
+  "specification" : "8vCPUs | 16GB",
+  "arch" : "x86",
+  "upgradable" : 0,
+  "status" : 0,
+  "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "cloudServiceType" : "hws.service.type.waf",
+  "resourceType" : "hws.resource.type.waf.instance",
+  "resourceSpecCode" : "waf.instance.enterprise",
+  "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589",
+  "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc",
+  "service_ip" : "192.168.10.68",
+  "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ],
+  "cpu_flavor" : "Si2.2xlarge.2",
+  "run_status" : 2,
+  "access_status" : 1,
+  "hosts" : [ {
+    "id" : "c3be17bbe3a641c7a1ded6019c377402",
+    "hostname" : "demo.www.com"
+  } ],
+  "instancename" : "0412elb",
+  "instance_name" : "0412elb"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeletePolicy.html b/docs/wafd/api-ref/DeletePolicy.html new file mode 100644 index 00000000..e58d9c2c --- /dev/null +++ b/docs/wafd/api-ref/DeletePolicy.html @@ -0,0 +1,581 @@ + + +

Deleting a Policy

+

Function

This API is used to delete a policy.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Policy ID

+

name

+

String

+

Array of details of policies

+

action

+

PolicyAction object

+

PolicyAction

+

options

+

PolicyOption object

+

PolicyOption

+

level

+

Integer

+

Protection level

+
  • 1: WAF detects wget, cURL, and more but does not detect XSS and command injection attacks in the header, so you may miss more vulnerabilities that actually exist. If you find out that configured protection rules are affecting your services, adjust the protection level to 1.

    +
  • 2: WAF detects remote file inclusion, third-party software vulnerabilities, web shell, and cp and ftp commands. This is the default value.

    +
  • 3: If you need a stricter protection level, set this parameter to 3. This may increase the false positive rate but decrease the false negative rate, such as nc, nmap, and kill.

    +
+

full_detection

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+

bind_host

+

Array of BindHost objects

+

Basic information about the protected domain.

+

timestamp

+

Integer

+

Time a policy is created

+

extend

+

Map<String,String>

+

Extended field

+
+
+ +
+ + + + + + + + + +
Table 4 PolicyAction

Parameter

+

Type

+

Description

+

category

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 PolicyOption

Parameter

+

Type

+

Description

+

webattack

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 6 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "62169e2fc4e64148b775ec01b24a1947",
+  "name" : "demo",
+  "level" : 2,
+  "action" : {
+    "category" : "log",
+    "modulex_category" : "log"
+  },
+  "options" : {
+    "webattack" : true,
+    "common" : true,
+    "crawler" : true,
+    "crawler_engine" : false,
+    "crawler_scanner" : true,
+    "crawler_script" : false,
+    "crawler_other" : false,
+    "webshell" : false,
+    "cc" : true,
+    "custom" : true,
+    "precise" : false,
+    "whiteblackip" : true,
+    "geoip" : true,
+    "ignore" : true,
+    "privacy" : true,
+    "antitamper" : true,
+    "anticrawler" : false,
+    "antileakage" : false,
+    "followed_action" : false,
+    "bot_enable" : true
+  },
+  "hosts" : [ ],
+  "extend" : { },
+  "timestamp" : 1649316510603,
+  "full_detection" : false,
+  "bind_host" : [ ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeletePremiumHost.html b/docs/wafd/api-ref/DeletePremiumHost.html new file mode 100644 index 00000000..ae79be73 --- /dev/null +++ b/docs/wafd/api-ref/DeletePremiumHost.html @@ -0,0 +1,345 @@ + + +

Deleting a Domain Name from a Dedicated WAF Instance

+

Function

This API is used to delete a domain name from a dedicated WAF instance.

+
+

URI

DELETE /v1/{project_id}/premium-waf/host/{host_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

host_id

+

Yes

+

String

+

ID of the domain name protected by the dedicated WAF engine

+
+
+ +
+ + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

keepPolicy

+

No

+

Boolean

+

Whether to retain the rule

+

Default: false

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID

+

hostname

+

String

+

Domain name

+

policyid

+

String

+

Policy ID

+

protect_status

+

Integer

+

WAF status of the protected domain name. The value can be:

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks.

    +
  • 1: Enabled. WAF detects attacks based on the configured policy.

    +
+

access_status

+

Integer

+

Domain name access status. The value can be 0 or 1.

+
  • 0: The domain name has not been added to WAF, and no traffic is routed to the WAF engine.

    +
  • 1: The domain name has been added to WAF, and traffic destined for the domain name has been routed to the WAF engine and the origin server.

    +
+

flag

+

Flag object

+

Special domain name identifier, which is used to store additional domain name configurations.

+

hostid

+

String

+

Domain name ID. This parameter has the same meaning as parameter id and will be deleted.

+

hostId

+

String

+

Domain name ID. This parameter has the same meaning as parameter id and will be deleted.

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 Flag

Parameter

+

Type

+

Description

+

pci_3ds

+

String

+

Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.

+
  • true: PCI 3DS check is enabled.

    +
  • false: PCI 3DS check is disenabled.

    +
+

pci_dss

+

String

+

Whether PCI DDS certification check is enabled for the domain name.

+
  • true: PCI DDS check is enabled.

    +
  • false: PCI DDS check is disenabled.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "ee896796e1a84f3f85865ae0853d8974",
+  "hostname" : "www.demo.com",
+  "flag" : {
+    "pci_3ds" : "false",
+    "pci_dss" : "false"
+  },
+  "description" : "",
+  "policyid" : "df15d0eb84194950a8fdc615b6c012dc",
+  "protect_status" : 1,
+  "access_status" : 0,
+  "hostid" : "ee896796e1a84f3f85865ae0853d8974"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Invalid request

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeletePrivacyRule.html b/docs/wafd/api-ref/DeletePrivacyRule.html new file mode 100644 index 00000000..0863c827 --- /dev/null +++ b/docs/wafd/api-ref/DeletePrivacyRule.html @@ -0,0 +1,219 @@ + + +

Deleting a Data Masking Rule

+

Function

This API is used to delete a data masking rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "category" : "header",
+  "description" : "",
+  "id" : "41a5674e03a1470a90ac4761ec4657b4",
+  "index" : "token",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656504425319,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteValueList.html b/docs/wafd/api-ref/DeleteValueList.html new file mode 100644 index 00000000..a08c8d60 --- /dev/null +++ b/docs/wafd/api-ref/DeleteValueList.html @@ -0,0 +1,259 @@ + + +

Deleting a Reference Table

+

Function

This API is used to delete a reference table.

+
+

URI

DELETE /v1/{project_id}/waf/valuelist/{valuelistid}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

valuelistid

+

Yes

+

String

+

Reference table ID. It can be obtained by calling the API Querying the Reference Table List

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of a reference table

+

name

+

String

+

Reference table name

+

type

+

String

+

The value can be:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • response_body

    +
+

timestamp

+

String

+

Reference table timestamp

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/valuelist/{valuelistid}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "3978ca9403844a62bbd24bb5b8d16d4e",
+  "name" : "demo2",
+  "type" : "url",
+  "values" : [ "/demo" ],
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/DeleteWhiteBlackIpRule.html b/docs/wafd/api-ref/DeleteWhiteBlackIpRule.html new file mode 100644 index 00000000..fa8a58ad --- /dev/null +++ b/docs/wafd/api-ref/DeleteWhiteBlackIpRule.html @@ -0,0 +1,287 @@ + + +

Deleting a Blacklist or Whitelist Rule

+

Function

This API is used to delete an IP address blacklist or whitelist rule.

+
+

URI

DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User Token.

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

addr

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "5d43af25404341058d5ab17b7ba78b56",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "timestamp" : 1650531872900,
+  "description" : "demo",
+  "status" : 1,
+  "addr" : "10.1.1.2",
+  "white" : 0
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ErrorCode.html b/docs/wafd/api-ref/ErrorCode.html new file mode 100644 index 00000000..65f6bb12 --- /dev/null +++ b/docs/wafd/api-ref/ErrorCode.html @@ -0,0 +1,872 @@ + + +

Error Codes

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Status Code

+

Error Codes

+

Error Message

+

Description

+

Solution

+

400

+

WAF.00011001

+

bad.request

+

Bad request

+

Check param

+

400

+

WAF.00011002

+

url.param.illegal

+

The URL format is incorrect

+

Check URL format

+

400

+

WAF.00011003

+

request.body.illegal

+

Request body format error: missing parameter and illegal value in body

+

Check request body

+

400

+

WAF.00011004

+

id.illegal

+

Illegal ID

+

Check ID

+

400

+

WAF.00011005

+

name.illegal

+

Illegal name

+

Check name

+

400

+

WAF.00011006

+

host.illegal

+

Illegal domain name

+

Check domain name

+

400

+

WAF.00011007

+

port.illegal

+

Illegal port

+

Check port

+

400

+

WAF.00011007

+

ip.illegal

+

Illegal IP

+

Check IP

+

400

+

WAF.00011008

+

protect.status.illegal

+

Illegal protection status

+

Check whether the protection state is in the range of enumeration value

+

400

+

WAF.00011009

+

access.status.illegal

+

Illegal access status

+

Check whether the access status is in the range of enumeration value

+

400

+

WAF.00011010

+

offsetOrLimit.illegal

+

Illegal offset or limit number

+

Check whether the starting line or limit number is within the range

+

400

+

WAF.00011011

+

pageOrPageSize.illegal

+

Illegal page number or number of entries per page

+

Check if page number or number of items per page are in range

+

400

+

WAF.00011012

+

standard.violated

+

Invalid parameter

+

Check the parameters

+

400

+

WAF.00011013

+

description.illegal

+

Illegal description format

+

Check description format

+

400

+

WAF.00011014

+

request.header.illegal

+

Request header format error: missing parameter and illegal value in header

+

Check header required parameters

+

400

+

WAF.00011014

+

website.not.register

+

The website has not been put on record

+

Filing website

+

400

+

WAF.00012001

+

invalid.token

+

Illegal token

+

Check whether the token is correct

+

400

+

WAF.00012002

+

invalid.project

+

Inconsistency between project_id and token

+

Check Consistency of project_id and token

+

400

+

WAF.00012003

+

permission.denied

+

No permission

+

Assign WAF required permissions to account

+

400

+

WAF.00012004

+

account.frozen

+

Account freezing

+

Account unfreezing

+

400

+

WAF.00012005

+

not.subscribe

+

Unsubscribed

+

Subscribe to WAF service first

+

400

+

WAF.00012006

+

pdp.permission.denied

+

No permission

+

Check the PDP authority of the account

+

400

+

WAF.00012007

+

jwt.authentication.disabled

+

JWT certification off

+

Open JWT certification

+

400

+

WAF.00012008

+

jwt.authentication.invalid.token

+

Illegal JWT token

+

Check whether the account has JWT permission

+

400

+

WAF.00012009

+

jwt.authentication.failed

+

JWT authentication failed

+

Give the account authorization first

+

400

+

WAF.00012010

+

eps.all.not.support

+

eps.all.not.support

+

Open the write permission of enterprise project

+

400

+

WAF.00013001

+

insufficient.quota

+

Insufficient function quota

+

Purchase function quota upgrade package

+

400

+

WAF.00013002

+

feature.not.support

+

Function not supported

+

nothing

+

400

+

WAF.00013003

+

port.not.support

+

Port not supported

+

Port conversion via ELB

+

400

+

WAF.00013004

+

protocol.not.support

+

Protocol not supported

+

Through ELB conversion protocol

+

400

+

WAF.00013005

+

wildcard.domain.not.support

+

Pan domain name not supported

+

Use specific domain names

+

400

+

WAF.00013006

+

ipv6.not.support

+

IPv6 is not supported

+

The current version does not support IPv6

+

400

+

WAF.00013007

+

insufficient.tenant.quota

+

insufficient.tenant.quota

+

Purchase quota upgrade package

+

400

+

WAF.00014001

+

resource.not.found

+

Resource not found

+

The resource has been deleted or does not exist

+

400

+

WAF.00014002

+

resource.already.exists

+

Resource already exists

+

Resource already exists

+

400

+

WAF.00014003

+

open.protect.failed

+

Failed to open protection

+

Check domain name protection status

+

400

+

WAF.00014004

+

access.failed

+

Failed to access WAF

+

Modify DNS resolution

+

400

+

WAF.00014005

+

bypass.failed

+

Bypasswaf failed

+

Check the protection status and try again

+

400

+

WAF.00014006

+

proxy.config.error

+

Agent configuration error

+

Reconfigure the agent correctly and try again

+

400

+

WAF.00014007

+

host.conflict

+

Domain name conflict

+

Check that the domain name already exists in the website configuration

+

400

+

WAF.00014008

+

cert.inconsistent

+

The same domain name, but the certificate is inconsistent

+

Use the same certificate

+

400

+

WAF.00014009

+

api.not.found

+

The interface does not exist

+

Check interface URL

+

400

+

WAF.00014010

+

port.protocol.mismatch

+

Port and protocol mismatch

+

Select the matching protocol and port

+

400

+

WAF.00014011

+

host.blacklist

+

It is forbidden to add the protection website, and the domain name is blacklisted

+

400

+

WAF.00014012

+

insufficient.tenant.quota

+

Insufficient tenant quota

+

Purchase quota upgrade package

+

400

+

WAF.00014013

+

exclusive.ip.config.error

+

Exclusive IP configuration error

+

Check exclusive IP configuration

+

400

+

WAF.00014014

+

exclusive.ip.config.error

+

exclusive.ip.config.error

+

Check exclusive IP configuration

+

400

+

WAF.00021002

+

url.param.illegal

+

The URL format is incorrect

+

It is recommended to modify the URL in the request body parameter to the standard URL and debug again

+

400

+

WAF.00021003

+

request.body.illegal

+

The request body parameter is incorrect

+

It is recommended that you verify the parameters according to the document before initiating debugging

+

400

+

WAF.00021004

+

id.illegal

+

The unique identifier ID format is incorrect

+

It is recommended to follow the correct instructions in the documentation to obtain the ID

+

400

+

WAF.00021005

+

name.illegal

+

The name parameter format is incorrect

+

Check the format of name, which can only be composed of letters, numbers, -_ And. Cannot exceed 64 characters in length

+

400

+

WAF.00021006

+

host.illegal

+

The domain name format is incorrect

+

Domain name can only be composed of letters, numbers, -_ And. Cannot exceed 64 characters in length

+

400

+

WAF.00021007

+

protocol.illegal

+

The back-end protocol format is incorrect

+

The back-end protocol can only be configured as HTTP or HTTPS and must be capitalized

+

400

+

WAF.00021008

+

port.illegal

+

The source port format is incorrect

+

Check whether the configured port is empty and whether the target port is in the range of 0-65535

+

400

+

WAF.00021009

+

ip.illegal

+

Incorrect IP format

+

Check whether the IP format meets the standard format of IPv4 or IPv6

+

400

+

WAF.00021010

+

server.address.illegal

+

Server configuration exception

+

Check whether the server configuration is empty and whether the quantity is in the range of 1-80

+

400

+

WAF.00021012

+

path.illegal

+

The URL format in the rule configuration is incorrect

+

It is recommended to modify the URL in the request body parameter to the standard URL and debug again

+

400

+

WAF.00021013

+

cert.illegal

+

The HTTPS certificate has expired

+

It is recommended to upload the unexpired certificate again

+

400

+

WAF.00021014

+

action.illegal

+

Illegal protective action

+

It is recommended to configure protection actions according to the enumerated values in the document

+

400

+

WAF.00021015

+

rule.status.illegal

+

Illegal rule status

+

It is recommended to modify the rule status according to the rule status enumeration value in the document

+

400

+

WAF.00021016

+

description.illegal

+

Description exception

+

It is recommended to use standard English grammar for description

+

400

+

WAF.00021017

+

incorrect.rule.config

+

Incorrect rule configuration

+

It is recommended to configure protection rules according to the documentation in the help center

+

400

+

WAF.00021018

+

incorrect.reference.table.config

+

Incorrect reference table configuration

+

It is recommended to configure the reference table according to the documentation in the help center

+

400

+

WAF.00021019

+

incorrect.route.config

+

Incorrect line configuration

+

It is recommended to configure the line according to the documentation in the help center

+

400

+

WAF.00021020

+

offsetOrLimit.illegal

+

Paging parameter error

+

It is recommended to fill in pagination parameters according to the documents in the help center

+

400

+

WAF.00021021

+

param.exceed.limit

+

Parameter exceeds limit

+

It is recommended to view the parameter limits according to the documentation in the help center

+

400

+

WAF.00022002

+

resource.already.exists

+

Resource already exists

+

It is recommended to check whether the created resource already exists in the console

+

400

+

WAF.00022003

+

resource.is.being.used

+

The resource is in use

+

Remove the relationship between the resource and the user before deleting the resource

+

400

+

WAF.00022004

+

rule.conflict

+

Rule conflict

+

Check whether the target rule conflicts with the existing rule

+

403

+

WAF.00022005

+

insufficient.quota

+

Insufficient resources

+

It is recommended to purchase the upgrade package of corresponding resources

+

404

+

WAF.00022001

+

resource.not.found

+

Resource does not exist

+

It is recommended to check the resource status on the console or ask for technical support

+

500

+

WAF.00010001

+

internal.error

+

Internal error

+

Contact technical support

+

500

+

WAF.00010002

+

system.busy

+

Internal error

+

Contact technical support

+

500

+

WAF.00010003

+

cname.failed

+

Failed to create or modify CNAME

+

Contact technical support

+

500

+

WAF.00010004

+

cname.failed

+

Failed to get OBS file download link

+

Contact technical support

+

500

+

WAF.00020001

+

internal.error

+

Service internal exception

+

It is recommended to try again in five minutes

+

500

+

WAF.00020002

+

system.busy

+

System busy

+

It is recommended to try again in five minutes

+
+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListAntitamperRules.html b/docs/wafd/api-ref/ListAntitamperRules.html new file mode 100644 index 00000000..50f484a5 --- /dev/null +++ b/docs/wafd/api-ref/ListAntitamperRules.html @@ -0,0 +1,337 @@ + + +

Querying the List of Web Tamper Protection Rules

+

Function

This api is used to query the list of web tamper protection rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/antitamper

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Prroject ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

Default: 10

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Total number of rules

+

items

+

Array of AntiTamperRuleResponseBody objects

+

Rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 AntiTamperRuleResponseBody

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Timestamp

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

hostname

+

String

+

Domain name protected by the web tamper protection rule

+

url

+

String

+

URL for the web tamper protection rule.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "description" : "",
+    "hostname" : "www.domain.com",
+    "id" : "0f59185b76c143f884d21cd0d88e6fa8",
+    "policyid" : "1f016cde588646aca3fb19f277c44d03",
+    "status" : 1,
+    "timestamp" : 1656506256928,
+    "url" : "/login"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListBandwidthTimeline.html b/docs/wafd/api-ref/ListBandwidthTimeline.html new file mode 100644 index 00000000..e0acea3b --- /dev/null +++ b/docs/wafd/api-ref/ListBandwidthTimeline.html @@ -0,0 +1,345 @@ + + +

Querying Bandwidth Usage Statistics

+

Function

This API is used to query bandwidth usage statistics.

+
+

URI

GET /v1/{project_id}/waf/overviews/bandwidth/timeline

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

from

+

Yes

+

Long

+

Start time (13-digit timestamp in millisecond). This parameter must be used together with to.

+

to

+

Yes

+

Long

+

End time (13-digit timestamp in millisecond). This parameter must be used together with from.

+

hosts

+

No

+

String

+

List of domain names to query, which can be obtained by calling the ListHost API

+

instances

+

No

+

String

+

List of instance to query (only for the instantiation mode).

+

group_by

+

No

+

String

+

Display dimension. For example, the value is DAY if data is displayed by the day.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

[items]

+

Array of ListBandwidthTimelineItem objects

+

ListBandwidthTimelineResponseBody

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 ListBandwidthTimelineItem

Parameter

+

Type

+

Description

+

key

+

String

+

The following statistics can be included:

+
  • IN_BANDWIDTH: Inbound bandwidth, in byte/s.

    +
  • OUT_BANDWIDTH: Outbound bandwidth, in byte/s.

    +
  • BANDWIDTH: Total bandwidth, in byte/s.

    +
+

timeline

+

Array of TimeLineItem objects

+

Timeline corresponding to the key value

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 TimeLineItem

Parameter

+

Type

+

Description

+

time

+

Long

+

Time-point

+

num

+

Integer

+

Quantity. Aggregated data is returned.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/overviews/bandwidth/timeline?from=1650470400196&to=1650522936196
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
[ {
+  "key" : "IN_BANDWIDTH",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "OUT_BANDWIDTH",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "BANDWIDTH",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+} ]
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListCcRules.html b/docs/wafd/api-ref/ListCcRules.html new file mode 100644 index 00000000..ff7c4d23 --- /dev/null +++ b/docs/wafd/api-ref/ListCcRules.html @@ -0,0 +1,531 @@ + + +

Querying CC Attack Protection Rules

+

Function

This API is used to query the list of CC attack protection rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/cc

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page number.

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100. Default value: 10

+

Default: 10

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of rules in the policy

+

items

+

Array of CcrulesListInfo objects

+

Array of Cc rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 CcrulesListInfo

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

url

+

String

+

When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name.

+
  • Prefix match: A path ending with * indicates that the path is used as a prefix. For example, to protect /admin/test.php or /adminabc, you can set Path to /admin*.

    +
  • Exact match: The path you enter must exactly match the path you want to protect. If the path you want to protect is /admin, set url to /admin.

    +
+

prefix

+

Boolean

+

Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used.

+

mode

+

Integer

+

Mode.

+
  • 0: Standard.

    +
  • 1: Advanced

    +
+

limit_num

+

String

+

Number of requests allowed from a web visitor in a rate limiting period

+

limit_period

+

String

+

Rate limiting period

+

lock_time

+

String

+

How long a web visitor will be locked The value range is [0 to 2^32), in seconds.

+

tag_type

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: Website visitors are identified by the Referer field (user-defined request source).

    +
+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

description

+

String

+

Rule description

+

action

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

conditions

+

Array of conditions objects

+

Condition list. This parameter is returned when mode is set to 1.

+

timestamp

+

Long

+

Time the rule is created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 action

Parameter

+

Type

+

Description

+

category

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + +
Table 7 detail

Parameter

+

Type

+

Description

+

response

+

response object

+

Returned page

+
+
+ +
+ + + + + + + + + + + + + +
Table 8 response

Parameter

+

Type

+

Description

+

content_type

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

String

+

Contents

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 9 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are as follows: ip, cookie, and url

+

index

+

String

+

Parameter description:

+
  • When the field type is ip or url, the index parameter is not required.

    +
  • When the field type is cookie and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any.

+
  • When the field type is url, the following matching logics are supported: contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix.

    +
  • When the field type is ip, the following matching logics are supported: equal, not_equal, equal_any, and not_equal_any.

    +
  • When category is set to cookie, the following matching logics are supported: contain, not_contain, equal, not_equal. prefix, not_prefix, suffix, not_suffix, contain_any, and not_contain_any.

    +
+

contents

+

Array of strings

+

Content of the conditions.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "description" : "",
+    "id" : "a5f3fd28db564696b199228f0ac346b2",
+    "limit_num" : 10,
+    "limit_period" : 60,
+    "lock_time" : 0,
+    "mode" : 0,
+    "policyid" : "1f016cde588646aca3fb19f277c44d03",
+    "prefix" : false,
+    "status" : 1,
+    "tag_type" : "ip",
+    "timestamp" : 1656494435686,
+    "total_num" : 0,
+    "unaggregation" : false,
+    "url" : "/path",
+    "action" : {
+      "category" : "captcha"
+    }
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListCertificates.html b/docs/wafd/api-ref/ListCertificates.html new file mode 100644 index 00000000..4f736204 --- /dev/null +++ b/docs/wafd/api-ref/ListCertificates.html @@ -0,0 +1,389 @@ + + +

Querying the Certificate List

+

Function

This API is used to query the certificate list.

+
+

URI

GET /v1/{project_id}/waf/certificate

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page.

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100. If this parameter is not specified, the default value -1 is used. All certificates are queried regardless of the value of Page.

+

Default: 10

+

name

+

No

+

String

+

Certificate name. Fuzzy search is supported.

+

host

+

No

+

Boolean

+

Whether to obtain the domain name associated with the certificate. The value can be true or false.

+
  • true: When a certificate is queried, the domain name associated with the certificate is also queried. The returned certificate information contains the associated domain name.

    +
  • false: When a certificate is queried, the domain name associated with the certificate is not queried. The returned certificate information does not contain the associated domain name.

    +
  • Default value: false

    +
+

Default: false

+

exp_status

+

No

+

Integer

+

Certificate status. The value can be:

+
  • 0: The certificate is valid.

    +
  • 1: The certificate has expired.2: The certificate will expire within one month.

    +
+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

items

+

Array of ListCertificateBody objects

+

Certificate list

+

total

+

Integer

+

Total number of certificates

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 ListCertificateBody

Parameter

+

Type

+

Description

+

id

+

String

+

Certificate ID

+

name

+

String

+

Certificate name

+

expire_time

+

Long

+

Timestamp when the certificate expire

+

exp_status

+

Integer

+

Certificate expiration status. The value can be:

+
  • 0: The certificate is valid.

    +
  • 1: The certificate has expired.

    +
  • 2: The certificate is about to expire.

    +
+

timestamp

+

Long

+

Timestamp when the certificate is uploaded

+

bind_host

+

Array of BindHost objects

+

Domain name associated with the certificate

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 6 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/certificate?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "dc443ca4f29c4f7e8d4adaf485be317b",
+    "name" : "demo",
+    "timestamp" : 1643181401751,
+    "expire_time" : 1650794100000,
+    "bind_host" : [ ],
+    "exp_status" : 2
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListCustomRules.html b/docs/wafd/api-ref/ListCustomRules.html new file mode 100644 index 00000000..ae417c40 --- /dev/null +++ b/docs/wafd/api-ref/ListCustomRules.html @@ -0,0 +1,438 @@ + + +

Querying Precise Protection Rules

+

Function

This API is used to query the list of precise protection rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/custom

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page number.

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

Default: 10

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

No

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of rules in the policy

+

items

+

Array of objects

+

Array of custom rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 CustomRuleBody

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

description

+

String

+

Rule description

+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

conditions

+

Array of conditions objects

+

List of matching conditions. All conditions must be met.

+

action

+

CustomAction object

+

Protective action of the precise protection rule.

+

action_mode

+

Boolean

+

This parameter is reserved and can be ignored.

+

priority

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+

timestamp

+

Long

+

Timestamp when the precise protection rule is created.

+

start

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 6 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

Array of strings

+

Content of the conditions.

+
+
+ +
+ + + + + + + + + +
Table 7 CustomAction

Parameter

+

Type

+

Description

+

category

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "items" : [ {
+    "category" : "block",
+    "action_mode" : false,
+    "conditions" : [ {
+      "category" : "header",
+      "index" : "sdfsafsda",
+      "logic_operation" : "contain",
+      "content" : [ "demo" ]
+    } ],
+    "description" : "",
+    "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+    "policyid" : "1f016cde588646aca3fb19f277c44d03",
+    "priority" : 50,
+    "status" : 1,
+    "time" : false,
+    "timestamp" : 1656495488880
+  } ],
+  "total" : 1
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListEvent.html b/docs/wafd/api-ref/ListEvent.html new file mode 100644 index 00000000..2de508ba --- /dev/null +++ b/docs/wafd/api-ref/ListEvent.html @@ -0,0 +1,545 @@ + + +

Querying the List of Attack Events

+

Function

This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.

+
+

URI

GET /v1/{project_id}/waf/event

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

recent

+

No

+

String

+

Time range for querying logs. This parameter cannot be used together with from or to. Note that either parameter recent or from and to must be configured. If both of them are configured, recent is preferentially used.

+

Enumeration values:

+
  • yesterday

    +
  • today

    +
  • 3days

    +
  • 1week

    +
  • 1month

    +
+

from

+

No

+

Long

+

Start time (13-digit timestamp). This parameter must be used together with to, but cannot be used together with recent.

+

to

+

No

+

Long

+

End time (13-digit timestamp). This parameter must be used together with from but cannot be used together with recent.

+

hosts

+

No

+

Array

+

Domain name ID. It can be obtained by calling the ListPremiumHost API.

+

page

+

No

+

Integer

+

Page.

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of attack events

+

items

+

Array of ListEventItems objects

+

Attack event details

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 ListEventItems

Parameter

+

Type

+

Description

+

id

+

String

+

Event ID

+

time

+

Integer

+

Occurrences

+

policyid

+

String

+

Policy ID

+

sip

+

String

+

Source IP address

+

host

+

String

+

Domain name

+

url

+

String

+

Attacked URL

+

attack

+

String

+

Attack type. The value of attack type can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injection

    +
  • robot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusion

    +
  • webshell: Website Trojans

    +
  • cc: CC attacks

    +
  • custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

rule

+

String

+

ID of the matched rule. Note that there is no ID for a precise protection.

+

payload

+

String

+

Hit payload

+

payload_location

+

String

+

Malicious load location

+

action

+

String

+

Protective action

+

request_line

+

String

+

Request method and path

+

headers

+

Headers object

+

Request header

+

cookie

+

String

+

Request cookie

+

status

+

String

+

Response code status

+

process_time

+

Integer

+

The time of the WAF service processing the request.

+

region

+

String

+

Geographical location of the source IP address.

+

host_id

+

String

+

Domain name ID

+

response_time

+

Long

+

Time to response

+

response_size

+

Integer

+

Response body size

+

response_body

+

String

+

Response body content.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 Headers

Parameter

+

Type

+

Description

+

content-length

+

String

+

Request length

+

host

+

String

+

Domain name

+

content-type

+

String

+

Content type.

+

user-agent

+

String

+

proxy

+

accept

+

String

+

Type of the received content

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/event?page=1&pagesize=10&recent=today
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "04-0000-0000-0000-21120220421152601-2f7a5ceb",
+    "time" : 1650525961000,
+    "policyid" : "25f1d179896e4e3d87ceac0598f48d00",
+    "host" : "x.x.x.x:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+    "url" : "/osclass/oc-admin/index.php",
+    "attack" : "lfi",
+    "rule" : "040002",
+    "payload" : " file=../../../../../../../../../../etc/passwd",
+    "payload_location" : "params",
+    "sip" : "x.x.x.x",
+    "action" : "block",
+    "request_line" : "GET /osclass/oc-admin/index.php?page=appearance&action=render&file=../../../../../../../../../../etc/passwd",
+    "headers" : {
+      "host" : "x.x.x.x",
+      "accept" : "*/*",
+      "user-agent" : "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36"
+    },
+    "cookie" : "HWWAFSESID=2a1d773f9199d40a53; HWWAFSESTIME=1650525961805",
+    "status" : "418",
+    "region" : "Reserved IP",
+    "host_id" : "6fbe595e7b874dbbb1505da3e8579b54",
+    "response_time" : 0,
+    "response_size" : 3318,
+    "response_body" : "",
+    "process_time" : 2
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListGeoipRule.html b/docs/wafd/api-ref/ListGeoipRule.html new file mode 100644 index 00000000..c74919c5 --- /dev/null +++ b/docs/wafd/api-ref/ListGeoipRule.html @@ -0,0 +1,363 @@ + + +

Querying the List of Geolocation Access Control Rules

+

Function

This API is used to query the list of geolocation access control rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/geoip

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

Default: 10

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of blocked geographical locations in the policy.

+

items

+

Array of GeOIpItem objects

+

List of the restricted geographical locations

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 GeOIpItem

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

geoip

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip?
+
+

Example Responses

Status code: 200

+

Request succeeded

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "06f07f6c229141b9a4a78614751bb687",
+    "policyid" : "2abeeecefb9840e6bf05efbd80d0fcd7",
+    "timestamp" : 1636340038062,
+    "status" : 1,
+    "geoip" : "BR",
+    "white" : 1,
+    "name" : "demo"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListIgnoreRules.html b/docs/wafd/api-ref/ListIgnoreRules.html new file mode 100644 index 00000000..9f1eaea0 --- /dev/null +++ b/docs/wafd/api-ref/ListIgnoreRules.html @@ -0,0 +1,408 @@ + + +

Querying the False Alarm Masking Rule List

+

Function

This API is used to query the list of false alarm masking rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/ignore

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

Default: 10

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of rules in the policy

+

items

+

Array of IgnoreRuleBody objects

+

Array of false alarm masking rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 IgnoreRuleBody

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time.

+

description

+

String

+

Provides supplementary information about the assignment.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin.

+

rule

+

String

+

Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injectionrobot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusionwebshell: Website Trojans

    +
  • cc: CC attacks -custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

url_logic

+

String

+

URL match logic:

+
  • equal: full match

    +
  • prefix: prefix match

    +
+

domains

+

Array of strings

+

Protected domain name

+

advanced

+

advanced object

+

advanced

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 advanced

Parameter

+

Type

+

Description

+

index

+

String

+

To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported:

+
  • cookie: session cookie

    +
  • header: header field

    +
  • body: body field

    +
  • multipart: multipart/form-data type data

    +
  • params: parameter

    +
+

content

+

String

+

Specified field (available only for param, cookie, and header)

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "c20f67b3e1c040c0b0d8866e568ee8bf",
+    "policyid" : "a75e96d8284c4c4f98ada7d391e8342c",
+    "timestamp" : 1656507126528,
+    "description" : "",
+    "status" : 1,
+    "rule" : "webshell",
+    "url_logic" : "equal",
+    "url" : "/demo",
+    "domain" : [ "test3.th.com" ]
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListInstance.html b/docs/wafd/api-ref/ListInstance.html new file mode 100644 index 00000000..4adeff6c --- /dev/null +++ b/docs/wafd/api-ref/ListInstance.html @@ -0,0 +1,499 @@ + + +

Querying the List of Dedicated WAF Engines

+

Function

This API is used to query the list of dedicated WAF engines.

+
+

URI

GET /v1/{project_id}/premium-waf/instance

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page number, which is required for pagination query

+

pagesize

+

No

+

Integer

+

Number of records on each page, which is required for pagination query

+

instancename

+

No

+

String

+

Fuzzy query for dedicated WAF engine names. Only prefix and suffix match query are supported.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

No

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content-Type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Total number of dedicated engines

+

purchased

+

Boolean

+

Whether any dedicated engine has been created. The value can be false or true.

+
  • false: No dedicated WAF engine has been created.

    +
  • true: At least one dedicated WAF engine has been created.

    +
+

items

+

Array of ListInstance objects

+

Details about the dedicated engine

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 ListInstance

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the dedicated WAF engine

+

instancename

+

String

+

Name of the dedicated WAF engine. This parameter is repeated and can be ignored.

+

region

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

zone

+

String

+

AZ ID.

+

arch

+

String

+

CPU architecture

+

cpu_flavor

+

String

+

ECS specification ID

+

vpc_id

+

String

+

ID of the VPC where the dedicated engine is located

+

subnet_id

+

String

+

Subnet ID of the VPC where the dedicated engine is located.

+

service_ip

+

String

+

Service plane IP address of the dedicated engine

+

service_ipv6

+

String

+

IPv6 address of the service plane of the dedicated engine

+

security_group_ids

+

Array of strings

+

Security groups bound to the dedicated engine ECS

+

status

+

Integer

+

Billing status of dedicated WAF engine. The value can be 0, 1, or 2.

+
  • 0: The billing is normal.

    +
  • 1: The billing account is frozen. Resources and data will be retained, but the cloud services cannot be used by the account.

    +
  • 2: The billing is terminated. Resources and data will be cleared.

    +
+

run_status

+

Integer

+

unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed).

+

access_status

+

Integer

+

Access status of the dedicated engine. The value can be 0 or 1.

+
  • 0: the dedicated engine is not connected.

    +
  • 1: the dedicated engine is connected.

    +
+

upgradable

+

Integer

+

Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes.

+

cloudServiceType

+

String

+

Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it.

+

resourceType

+

String

+

Cloud service resource type. Cloud services are purchased by resource type. You can ignore it.

+

resourceSpecCode

+

String

+

Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it.

+

specification

+

String

+

Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB.

+

hosts

+

Array of IdHostnameEntry objects

+

Domain name protected by the dedicated engine.

+

server_id

+

String

+

ID of the ECS hosting the dedicated engine.

+

serverId

+

String

+

ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 IdHostnameEntry

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the protected domain name. This is a unique ID automatically generated by the system.

+

hostname

+

String

+

Protected domain name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{endpoint}/v1/{project_id}/premium-waf/instance
+
+

Example Responses

Status code: 200

+

Lists of dedicated WAF engines

+
{
+  "purchased" : true,
+  "total" : 1,
+  "items" : [ {
+    "id" : "0619871acb764d48a112695e8f7cbb10",
+    "region" : "region-01-7",
+    "zone" : "region-01-7a",
+    "specification" : "8vCPUs | 16GB",
+    "arch" : "x86",
+    "upgradable" : 0,
+    "status" : 0,
+    "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+    "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+    "cloudServiceType" : "hws.service.type.waf",
+    "resourceType" : "hws.resource.type.waf.instance",
+    "resourceSpecCode" : "waf.instance.enterprise",
+    "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589",
+    "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc",
+    "service_ip" : "192.168.10.68",
+    "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ],
+    "cpu_flavor" : "Si2.2xlarge.2",
+    "run_status" : 2,
+    "access_status" : 1,
+    "hosts" : [ {
+      "id" : "c3be17bbe3a641c7a1ded6019c377402",
+      "hostname" : "demo.www.com"
+    } ],
+    "instancename" : "0412elb",
+    "instance_name" : "0412elb"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Lists of dedicated WAF engines

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListPolicy.html b/docs/wafd/api-ref/ListPolicy.html new file mode 100644 index 00000000..585200a9 --- /dev/null +++ b/docs/wafd/api-ref/ListPolicy.html @@ -0,0 +1,650 @@ + + +

Querying Protection Policies

+

Function

This API is used to query the list of protection policies.

+
+

URI

GET /v1/{project_id}/waf/policy

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page. Default value: 1

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100. If this parameter is not specified, the default value -1 is used. All policies are queried regardless of the value of Page.

+

name

+

No

+

String

+

Policy name. Fuzzy search is supported.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Total number of policies

+

items

+

Array of ListPolicyResponse objects

+

Array of policies. Each item in the array includes details of a specific policy.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 ListPolicyResponse

Parameter

+

Type

+

Description

+

id

+

String

+

Policy ID. This is the unique identifier generated by WAF.

+

name

+

String

+

Policy name.

+

action

+

PolicyAction object

+

PolicyAction

+

options

+

PolicyOption object

+

PolicyOption

+

level

+

Integer

+

Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels:

+
  • 1: Low

    +
  • 2: Medium

    +
  • 3: High

    +
+

full_detection

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+

bind_host

+

Array of BindHost objects

+

Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name.

+

host

+

Array of strings

+

Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name.

+

timestamp

+

Long

+

Time the policy is created. The value is a 13-digit timestamp, in ms.

+

extend

+

Map<String,String>

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + +
Table 6 PolicyAction

Parameter

+

Type

+

Description

+

category

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7 PolicyOption

Parameter

+

Type

+

Description

+

webattack

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 8 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "41cba8aee2e94bcdbf57460874205494",
+    "name" : "policy_2FHwFOKz",
+    "level" : 2,
+    "action" : {
+      "category" : "log",
+      "modulex_category" : "log"
+    },
+    "options" : {
+      "webattack" : true,
+      "common" : true,
+      "crawler" : true,
+      "crawler_engine" : false,
+      "crawler_scanner" : true,
+      "crawler_script" : false,
+      "crawler_other" : false,
+      "webshell" : false,
+      "cc" : true,
+      "custom" : true,
+      "precise" : false,
+      "whiteblackip" : true,
+      "geoip" : true,
+      "ignore" : true,
+      "privacy" : true,
+      "antitamper" : true,
+      "anticrawler" : false,
+      "antileakage" : false,
+      "followed_action" : false,
+      "bot_enable" : true
+    },
+    "hosts" : [ ],
+    "extend" : { },
+    "timestamp" : 1650527546218,
+    "full_detection" : false,
+    "bind_host" : [ ]
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListPremiumHost.html b/docs/wafd/api-ref/ListPremiumHost.html new file mode 100644 index 00000000..2824b6c8 --- /dev/null +++ b/docs/wafd/api-ref/ListPremiumHost.html @@ -0,0 +1,414 @@ + + +

Querying Domain Names Protected by Dedicated WAF Engines

+

Function

Querying Domain Names Protected by Dedicated WAF Engines

+
+

URI

GET /v1/{project_id}/premium-waf/host

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

String

+

Page. Default value: 1

+

Default: 1

+

pagesize

+

No

+

String

+

Number of records on each page. The maximum value is 100. Default value: 10

+

Default: 10

+

hostname

+

No

+

String

+

Domain name

+

policyname

+

No

+

String

+

Policy Name

+

protect_status

+

No

+

Integer

+

WAF status of the protected domain name. The value can be:

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks.

    +
  • 1: Enabled. WAF detects attacks based on the configured policy.

    +
+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Total number of protected domain names

+

items

+

Array of SimplePremiumWafHost objects

+

Details about the protected domain name

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 SimplePremiumWafHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID

+

hostname

+

String

+

Domain name

+

policyid

+

String

+

Policy ID

+

protect_status

+

Integer

+

WAF status of the protected domain name. The value can be:

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks.

    +
  • 1: Enabled. WAF detects attacks based on the configured policy.

    +
+

access_status

+

Integer

+

Domain name access status. The value can be 0 or 1.

+
  • 0: The domain name has not been added to WAF, and no traffic is routed to the WAF engine.

    +
  • 1: The domain name has been added to WAF, and traffic destined for the domain name has been routed to the WAF engine and the origin server.

    +
+

flag

+

Flag object

+

Special domain name identifier, which is used to store additional domain name configurations.

+

hostid

+

String

+

Domain name ID. This parameter has the same meaning as parameter id and will be deleted.

+

hostId

+

String

+

Domain name ID. This parameter has the same meaning as parameter id and will be deleted.

+

waf_type

+

String

+

WAF mode. The value is premium, indicating the dedicated WAF engine.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 Flag

Parameter

+

Type

+

Description

+

pci_3ds

+

String

+

Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.

+
  • true: PCI 3DS check is enabled.

    +
  • false: PCI 3DS check is disenabled.

    +
+

pci_dss

+

String

+

Whether PCI DDS certification check is enabled for the domain name.

+
  • true: PCI DDS check is enabled.

    +
  • false: PCI DDS check is disenabled.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/premium-waf/host?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "ee896796e1a84f3f85865ae0853d8974",
+    "hostname" : "www.demo.com",
+    "flag" : {
+      "pci_3ds" : "false",
+      "pci_dss" : "false"
+    },
+    "policyid" : "df15d0eb84194950a8fdc615b6c012dc",
+    "protect_status" : 1,
+    "access_status" : 0,
+    "hostid" : "ee896796e1a84f3f85865ae0853d8974",
+    "hostId" : "262d200fea74406cb0c1a52327122a2c",
+    "waf_type" : "premium"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Invalid request

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListPrivacyRules.html b/docs/wafd/api-ref/ListPrivacyRules.html new file mode 100644 index 00000000..cd1991f2 --- /dev/null +++ b/docs/wafd/api-ref/ListPrivacyRules.html @@ -0,0 +1,349 @@ + + +

Querying the Data Masking Rule List

+

Function

This API is used to query the data masking rule list.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/privacy

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of rules

+

items

+

Array of PrivacyResponseBody objects

+

Rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 PrivacyResponseBody

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the data masking rule

+

category

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

String

+

Name of the masked field

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy?enterprise_project_id=0
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "category" : "params",
+    "description" : "",
+    "id" : "41a5674e03a1470a90ac4761ec4657b4",
+    "index" : "password",
+    "policyid" : "1f016cde588646aca3fb19f277c44d03",
+    "status" : 1,
+    "timestamp" : 1656504425319,
+    "url" : "/login"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListQpsTimeline.html b/docs/wafd/api-ref/ListQpsTimeline.html new file mode 100644 index 00000000..983d4501 --- /dev/null +++ b/docs/wafd/api-ref/ListQpsTimeline.html @@ -0,0 +1,366 @@ + + +

Querying the QPS Statistics

+

Function

This API is used to query the website QPS statistics.

+
+

URI

GET /v1/{project_id}/waf/overviews/qps/timeline

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

from

+

Yes

+

Long

+

Start time (13-digit timestamp in millisecond). This parameter must be used together with to.

+

to

+

Yes

+

Long

+

End time (13-digit timestamp in millisecond). This parameter must be used together with from.

+

hosts

+

No

+

String

+

IDs of the domain names you want to query. If this parameter is not specified, all protected domain names are queried by default.

+

instances

+

No

+

String

+

IDs of the dedicated WAF engine instances you want to query. If this parameter is not specified, all dedicated WAF engine instances are queried by default.

+

group_by

+

No

+

String

+

How the queried data is displayed. The data can be displayed by the day or by the minute. For example, if the value is set to DAY, data is displayed by the day. By default, this parameter is not included, and data is displayed by the minute.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

[items]

+

Array of ListQpsTimelineItem objects

+

ListQpsTimelineResponseBody

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 ListQpsTimelineItem

Parameter

+

Type

+

Description

+

key

+

String

+

The following statistics can be included:

+
  • ACCESS: The number of requests

    +
  • CRAWLER: Crawler attacks identified

    +
  • CC: CC attacks identified

    +
  • WEB_ATTACK: Attacks blocked against basic web protection

    +
  • PRECISE: Attacks blocked against precise protection rules

    +
  • TOTAL_ATTACK: Total number of attacks

    +
+

timeline

+

Array of TimeLineItem objects

+

TimeLineItem

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 TimeLineItem

Parameter

+

Type

+

Description

+

time

+

Long

+

Time-point

+

num

+

Integer

+

Quantity. Aggregated data is returned.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/overviews/qps/timeline?from=1650470400196&to=1650522936196
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
[ {
+  "key" : "ACCESS",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "PRECISE",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "CRAWLER",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "CC",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "TOTAL_ATTACK",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+}, {
+  "key" : "WEB_ATTACK",
+  "timeline" : [ {
+    "time" : 1650470400000,
+    "num" : 0
+  } ]
+} ]
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Invalid request

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListStatistics.html b/docs/wafd/api-ref/ListStatistics.html new file mode 100644 index 00000000..89298aa8 --- /dev/null +++ b/docs/wafd/api-ref/ListStatistics.html @@ -0,0 +1,313 @@ + + +

Querying Website Request Statistics

+

Function

This API is used to query website request statistics.

+
+

URI

GET /v1/{project_id}/waf/overviews/statistics

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

from

+

Yes

+

Long

+

Start time (13-digit timestamp). This parameter must be used together with to.

+

to

+

Yes

+

Long

+

End time (13-digit timestamp). This parameter must be used together with from.

+

hosts

+

No

+

String

+

IDs of the domain names you want to query. If this parameter is not specified, all protected domain names are queried by default.

+

instances

+

No

+

String

+

IDs of the dedicated WAF engine instances you want to query. If this parameter is not specified, all dedicated WAF engine instances are queried by default.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

[items]

+

Array of ListStatisticsItem objects

+

ListStatisticsResponseBody

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 ListStatisticsItem

Parameter

+

Type

+

Description

+

key

+

String

+

The following statistics can be included:

+
  • ACCESS: The number of requests

    +
  • CRAWLER: Crawler attacks identified

    +
  • CC: CC attacks identified

    +
  • WEB_ATTACK: Attacks blocked against basic web protection

    +
  • PRECISE: Attacks blocked against precise protection rules

    +
  • TOTAL_ATTACK: Total number of attacks

    +
+

num

+

Integer

+

Quantity

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/overviews/statistics?from=1650470400196&to=1650522936196
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
[ {
+  "key" : "ACCESS",
+  "num" : 1190
+}, {
+  "key" : "PRECISE",
+  "num" : 0
+}, {
+  "key" : "CRAWLER",
+  "num" : 10
+}, {
+  "key" : "WEB_ATTACK",
+  "num" : 22
+}, {
+  "key" : "CC",
+  "num" : 0
+}, {
+  "key" : "ATTACK",
+  "num" : 32
+} ]
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListValueList.html b/docs/wafd/api-ref/ListValueList.html new file mode 100644 index 00000000..56fbd07c --- /dev/null +++ b/docs/wafd/api-ref/ListValueList.html @@ -0,0 +1,329 @@ + + +

Querying the Reference Table List

+

Function

This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use reference tables, see "Adding a Reference Table" under "Rule Configurations" in Web Application Firewall User Guide.

+
+

URI

GET /v1/{project_id}/waf/valuelist

+ +
+ + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

name

+

No

+

String

+

Reference table name, Fuzzy search is supported.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of reference tables

+

Minimum: 0

+

Maximum: 500

+

items

+

Array of ValueList objects

+

Reference table list

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 ValueList

Parameter

+

Type

+

Description

+

id

+

String

+

ID of a reference table

+

name

+

String

+

Reference table name

+

type

+

String

+

The value can be:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • response_body

    +
+

timestamp

+

String

+

Reference table timestamp

+

values

+

Array of strings

+

Value of the reference table

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/valuelist?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "3978ca9403844a62bbd24bb5b8d16d4e",
+    "name" : "demo",
+    "type" : "url",
+    "values" : [ "/demo" ],
+    "timestamp" : 1656495488880
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ListWhiteblackipRule.html b/docs/wafd/api-ref/ListWhiteblackipRule.html new file mode 100644 index 00000000..e34540c8 --- /dev/null +++ b/docs/wafd/api-ref/ListWhiteblackipRule.html @@ -0,0 +1,350 @@ + + +

Querying the Blacklist and Whitelist Rule List

+

Function

This API is used to query the list of blacklist and whitelist rules.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 2 Query Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

page

+

No

+

Integer

+

Page.

+

Default: 1

+

pagesize

+

No

+

Integer

+

Number of records on each page. The maximum value is 100.

+

Default: 10

+

name

+

No

+

String

+

Rule name, Fuzzy search is supported.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 3 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User Token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of rules

+

items

+

Array of WhiteBlackIpResponseBody objects

+

Rules

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 WhiteBlackIpResponseBody

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

addr

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "3c96caf769ca4f57814fcf4259ea89a1",
+    "policyid" : "4dddfd44fc89453e9fd9cd6bfdc39db2",
+    "timestamp" : 1650362891844,
+    "description" : "demo",
+    "status" : 1,
+    "addr" : "x.x.x.x",
+    "white" : 0
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/PARAMETERS.txt b/docs/wafd/api-ref/PARAMETERS.txt new file mode 100644 index 00000000..6da8d5f0 --- /dev/null +++ b/docs/wafd/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/wafd/api-ref/RenameInstance.html b/docs/wafd/api-ref/RenameInstance.html new file mode 100644 index 00000000..7814d125 --- /dev/null +++ b/docs/wafd/api-ref/RenameInstance.html @@ -0,0 +1,461 @@ + + +

Renaming a Dedicated WAF Engine

+

Function

This API is used to rename a dedicated WAF engine

+
+

URI

PUT /v1/{project_id}/premium-waf/instance/{instance_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

instance_id

+

Yes

+

String

+

ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

No

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

instancename

+

Yes

+

String

+

New name of the dedicated WAF engine

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the dedicated WAF engine

+

instance_name

+

String

+

Name of the dedicated WAF engine.

+

instancename

+

String

+

Name of the dedicated WAF engine. This parameter is repeated and can be ignored.

+

region

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

zone

+

String

+

AZ ID.

+

arch

+

String

+

CPU architecture

+

cpu_flavor

+

String

+

ECS specification ID

+

vpc_id

+

String

+

ID of the VPC where the dedicated engine is located

+

subnet_id

+

String

+

Subnet ID of the VPC where the dedicated engine is located.

+

service_ip

+

String

+

Service plane IP address of the dedicated engine

+

service_ipv6

+

String

+

IPv6 address of the service plane of the dedicated engine

+

security_group_ids

+

Array of strings

+

Security groups bound to the dedicated engine ECS

+

status

+

Integer

+

Billing status of dedicated WAF engine. The value can be 0, 1, or 2.

+
  • 0: The billing is normal.

    +
  • 1: The billing account is frozen. Resources and data will be retained, but the cloud services cannot be used by the account.

    +
  • 2: The billing is terminated. Resources and data will be cleared.

    +
+

run_status

+

Integer

+

unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed).

+

access_status

+

Integer

+

Access status of the dedicated engine. The value can be 0 or 1.

+
  • 0: the dedicated engine is not connected.

    +
  • 1: the dedicated engine is connected.

    +
+

upgradable

+

Integer

+

Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes.

+

cloudServiceType

+

String

+

Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it.

+

resourceType

+

String

+

Cloud service resource type. Cloud services are purchased by resource type. You can ignore it.

+

resourceSpecCode

+

String

+

Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it.

+

specification

+

String

+

Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB.

+

hosts

+

Array of IdHostnameEntry objects

+

Domain name protected by the dedicated engine.

+

server_id

+

String

+

ID of the ECS hosting the dedicated engine.

+

serverId

+

String

+

ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted.

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 IdHostnameEntry

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the protected domain name. This is a unique ID automatically generated by the system.

+

hostname

+

String

+

Protected domain name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id}
+
+{
+  "instancename" : "0412elb"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "0619871acb764d48a112695e8f7cbb10",
+  "region" : "region-01-7",
+  "zone" : "region-01-7a",
+  "specification" : "8vCPUs | 16GB",
+  "arch" : "x86",
+  "upgradable" : 0,
+  "status" : 0,
+  "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "cloudServiceType" : "hws.service.type.waf",
+  "resourceType" : "hws.resource.type.waf.instance",
+  "resourceSpecCode" : "waf.instance.enterprise",
+  "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589",
+  "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc",
+  "service_ip" : "192.168.10.68",
+  "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ],
+  "cpu_flavor" : "Si2.2xlarge.2",
+  "run_status" : 2,
+  "access_status" : 1,
+  "hosts" : [ {
+    "id" : "c3be17bbe3a641c7a1ded6019c377402",
+    "hostname" : "demo.www.com"
+  } ],
+  "instancename" : "0412elb",
+  "instance_name" : "0412elb"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowAntitamperRule.html b/docs/wafd/api-ref/ShowAntitamperRule.html new file mode 100644 index 00000000..15ef4112 --- /dev/null +++ b/docs/wafd/api-ref/ShowAntitamperRule.html @@ -0,0 +1,283 @@ + + +

Querying a Web Tamper Protection Rule by ID

+

Function

This API is used to query a web tamper protection rule by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Timestamp

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

hostname

+

String

+

Domain name protected by the web tamper protection rule

+

url

+

String

+

URL for the web tamper protection rule.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "description" : "",
+  "hostname" : "www.domain.com",
+  "id" : "0f59185b76c143f884d21cd0d88e6fa8",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656506256928,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowCcRule.html b/docs/wafd/api-ref/ShowCcRule.html new file mode 100644 index 00000000..dc1e3651 --- /dev/null +++ b/docs/wafd/api-ref/ShowCcRule.html @@ -0,0 +1,475 @@ + + +

Querying a CC Attack Protection Rule by ID

+

Function

This API is used to query a CC attack protection rule by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+

rule_id

+

Yes

+

String

+

ccRuleId

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

No

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

url

+

String

+

When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name.

+
  • Prefix match: A path ending with * indicates that the path is used as a prefix. For example, to protect /admin/test.php or /adminabc, you can set Path to /admin*.

    +
  • Exact match: The path you enter must exactly match the path you want to protect. If the path you want to protect is /admin, set url to /admin.

    +
+

prefix

+

Boolean

+

Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used.

+

mode

+

Integer

+

Mode.

+
  • 0: Standard

    +
  • 1: Advanced

    +
+

limit_num

+

String

+

Number of requests allowed from a web visitor in a rate limiting period

+

limit_period

+

String

+

Rate limiting period

+

lock_time

+

String

+

How long a web visitor will be locked The value range is [0 to 2^32), in seconds.

+

tag_type

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: A website visitor is identified by the Referer field (user-defined request source).

    +
+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

description

+

String

+

Rule description

+

action

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

conditions

+

Array of conditions objects

+

Condition list. This parameter is returned when mode is set to 1.

+

timestamp

+

Long

+

Time the rule is created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 action

Parameter

+

Type

+

Description

+

category

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + +
Table 5 detail

Parameter

+

Type

+

Description

+

response

+

response object

+

Returned page.

+
+
+ +
+ + + + + + + + + + + + + +
Table 6 response

Parameter

+

Type

+

Description

+

content_type

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

String

+

Contents

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 7 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are as follows: ip, cookie, and url

+

index

+

String

+

Parameter description:

+
  • When the field type is ip or url, the index parameter is not required.

    +
  • When the field type is cookie and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any.

+
  • When the field type is url, the following matching logics are supported: contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix.

    +
  • When the field type is ip, the following matching logics are supported: equal, not_equal, equal_any, and not_equal_any.

    +
  • When category is set to cookie, the following matching logics are supported: contain, not_contain, equal, not_equal. prefix, not_prefix, suffix, not_suffix, contain_any, and not_contain_any.

    +
+

contents

+

Array of strings

+

Content of the conditions.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "aging_time" : 0,
+  "description" : "",
+  "id" : "a5f3fd28db564696b199228f0ac346b2",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "lock_time" : 0,
+  "mode" : 0,
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "prefix" : false,
+  "status" : 1,
+  "tag_type" : "ip",
+  "timestamp" : 1656494435686,
+  "total_num" : 0,
+  "unaggregation" : false,
+  "url" : "/path"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowCertificate.html b/docs/wafd/api-ref/ShowCertificate.html new file mode 100644 index 00000000..d6c8c704 --- /dev/null +++ b/docs/wafd/api-ref/ShowCertificate.html @@ -0,0 +1,308 @@ + + +

Querying a Certificate

+

Function

This API is used to query a certificate.

+
+

URI

GET /v1/{project_id}/waf/certificate/{certificate_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

certificate_id

+

Yes

+

String

+

HTTPS certificate ID. It can be obtained by calling the Certificate List API.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Certificate ID

+

name

+

String

+

Certificate name

+

content

+

String

+

Certificate file in PEM format

+

key

+

String

+

Private key of the certificate in PEM format

+

expire_time

+

Long

+

Timestamp when the certificate expire

+

timestamp

+

Long

+

Timestamp when the certificate is uploaded

+

bind_host

+

Array of BindHost objects

+

Domain name associated with the certificate

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 4 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/certificate/{certificate_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "6e2be127b79f4a418414952ad5d8c59f",
+  "name" : "certificatename94319",
+  "content" : "-----BEGIN CERTIFICATE-----\nMIIB+TCCAaOgAwIBAgIUJP9I8OupQ77w0bGL2yWOQXreM4kwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAoMBkh1YXdlaTEcMBoGA1UEAwwTd2FmLmh1YXdlaWNsb3VkLmNvbTAeFw0yMDA3MDkwNTQ2MDRaFw0yMDA4MDgwNTQ2MDRaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQKDAZIdWF3ZWkxHDAaBgNVBAMME3dhZi5odWF3ZWljbG91ZC5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA0UEbMzbvgOJTKrKcDUw9xjFqxM7BaQFM3SLsQlmD5hkzygyL1ra+cWajPJlTCxz9Ph6qldna2+OrIuTdvCcpjwIDAQABo1MwUTAdBgNVHQ4EFgQUE7ZQNcgl3lmryx1s5gy9mnC1rsYwHwYDVR0jBBgwFoAUE7ZQNcgl3lmryx1s5gy9mnC1rsYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAM5wGi88jYWLgOnGbae5hH3I9lMBKxGqv17Cbm1tjWuUogVINz86lqvCpuhzLvD/vzJAqPIuDwqM8uvzjgRfZs8=\n-----END CERTIFICATE-----",
+  "key" : "-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBANFBGzM274DiUyqynA1MPcYxasTOwWkBTN0i7EJZg+YZM8oMi9a2vnFmozyZUwsc/T4eqpXZ2tvjqyLk3bwnKY8CAwEAAQJBAI7LMPaH/HQk/b/bVmY0qsr+me9nb9BqFLuqwzKbx0hSmWPOWFsd3rOFlSopyHqgYtAsPfvPumEdGbdnCyU8zAECIQD71768K1ejb+ei2lqZqHaczqdUNQxMh54yot9F2yVWjwIhANS1Y1Jv89WEU/ZvvMS9a4638Msv2c4GGp08RtXNYn0BAiA0H4b+cwoEbZjHf+HYg6Fo+uxu5TvSaw8287a6Qo0LyQIfVZSlYYWplT6oiX5rdLzBiap4N0gJWdsa2ihmV59LAQIgK8N+j1daq63b0bJ9k4HruhQtpgxI6U9nFBemH4zTRYM=\n-----END RSA PRIVATE KEY-----",
+  "timestamp" : 1650595334578,
+  "expire_time" : 1596865564000,
+  "bind_host" : [ {
+    "id" : "978b411657624c2db069cd5484195d1c",
+    "hostname" : "www.demo.com",
+    "waf_type" : "cloud"
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowCustomRule.html b/docs/wafd/api-ref/ShowCustomRule.html new file mode 100644 index 00000000..c66e1961 --- /dev/null +++ b/docs/wafd/api-ref/ShowCustomRule.html @@ -0,0 +1,386 @@ + + +

Querying a Precise Protection Rule by ID

+

Function

This API is used to query a precise protection rule by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+

rule_id

+

Yes

+

String

+

customRuleId

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

description

+

String

+

Rule description

+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

conditions

+

Array of conditions objects

+

List of matching conditions. All conditions must be met.

+

action

+

CustomAction object

+

Protective action of the precise protection rule.

+

action_mode

+

Boolean

+

This parameter is reserved and can be ignored.

+

priority

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+

timestamp

+

Long

+

Timestamp when the precise protection rule is created.

+

start

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

Array of strings

+

Content of the conditions.

+
+
+ +
+ + + + + + + + + +
Table 5 CustomAction

Parameter

+

Type

+

Description

+

category

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "action" : {
+    "category" : "block"
+  },
+  "action_mode" : false,
+  "conditions" : [ {
+    "category" : "header",
+    "index" : "demo",
+    "logic_operation" : "contain",
+    "content" : [ "demo" ]
+  } ],
+  "description" : "",
+  "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "priority" : 50,
+  "status" : 1,
+  "time" : false,
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowEvent.html b/docs/wafd/api-ref/ShowEvent.html new file mode 100644 index 00000000..de72d0f3 --- /dev/null +++ b/docs/wafd/api-ref/ShowEvent.html @@ -0,0 +1,479 @@ + + +

Querying Attack Event Details

+

Function

This API is used to query the details about an attack event.

+
+

URI

GET /v1/{project_id}/waf/event/{eventid}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

eventid

+

Yes

+

String

+

Event ID.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

total

+

Integer

+

Number of attack events

+

items

+

Array of ShowEventItems objects

+

Attack event details

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 ShowEventItems

Parameter

+

Type

+

Description

+

id

+

String

+

Event ID

+

time

+

Integer

+

Occurrences

+

policyid

+

String

+

Policy ID

+

sip

+

String

+

Source IP address

+

host

+

String

+

Domain name

+

url

+

String

+

Attacked URL

+

attack

+

String

+

Attack type. The value of attack type can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injection

    +
  • robot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusion

    +
  • webshell: Website Trojans

    +
  • cc: CC attacks

    +
  • custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

rule

+

String

+

ID of the matched rule. Note that there is no ID for a precise protection.

+

payload

+

String

+

Hit payload

+

payload_location

+

String

+

Malicious load location

+

action

+

String

+

Protective action

+

request_line

+

String

+

Request method and path

+

headers

+

Headers object

+

Request header

+

cookie

+

String

+

Request cookie

+

status

+

String

+

Response code status

+

process_time

+

Integer

+

The time of the WAF service processing the request.

+

region

+

String

+

Geographical location of the source IP address.

+

host_id

+

String

+

Domain name ID

+

response_time

+

Long

+

Time to response

+

response_size

+

Integer

+

Response body size

+

response_body

+

String

+

Response body content.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 Headers

Parameter

+

Type

+

Description

+

content-length

+

String

+

Request length

+

host

+

String

+

Domain name

+

content-type

+

String

+

Content type.

+

user-agent

+

String

+

proxy

+

accept

+

String

+

Type of the received content

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/event{event_id}?enterprise_project_id=0
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "total" : 1,
+  "items" : [ {
+    "id" : "09-0000-0000-0000-12120220421093806-a60a6166",
+    "time" : 1650505086000,
+    "policyid" : "173ed802272a4b0798049d7edffeff03",
+    "host" : "x.x.x.x:xxxxxx-xxx-xxx-xxx-xxxxxxxxx",
+    "url" : "/mobile/DBconfigReader.jsp",
+    "attack" : "vuln",
+    "rule" : "091004",
+    "payload" : " /mobile/dbconfigreader.jsp",
+    "payload_location" : "uri",
+    "sip" : "x.x.x.x",
+    "action" : "block",
+    "request_line" : "GET /mobile/DBconfigReader.jsp",
+    "headers" : {
+      "accept" : "*/*",
+      "host" : "x.x.x.x:81",
+      "user-agent" : "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 CSIRTx/2022"
+    },
+    "cookie" : "HWWAFSESID=2a0bf76a111c93926d; HWWAFSESTIME=1650505086260",
+    "status" : "418",
+    "region" : "Reserved IP",
+    "host_id" : "e093a352fd3a4ddd994c585e2e1dda59",
+    "response_time" : 0,
+    "response_size" : 3318,
+    "response_body" : "",
+    "process_time" : 0
+  } ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowIgnoreRule.html b/docs/wafd/api-ref/ShowIgnoreRule.html new file mode 100644 index 00000000..746caba8 --- /dev/null +++ b/docs/wafd/api-ref/ShowIgnoreRule.html @@ -0,0 +1,354 @@ + + +

Querying a False Alarm Masking Rule

+

Function

This API is used to query a false alarm masking rule.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time.

+

description

+

String

+

Provides supplementary information about the assignment.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin.

+

rule

+

String

+

Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be:

+
  • xss or sqli: XSS attacks

    +
  • cmdi: Command injectionrobot: Malicious crawlers

    +
  • lfi: Local file inclusion

    +
  • rfi: Remote file inclusionwebshell: Website Trojans

    +
  • cc: CC attacks -custom_custom: Precise protection

    +
  • custom_whiteblackip: IP address blacklist and whitelist

    +
  • custom_geoip: Geolocation access control

    +
  • antitamper: Web tamper protection

    +
  • anticrawler: Anti-crawler protection

    +
  • leakage: Data leakage prevention

    +
  • illegal: Illegal requests

    +
  • vuln: Other attack types

    +
+

url_logic

+

String

+

URL match logic:

+
  • equal: full match

    +
  • prefix: prefix match

    +
+

domains

+

Array of strings

+

Protected domain name

+

advanced

+

advanced object

+

advanced

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 advanced

Parameter

+

Type

+

Description

+

index

+

String

+

To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported:

+
  • cookie: session cookie

    +
  • header: header field

    +
  • body: body field

    +
  • multipart: multipart/form-data type data

    +
  • params: parameter

    +
+

content

+

String

+

Specified field (available only for param, cookie, and header)

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "c20f67b3e1c040c0b0d8866e568ee8bf",
+  "policyid" : "a75e96d8284c4c4f98ada7d391e8342c",
+  "timestamp" : 1656507126528,
+  "description" : "",
+  "status" : 1,
+  "domain" : [ "test3.th.com" ],
+  "rule" : "webshell",
+  "url_logic" : "equal",
+  "url" : "/demo"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowInstance.html b/docs/wafd/api-ref/ShowInstance.html new file mode 100644 index 00000000..46cb69d2 --- /dev/null +++ b/docs/wafd/api-ref/ShowInstance.html @@ -0,0 +1,442 @@ + + +

Querying Details about a Dedicated WAF Engine

+

Function

This API is used to query details about a dedicated WAF engine.

+
+

URI

GET /v1/{project_id}/premium-waf/instance/{instance_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

instance_id

+

Yes

+

String

+

ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

No

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the dedicated WAF engine

+

instance_name

+

String

+

Name of the dedicated WAF engine.

+

instancename

+

String

+

Name of the dedicated WAF engine. This parameter is repeated and can be ignored.

+

region

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

zone

+

String

+

AZ ID.

+

arch

+

String

+

CPU architecture

+

cpu_flavor

+

String

+

ECS specification ID

+

vpc_id

+

String

+

ID of the VPC where the dedicated engine is located

+

subnet_id

+

String

+

Subnet ID of the VPC where the dedicated engine is located.

+

service_ip

+

String

+

Service plane IP address of the dedicated engine

+

service_ipv6

+

String

+

IPv6 address of the service plane of the dedicated engine

+

security_group_ids

+

Array of strings

+

Security groups bound to the dedicated engine ECS

+

status

+

Integer

+

Billing status of dedicated WAF engine. The value can be 0, 1, or 2.

+
  • 0: The billing is normal.

    +
  • 1: The billing account is frozen. Resources and data will be retained, but the cloud services cannot be used by the account.

    +
  • 2: The billing is terminated. Resources and data will be cleared.

    +
+

run_status

+

Integer

+

unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed).

+

access_status

+

Integer

+

Access status of the dedicated engine. The value can be 0 or 1.

+
  • 0: the dedicated engine is not connected.

    +
  • 1: the dedicated engine is connected.

    +
+

upgradable

+

Integer

+

Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes.

+

cloudServiceType

+

String

+

Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it.

+

resourceType

+

String

+

Cloud service resource type. Cloud services are purchased by resource type. You can ignore it.

+

resourceSpecCode

+

String

+

Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it.

+

specification

+

String

+

Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB.

+

hosts

+

Array of IdHostnameEntry objects

+

Domain name protected by the dedicated engine.

+

server_id

+

String

+

ID of the ECS hosting the dedicated engine.

+

serverId

+

String

+

ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted.

+

create_time

+

Long

+

Timestamp when the dedicated WAF engine was created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 4 IdHostnameEntry

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the protected domain name. This is a unique ID automatically generated by the system.

+

hostname

+

String

+

Protected domain name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "0619871acb764d48a112695e8f7cbb10",
+  "region" : "region-01-7",
+  "zone" : "region-01-7a",
+  "specification" : "8vCPUs | 16GB",
+  "arch" : "x86",
+  "upgradable" : 0,
+  "status" : 0,
+  "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "cloudServiceType" : "hws.service.type.waf",
+  "resourceType" : "hws.resource.type.waf.instance",
+  "resourceSpecCode" : "waf.instance.enterprise",
+  "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589",
+  "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc",
+  "service_ip" : "192.168.10.68",
+  "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ],
+  "cpu_flavor" : "Si2.2xlarge.2",
+  "run_status" : 2,
+  "access_status" : 1,
+  "hosts" : [ {
+    "id" : "c3be17bbe3a641c7a1ded6019c377402",
+    "hostname" : "demo.www.com"
+  } ],
+  "instancename" : "0412elb",
+  "instance_name" : "0412elb",
+  "create_time" : 1649217360674
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowPolicy.html b/docs/wafd/api-ref/ShowPolicy.html new file mode 100644 index 00000000..9e9cd5b0 --- /dev/null +++ b/docs/wafd/api-ref/ShowPolicy.html @@ -0,0 +1,587 @@ + + +

Querying a Policy by ID

+

Function

This API is used to query a policy by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Policy ID. This is the unique identifier generated by WAF.

+

name

+

String

+

Policy name.

+

action

+

PolicyAction object

+

PolicyAction

+

options

+

PolicyOption object

+

PolicyOption

+

level

+

Integer

+

Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels:

+
  • 1: Low

    +
  • 2: Medium

    +
  • 3: High

    +
+

full_detection

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+

bind_host

+

Array of BindHost objects

+

Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name.

+

host

+

Array of strings

+

Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name.

+

timestamp

+

Long

+

Time the policy is created. The value is a 13-digit timestamp, in ms.

+

extend

+

Map<String,String>

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + +
Table 4 PolicyAction

Parameter

+

Type

+

Description

+

category

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 PolicyOption

Parameter

+

Type

+

Description

+

webattack

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 6 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "name" : "demo",
+  "level" : 2,
+  "action" : {
+    "category" : "log"
+  },
+  "options" : {
+    "webattack" : true,
+    "common" : true,
+    "crawler" : true,
+    "crawler_engine" : false,
+    "crawler_scanner" : true,
+    "crawler_script" : false,
+    "crawler_other" : false,
+    "webshell" : false,
+    "cc" : true,
+    "custom" : true,
+    "precise" : false,
+    "whiteblackip" : true,
+    "geoip" : true,
+    "ignore" : true,
+    "privacy" : true,
+    "antitamper" : true,
+    "anticrawler" : false,
+    "antileakage" : false,
+    "followed_action" : false,
+    "bot_enable" : true
+  },
+  "hosts" : [ ],
+  "extend" : { },
+  "timestamp" : 1650529538732,
+  "full_detection" : false,
+  "bind_host" : [ ]
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowPremiumHost.html b/docs/wafd/api-ref/ShowPremiumHost.html new file mode 100644 index 00000000..42d1f2c1 --- /dev/null +++ b/docs/wafd/api-ref/ShowPremiumHost.html @@ -0,0 +1,562 @@ + + +

Querying Domain Name Settings in Dedicated Mode

+

Function

This API is used to query domain name settings in dedicated mode.

+
+

URI

GET /v1/{project_id}/premium-waf/host/{host_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

host_id

+

Yes

+

String

+

ID of the domain name protected by the dedicated WAF engine

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

No

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID

+

policyid

+

String

+

ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies.

+

hostname

+

String

+

Domain name added to cloud WAF.

+

domainid

+

String

+

User domain ID

+

project_id

+

String

+

Project ID

+

protocol

+

String

+

HTTP protocol

+

tls

+

String

+

Minimum TLS version supported.

+
  • TLS v1.0 is used by default.

    +
  • The value can be:TLS v1.0TLS v1.1TLS v1.2TLS v1.3

    +
+

cipher

+

String

+

Cipher suite. The value can be:

+
  • cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

    +
  • cipher_2: EECDH+AESGCM:EDH+AESGCM

    +
  • cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

    +
  • cipher_4. ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH n - cipher_default: ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

    +
+

server

+

Array of PremiumWafServer objects

+

Origin server details

+

certificateid

+

String

+

HTTPS certificate ID. It can be obtained by calling the ListCertificates API. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS.

+

certificatename

+

String

+

Certificate name. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS.

+

proxy

+

Boolean

+

Whether the proxy is enabled

+

locked

+

Integer

+

Lock status. This parameter is redundant and can be ignored. Default value: 0

+

Default: 0

+

protect_status

+

Integer

+

WAF status of the protected domain name. The value can be:

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks.

    +
  • 1: Enabled. WAF detects attacks based on the configured policy.

    +
+

access_status

+

Integer

+

Whether a domain name is connected to WAF.

+
  • 0: The domain name is not connected to the engine instance.

    +
  • 1: The domain name is connected to the engine instance.

    +
+

timestamp

+

Long

+

Time a domain name is added to WAF

+

flag

+

Flag object

+

Special domain name identifier, which is used to store additional domain name configurations

+

block_page

+

BlockPage object

+

Alarm configuration page

+

extend

+

Map<String,String>

+

Extended attribute

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 PremiumWafServer

Parameter

+

Type

+

Description

+

front_protocol

+

String

+

Client protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

back_protocol

+

String

+

Server protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

address

+

String

+

IP address or domain name of the origin server that the client accesses.

+

port

+

Integer

+

Server port

+

type

+

String

+

The origin server address is an IPv4 or IPv6 address. Default value: ipv4

+

Enumeration values:

+
  • ipv4

    +
  • ipv6

    +
+

vpc_id

+

String

+

VPC ID. Perform the following steps to obtain the VPC ID:

+
  • 1.Find the name of the VPC where the dedicated engine is located. The VPC name is in the VPC\Subnet column. Log in to the WAF console and choose Instance Management > Dedicated Engine > VPC\Subnet.

    +
  • Log in to the VPC console and click the VPC name. On the page displayed, copy the VPC ID in the VPC Information area.

    +
+
+
+ +
+ + + + + + + + + + + + + +
Table 5 Flag

Parameter

+

Type

+

Description

+

pci_3ds

+

String

+

Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.

+
  • true: PCI 3DS check is enabled.

    +
  • false: PCI 3DS check is disenabled.

    +
+

pci_dss

+

String

+

Whether PCI DDS certification check is enabled for the domain name.

+
  • true: PCI DDS check is enabled.

    +
  • false: PCI DDS check is disenabled.

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 6 BlockPage

Parameter

+

Type

+

Description

+

template

+

String

+

Template name

+

custom_page

+

CustomPage object

+

Custom alarm page

+

redirect_url

+

String

+

Redirection URL

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 7 CustomPage

Parameter

+

Type

+

Description

+

status_code

+

String

+

Status Codes

+

content_type

+

String

+

Content type of alarm page

+

content

+

String

+

Page content

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "ee896796e1a84f3f85865ae0853d8974",
+  "hostname" : "www.demo.com",
+  "protocol" : "HTTPS",
+  "server" : [ {
+    "address" : "1.2.3.4",
+    "port" : 443,
+    "type" : "ipv4",
+    "weight" : 1,
+    "front_protocol" : "HTTPS",
+    "back_protocol" : "HTTPS",
+    "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d"
+  } ],
+  "proxy" : false,
+  "locked" : 0,
+  "timestamp" : 1650593801380,
+  "flag" : {
+    "pci_3ds" : "false",
+    "pci_dss" : "false"
+  },
+  "extend" : { },
+  "block_page" : {
+    "template" : "default"
+  },
+  "description" : "",
+  "policyid" : "df15d0eb84194950a8fdc615b6c012dc",
+  "domainid" : "0ee78615ca08419f81f539d97c9ee353",
+  "projectid" : "550500b49078408682d0d4f7d923f3e1",
+  "protect_status" : 1,
+  "access_status" : 0,
+  "certificateid" : "360f992501a64de0a65c50a64d1ca7b3",
+  "certificatename" : "certificatename75315"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Invalid request

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowPrivacyRule.html b/docs/wafd/api-ref/ShowPrivacyRule.html new file mode 100644 index 00000000..86c44319 --- /dev/null +++ b/docs/wafd/api-ref/ShowPrivacyRule.html @@ -0,0 +1,297 @@ + + +

Querying a Data Masking Rule by ID

+

Function

This API is used to query a data masking rule by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the data masking rule

+

category

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

String

+

Name of the masked field

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "category" : "params",
+  "description" : "",
+  "id" : "41a5674e03a1470a90ac4761ec4657b4",
+  "index" : "password",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656504425319,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/ShowWhiteblackipRule.html b/docs/wafd/api-ref/ShowWhiteblackipRule.html new file mode 100644 index 00000000..ed716c88 --- /dev/null +++ b/docs/wafd/api-ref/ShowWhiteblackipRule.html @@ -0,0 +1,277 @@ + + +

Querying a Blacklist or Whitelist Rule

+

Function

This API is used to query a blacklist or whitelist rule by ID.

+
+

URI

GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

No

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

addr

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}?
+
+

Example Responses

None

+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdateCcRule.html b/docs/wafd/api-ref/UpdateCcRule.html new file mode 100644 index 00000000..62cd1c62 --- /dev/null +++ b/docs/wafd/api-ref/UpdateCcRule.html @@ -0,0 +1,676 @@ + + +

Updating a CC Attack Protection Rule

+

Function

This API is used to update a CC attack protection rule.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

policyid

+

rule_id

+

Yes

+

String

+

ccRuleId

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type.

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

description

+

No

+

String

+

Rule description

+

limit_num

+

No

+

Integer

+

Frequency limits

+

Minimum: 0

+

Maximum: 10000

+

limit_period

+

No

+

Integer

+

Frequency limit unit

+

Minimum: 0

+

Maximum: 10000

+

url

+

No

+

String

+

url

+

Minimum: 0

+

Maximum: 10000

+

mode

+

No

+

Integer

+

Work mode. The value can be 0 (standard) or 1 (advanced). The parameters of the advanced mode cannot be described in the same document of the same API. For details, see this parameter on the console page.

+

Enumeration values:

+
  • 0

    +
  • 1

    +
+

action

+

No

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

tag_type

+

No

+

String

+

Protection mode.

+
  • ip: A website visitor is identified by the IP address.

    +
  • cookie: A website visitor is identified by the cookie key value.

    +
  • other: A website visitor is identified by the Referer field (user-defined request source).

    +
+

Enumeration values:

+
  • ip

    +
  • other

    +
  • cookie

    +
+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 4 action

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

No

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + + + +
Table 5 detail

Parameter

+

Mandatory

+

Type

+

Description

+

response

+

No

+

response object

+

Returned page.

+
+
+ +
+ + + + + + + + + + + + + + + + +
Table 6 response

Parameter

+

Mandatory

+

Type

+

Description

+

content_type

+

No

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

No

+

String

+

Protection page content.

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

url

+

String

+

When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name.

+
  • Prefix match: A path ending with * indicates that the path is used as a prefix. For example, to protect /admin/test.php or /adminabc, you can set Path to /admin*.

    +
  • Exact match: The path you enter must exactly match the path you want to protect. If the path you want to protect is /admin, set url to /admin.

    +
+

prefix

+

Boolean

+

Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used.

+

mode

+

Integer

+

Mode.

+
  • 0: Standard.

    +
  • 1: Advanced

    +
+

limit_num

+

String

+

Number of requests allowed from a web visitor in a rate limiting period

+

limit_period

+

String

+

Rate limiting period

+

lock_time

+

String

+

How long a web visitor will be locked The value range is [0 to 2^32), in seconds.

+

tag_type

+

String

+

Protection mode.

+
  • ip: IP-based rate limiting. Website visitors are identified by IP address.

    +
  • cookie: User-based rate limiting. Website visitors are identified by the cookie key value.

    +
  • other: A website visitor is identified by the Referer field (user-defined request source).

    +
+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

description

+

String

+

Rule description

+

action

+

action object

+

Action to take if the number of requests reaches the upper limit.

+

conditions

+

Array of conditions objects

+

Condition list. This parameter is returned when mode is set to 1.

+

timestamp

+

Long

+

Time the rule is created.

+
+
+ +
+ + + + + + + + + + + + + +
Table 8 action

Parameter

+

Type

+

Description

+

category

+

String

+

Action type:

+
  • block: WAF blocks discovered attacks.

    +
  • captcha: Verification code. WAF requires visitors to enter a correct verification code to continue their access to requested page on your website.

    +
  • If tag_type is set to other, the value can only be block.

    +
+

detail

+

String

+

Action details. If detail is null, the default block page is displayed by default.

+
  • This parameter cannot be included when category is set to captcha.

    +
  • This parameter is required when category is set to block.

    +
+
+
+ +
+ + + + + + + + + +
Table 9 detail

Parameter

+

Type

+

Description

+

response

+

response object

+

Returned page.

+
+
+ +
+ + + + + + + + + + + + + +
Table 10 response

Parameter

+

Type

+

Description

+

content_type

+

String

+

Content type. The value can only be application/json, text/html, or text/xml.

+

content

+

String

+

Contents

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 11 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are as follows: ip, cookie, and url

+

index

+

String

+

Parameter description:

+
  • When the field type is ip or url, the index parameter is not required.

    +
  • When the field type is cookie and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any.

+
  • When the field type is url, the following matching logics are supported: contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix.

    +
  • When the field type is ip, the following matching logics are supported: equal, not_equal, equal_any, and not_equal_any.

    +
  • When category is set to cookie, the following matching logics are supported: contain, not_contain, equal, not_equal. prefix, not_prefix, suffix, not_suffix, contain_any, and not_contain_any.

    +
+

contents

+

Array of strings

+

Content of the conditions.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 13 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 14 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}?
+
+{
+  "action" : {
+    "category" : "captcha"
+  },
+  "description" : "",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "mode" : 0,
+  "tag_type" : "ip",
+  "url" : "/path1"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "aging_time" : 0,
+  "description" : "",
+  "id" : "a5f3fd28db564696b199228f0ac346b2",
+  "limit_num" : 10,
+  "limit_period" : 60,
+  "lock_time" : 0,
+  "mode" : 0,
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "prefix" : false,
+  "status" : 1,
+  "tag_type" : "ip",
+  "total_num" : 0,
+  "unaggregation" : false,
+  "url" : "/path1"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdateCustomRule.html b/docs/wafd/api-ref/UpdateCustomRule.html new file mode 100644 index 00000000..80280028 --- /dev/null +++ b/docs/wafd/api-ref/UpdateCustomRule.html @@ -0,0 +1,572 @@ + + +

Updating a Precise Protection Rule

+

Function

This API is used to update a precise protection rule.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+

rule_id

+

Yes

+

String

+

rule id

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

time

+

No

+

Boolean

+

Time the precise protection rule takes effect.

+
  • false: The rule takes effect immediately.

    +
  • true: The effective time is customized.

    +
+

start

+

No

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

No

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+

description

+

No

+

String

+

Rule description

+

conditions

+

No

+

Array of CustomConditions objects

+

Match condition List

+

action

+

No

+

CustomAction object

+

Protective action of the precise protection rule.

+

priority

+

No

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 CustomConditions

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

No

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

No

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

No

+

Array of strings

+

Condition content for matching the rule

+

value_list_id

+

No

+

String

+

ID of the reference table

+
+
+ +
+ + + + + + + + + + + +
Table 5 CustomAction

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID.

+

description

+

String

+

Rule description

+

status

+

Integer

+

Rule status. The value can be 0 or 1.

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

conditions

+

Array of conditions objects

+

List of matching conditions. All conditions must be met.

+

action

+

CustomAction object

+

Protective action of the precise protection rule.

+

action_mode

+

Boolean

+

This parameter is reserved and can be ignored.

+

priority

+

Integer

+

Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000.

+

timestamp

+

Long

+

Timestamp when the precise protection rule is created.

+

start

+

Long

+

Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true.

+

terminal

+

Long

+

Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 7 conditions

Parameter

+

Type

+

Description

+

category

+

String

+

Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request.

+

index

+

String

+

Subfield

+
  • When the field type is url, user-agent, ip, refer, request_line, method, or request, index is not required.

    +
  • If the field type is params, header, or cookie, and the subfield is customized, the value of index is the customized subfield.

    +
+

logic_operation

+

String

+

Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI.

+

contents

+

Array of strings

+

Content of the conditions.

+
+
+ +
+ + + + + + + + + +
Table 8 CustomAction

Parameter

+

Type

+

Description

+

category

+

String

+

Action type.

+
  • block: WAF blocks attacks.

    +
  • pass: WAF allows requests.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 9 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}?
+
+{
+    "description": "",
+    "action": {
+        "category": "block"
+    },
+    "priority": 50,
+    "conditions": [
+        {
+            "category": "header",
+            "logic_operation": "contain",
+            "index": "demo2"
+            "content" ["demo"]
+        }
+    ],
+    ],
+    "time": false
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "action" : {
+    "category" : "block"
+  },
+  "action_mode" : false,
+  "aging_time" : 0,
+  "conditions" : [ {
+    "category" : "header",
+    "index" : "demo2",
+    "logic_operation" : "contain",
+    "content" : [ "demo" ]
+  } ],
+  "description" : "",
+  "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "priority" : 50,
+  "status" : 1,
+  "time" : false
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdateGeoipRule.html b/docs/wafd/api-ref/UpdateGeoipRule.html new file mode 100644 index 00000000..e2442f7f --- /dev/null +++ b/docs/wafd/api-ref/UpdateGeoipRule.html @@ -0,0 +1,380 @@ + + +

Updating a Geolocation Access Control Rule

+

Function

This API is used to update a geolocation access control rule.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

geoip

+

Yes

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Yes

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

description

+

No

+

String

+

Rule description

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID.

+

policyid

+

String

+

Policy ID

+

geoip

+

String

+

Applicable regions. The value can be the region code.

+
  • CA: Canada

    +
  • US: USA

    +
  • AU: Australia

    +
  • IN: India

    +
  • JP: Japan

    +
  • UK: United Kingdom

    +
  • FR: France

    +
  • DE: Germany

    +
  • BR: Brazil

    +
  • Ukraine: Ukraine

    +
  • Pakistan: Pakistan

    +
  • Palestine: Palestine

    +
  • Israel: Israel

    +
  • Iraq: Afghanistan

    +
  • Libya: Libya

    +
  • Turkey: Turkey

    +
  • Thailand: Thailand

    +
  • Singapore: Singapore

    +
  • South Africa: South Africa

    +
  • Mexico: Mexico

    +
  • Peru: Peru

    +
+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}?
+
+{
+  "white" : 1,
+  "geoip" : "BR"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "02dafa406c4941368a1037b020f15a53",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "name" : "demo",
+  "description" : "demo",
+  "geoip" : "BR",
+  "white" : 1
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdatePolicy.html b/docs/wafd/api-ref/UpdatePolicy.html new file mode 100644 index 00000000..82911059 --- /dev/null +++ b/docs/wafd/api-ref/UpdatePolicy.html @@ -0,0 +1,938 @@ + + +

Updating a Policy

+

Function

This API is used to update a policy. The request body can contain only the part to be updated.

+
+

URI

PATCH /v1/{project_id}/waf/policy/{policy_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID. It can be obtained by calling the API Querying Protection Policies.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

No

+

String

+

Array of details of policies

+

action

+

No

+

PolicyAction object

+

PolicyAction

+

options

+

No

+

PolicyOption object

+

PolicyOption

+

level

+

No

+

Integer

+

Protection level

+
  • 1: WAF detects wget, cURL, and more but does not detect XSS and command injection attacks in the header, so you may miss more vulnerabilities that actually exist. If you find out that configured protection rules are affecting your services, adjust the protection level to 1.

    +
  • 2: WAF detects remote file inclusion, third-party software vulnerabilities, web shell, and cp and ftp commands. This is the default value.

    +
  • 3: If you need a stricter protection level, set this parameter to 3. This may increase the false positive rate but decrease the false negative rate, such as nc, nmap, and kill.

    +
+

full_detection

+

No

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+
+
+ +
+ + + + + + + + + + + +
Table 4 PolicyAction

Parameter

+

Mandatory

+

Type

+

Description

+

category

+

No

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5 PolicyOption

Parameter

+

Mandatory

+

Type

+

Description

+

webattack

+

No

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

No

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

No

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

No

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

No

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

No

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

No

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

No

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

No

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

No

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

No

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

No

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

No

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

No

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

No

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

No

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

No

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

No

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

No

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

No

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Policy ID

+

name

+

String

+

Array of details of policies

+

action

+

PolicyAction object

+

PolicyAction

+

options

+

PolicyOption object

+

PolicyOption

+

level

+

Integer

+

Protection level

+
  • 1: WAF detects wget, cURL, and more but does not detect XSS and command injection attacks in the header, so you may miss more vulnerabilities that actually exist. If you find out that configured protection rules are affecting your services, adjust the protection level to 1.

    +
  • 2: WAF detects remote file inclusion, third-party software vulnerabilities, web shell, and cp and ftp commands. This is the default value.

    +
  • 3: If you need a stricter protection level, set this parameter to 3. This may increase the false positive rate but decrease the false negative rate, such as nc, nmap, and kill.

    +
+

full_detection

+

Boolean

+

Detection mode in the precise protection rule

+
  • true: full detection. WAF blocks all requests that hit the configured precise protection rule when it finishes all threat detections.

    +
  • false: instant detection. WAF immediately ends threat detection and blocks the request that hits the configured precise protection rule.

    +
+

bind_host

+

Array of BindHost objects

+

Basic information about the protected domain.

+

timestamp

+

Integer

+

Time a policy is created

+

extend

+

Map<String,String>

+

Extended field

+
+
+ +
+ + + + + + + + + +
Table 7 PolicyAction

Parameter

+

Type

+

Description

+

category

+

String

+

Protection level. The value can be:

+
  • block: WAF blocks attacks.

    +
  • log: WAF only logs detected attacks.

    +
+

Enumeration values:

+
  • block

    +
  • log

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 8 PolicyOption

Parameter

+

Type

+

Description

+

webattack

+

Boolean

+

Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

common

+

Boolean

+

Whether general check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

anticrawler

+

Boolean

+

Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler

+

Boolean

+

Whether feature-based anti-crawler is enabled. This parameter is fixed at true.

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_engine

+

Boolean

+

Whether the search engine is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_scanner

+

Boolean

+

Whether the scanner check in anti-crawler detection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_script

+

Boolean

+

Whether the JavaScript anti-crawler is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

crawler_other

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

webshell

+

Boolean

+

Whether other crawler check is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

cc

+

Boolean

+

Whether the CC attack protection rule is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

custom

+

Boolean

+

Whether precise protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

whiteblackip

+

Boolean

+

Whether blacklist and whitelist protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

geoip

+

Boolean

+

Whether geolocation access control is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

ignore

+

Boolean

+

Whether false alarm masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

privacy

+

Boolean

+

Whether data masking is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antitamper

+

Boolean

+

Whether the web tamper protection is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

antileakage

+

Boolean

+

Whether the information leakage prevention is enabled. The value can be:

+
  • true: enabled

    +
  • false: disabled

    +
+

bot_enable

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

precise

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+

followed_action

+

Boolean

+

This parameter is redundant in this version. It will be used in the later versions.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 9 BindHost

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF

+

hostname

+

String

+

Domain name

+

waf_type

+

String

+

WAF mode of the domain name. The value is premium.

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 10 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PATCH https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?
+
+{
+  "options" : {
+    "whiteblackip" : true
+  }
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "name" : "demo",
+  "level" : 2,
+  "action" : {
+    "category" : "log"
+  },
+  "options" : {
+    "webattack" : true,
+    "common" : true,
+    "crawler" : true,
+    "crawler_engine" : false,
+    "crawler_scanner" : true,
+    "crawler_script" : false,
+    "crawler_other" : false,
+    "webshell" : false,
+    "cc" : true,
+    "custom" : true,
+    "precise" : false,
+    "whiteblackip" : true,
+    "geoip" : true,
+    "ignore" : true,
+    "privacy" : true,
+    "antitamper" : true,
+    "anticrawler" : false,
+    "antileakage" : false,
+    "followed_action" : false,
+    "bot_enable" : true
+  },
+  "hosts" : [ "c0268b883a854adc8a2cd352193b0e13" ],
+  "timestamp" : 1650529538732,
+  "full_detection" : false,
+  "bind_host" : [ {
+    "id" : "c0268b883a854adc8a2cd352193b0e13",
+    "hostname" : "www.demo.com",
+    "waf_type" : "cloud"
+  } ],
+  "share_info" : {
+    "is_receiver" : false,
+    "provider_display" : {
+      "share_count" : 0,
+      "accept_count" : 0,
+      "process_status" : 0
+    }
+  }
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdatePolicyRuleStatus.html b/docs/wafd/api-ref/UpdatePolicyRuleStatus.html new file mode 100644 index 00000000..32e4becd --- /dev/null +++ b/docs/wafd/api-ref/UpdatePolicyRuleStatus.html @@ -0,0 +1,278 @@ + + +

Changing the Status of a Policy Rule

+

Function

This API is used to change the status of a policy rule.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/status

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

ruletype

+

Yes

+

String

+

Rule type

+
  • cc -custom

    +
  • whiteblackip

    +
  • privacy

    +
  • ignore

    +
  • geoip

    +
  • antitamper

    +
+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User Token.

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

status

+

No

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

Enumeration values:

+
  • 0

    +
  • 1

    +
+
+
+
+

Response Parameters

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/status?
+
+{
+  "status" : 0
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "action" : {
+    "category" : "block"
+  },
+  "action_mode" : false,
+  "conditions" : [ {
+    "category" : "header",
+    "index" : "demo",
+    "logic_operation" : "contain",
+    "content" : [ "demo" ]
+  } ],
+  "description" : "",
+  "id" : "2a3caa2bc9814c09ad73d02e3485b4a4",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "priority" : 50,
+  "status" : 0,
+  "time" : false,
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdatePremiumHost.html b/docs/wafd/api-ref/UpdatePremiumHost.html new file mode 100644 index 00000000..98b74db4 --- /dev/null +++ b/docs/wafd/api-ref/UpdatePremiumHost.html @@ -0,0 +1,736 @@ + + +

Modifying a Domain Name Protected by a Dedicated WAF Instance

+

Function

This API is used to modify a domain name protected by a dedicated WAF instance.

+
+

URI

PUT /v1/{project_id}/premium-waf/host/{host_id}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

host_id

+

Yes

+

String

+

This API is used to modify a domain name protected by a dedicated WAF instance.

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

Yes

+

String

+

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

proxy

+

No

+

Boolean

+

Whether a proxy is used for the domain name. If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies.

+

certificateid

+

No

+

String

+

HTTPS certificate ID. It can be obtained by calling the ListCertificates API.

+

certificatename

+

No

+

String

+

HTTPS certificate name. It can be obtained by calling the ListCertificates API. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported.

+

tls

+

No

+

String

+

Minimum TLS version supported.

+
  • TLS v1.0 is used by default.

    +
  • The value can be:TLS v1.0TLS v1.1TLS v1.2TLS v1.3

    +
+

cipher

+

No

+

String

+

Cipher suite. The value can be:

+
  • cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

    +
  • cipher_2: EECDH+AESGCM:EDH+AESGCM

    +
  • cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

    +
  • cipher_4. ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH n - cipher_default: ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

    +
+

protect_status

+

No

+

Integer

+

WAF status of the protected domain name.

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks. -1: Enabled. WAF detects attacks based on the configured policy.

    +
+

block_page

+

No

+

BlockPage object

+

Alarm configuration page

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 4 BlockPage

Parameter

+

Mandatory

+

Type

+

Description

+

template

+

Yes

+

String

+

Template name

+

custom_page

+

No

+

CustomPage object

+

Custom alarm page

+

redirect_url

+

No

+

String

+

Redirection URL

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 5 CustomPage

Parameter

+

Mandatory

+

Type

+

Description

+

status_code

+

Yes

+

String

+

Status Codes

+

content_type

+

Yes

+

String

+

Content type of alarm page

+

content

+

Yes

+

String

+

Page content

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Domain name ID

+

policyid

+

String

+

ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies.

+

hostname

+

String

+

Domain name added to cloud WAF.

+

domainid

+

String

+

User domain ID

+

project_id

+

String

+

Project ID

+

protocol

+

String

+

HTTP protocol

+

tls

+

String

+

Minimum TLS version supported.

+
  • TLS v1.0 is used by default.

    +
  • The value can be:TLS v1.0TLS v1.1TLS v1.2TLS v1.3

    +
+

cipher

+

String

+

Cipher suite. The value can be:

+
  • cipher_1: ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

    +
  • cipher_2: EECDH+AESGCM:EDH+AESGCM

    +
  • cipher_3: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

    +
  • cipher_4. ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH n - cipher_default: ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

    +
+

server

+

Array of PremiumWafServer objects

+

Origin server details

+

certificateid

+

String

+

HTTPS certificate ID. It can be obtained by calling the ListCertificates API. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS.

+

certificatename

+

String

+

Certificate name. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS.

+

proxy

+

Boolean

+

Whether the proxy is enabled

+

locked

+

Integer

+

Lock status. This parameter is redundant and can be ignored. Default value: 0

+

Default: 0

+

protect_status

+

Integer

+

WAF status of the protected domain name. The value can be:

+
  • -1: Bypassed. Requests are directly sent to the backend servers without passing through WAF.

    +
  • 0: Suspended. WAF only forwards requests for the domain name but does not detect attacks.

    +
  • 1: Enabled. WAF detects attacks based on the configured policy.

    +
+

access_status

+

Integer

+

Whether a domain name is connected to WAF.

+
  • 0: The domain name is not connected to the engine instance.

    +
  • 1: The domain name is connected to the engine instance.

    +
+

timestamp

+

Long

+

Time a domain name is added to WAF

+

flag

+

Flag object

+

Special domain name identifier, which is used to store additional domain name configurations

+

block_page

+

BlockPage object

+

Alarm configuration page

+

extend

+

Map<String,String>

+

Extended attribute

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7 PremiumWafServer

Parameter

+

Type

+

Description

+

front_protocol

+

String

+

Client protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

back_protocol

+

String

+

Server protocol

+

Enumeration values:

+
  • HTTP

    +
  • HTTPS

    +
+

address

+

String

+

IP address or domain name of the origin server that the client accesses.

+

port

+

Integer

+

Server port

+

type

+

String

+

The origin server address is an IPv4 or IPv6 address. Default value: ipv4

+

Enumeration values:

+
  • ipv4

    +
  • ipv6

    +
+

vpc_id

+

String

+

VPC ID. Perform the following steps to obtain the VPC ID:

+
  • 1.Find the name of the VPC where the dedicated engine is located. The VPC name is in the VPC\Subnet column. Log in to the WAF console and choose Instance Management > Dedicated Engine > VPC\Subnet.

    +
  • Log in to the VPC console and click the VPC name. On the page displayed, copy the VPC ID in the VPC Information area.

    +
+
+
+ +
+ + + + + + + + + + + + + +
Table 8 Flag

Parameter

+

Type

+

Description

+

pci_3ds

+

String

+

Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter.

+
  • true: PCI 3DS check is enabled.

    +
  • false: PCI 3DS check is disenabled.

    +
+

pci_dss

+

String

+

Whether PCI DDS certification check is enabled for the domain name.

+
  • true: PCI DDS check is enabled.

    +
  • false: PCI DDS check is disenabled.

    +
+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 9 BlockPage

Parameter

+

Type

+

Description

+

template

+

String

+

Template name

+

custom_page

+

CustomPage object

+

Custom alarm page

+

redirect_url

+

String

+

Redirection URL

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 10 CustomPage

Parameter

+

Type

+

Description

+

status_code

+

String

+

Status Codes

+

content_type

+

String

+

Content type of alarm page

+

content

+

String

+

Page content

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 11 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 12 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 13 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}?
+
+{
+  "proxy" : true
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "ee896796e1a84f3f85865ae0853d8974",
+  "hostname" : "www.demo.com",
+  "protocol" : "HTTPS",
+  "server" : [ {
+    "address" : "1.2.3.4",
+    "port" : 443,
+    "type" : "ipv4",
+    "weight" : 1,
+    "front_protocol" : "HTTPS",
+    "back_protocol" : "HTTPS",
+    "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d"
+  } ],
+  "proxy" : true,
+  "locked" : 0,
+  "timestamp" : 1650593801380,
+  "flag" : {
+    "pci_3ds" : "false",
+    "pci_dss" : "false"
+  },
+  "extend" : { },
+  "block_page" : {
+    "template" : "default"
+  },
+  "description" : "",
+  "policyid" : "df15d0eb84194950a8fdc615b6c012dc",
+  "domainid" : "0ee78615ca08419f81f539d97c9ee353",
+  "projectid" : "550500b49078408682d0d4f7d923f3e1",
+  "protect_status" : 1,
+  "access_status" : 0,
+  "certificateid" : "360f992501a64de0a65c50a64d1ca7b3",
+  "certificatename" : "certificatename75315"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Invalid request

+

401

+

The token does not have the required permission.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdatePrivacyRule.html b/docs/wafd/api-ref/UpdatePrivacyRule.html new file mode 100644 index 00000000..4fe7f6f7 --- /dev/null +++ b/docs/wafd/api-ref/UpdatePrivacyRule.html @@ -0,0 +1,360 @@ + + +

Updating the Data Masking Rule List

+

Function

This API is used to update the data masking rule list.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

auth token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

url

+

Yes

+

String

+

URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin.

+

category

+

Yes

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

Yes

+

String

+

Name of the masked field

+

description

+

No

+

String

+

Rule description

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID

+

timestamp

+

Long

+

Time the rule is created. The value is a 13-digit timestamp in ms.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

url

+

String

+

URL protected by the data masking rule

+

category

+

String

+

Masked field

+

Enumeration values:

+
  • params

    +
  • cookie

    +
  • header

    +
  • form

    +
+

index

+

String

+

Name of the masked field

+

description

+

String

+

Rule description

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?enterprise_project_id=0
+
+{
+  "url" : "/login",
+  "category" : "header",
+  "index" : "token",
+  "description" : ""
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "category" : "header",
+  "description" : "",
+  "id" : "41a5674e03a1470a90ac4761ec4657b4",
+  "index" : "token",
+  "policyid" : "1f016cde588646aca3fb19f277c44d03",
+  "status" : 1,
+  "timestamp" : 1656504425319,
+  "url" : "/login"
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdateValueList.html b/docs/wafd/api-ref/UpdateValueList.html new file mode 100644 index 00000000..4c40eee1 --- /dev/null +++ b/docs/wafd/api-ref/UpdateValueList.html @@ -0,0 +1,325 @@ + + +

Modifying a Reference Table

+

Function

This API is used to modify a reference table.

+
+

URI

PUT /v1/{project_id}/waf/valuelist/{valuelistid}

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

valuelistid

+

Yes

+

String

+

Reference table ID. It can be obtained by calling the API Querying the Reference Table List

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

name

+

Yes

+

String

+

Reference table name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed.

+

type

+

Yes

+

String

+

Reference table type. For details, see the enumeration list

+

Enumeration values:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • resopnse_body

    +
+

values

+

No

+

Array of strings

+

Value of the reference table

+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of a reference table

+

name

+

String

+

Reference table name

+

type

+

String

+

The value can be:

+
  • url

    +
  • params

    +
  • ip

    +
  • cookie

    +
  • referer

    +
  • user-agent

    +
  • header

    +
  • response_code

    +
  • response_header

    +
  • response_body

    +
+

timestamp

+

String

+

Reference table timestamp

+

values

+

Array of strings

+

Value of the reference table

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/valuelist/{valuelistid}?
+
+{
+  "name" : "demo2",
+  "type" : "url",
+  "values" : [ "/demo" ]
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "3978ca9403844a62bbd24bb5b8d16d4e",
+  "name" : "demo2",
+  "type" : "url",
+  "values" : [ "/demo" ],
+  "timestamp" : 1656495488880
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpdateWhiteblackipRule.html b/docs/wafd/api-ref/UpdateWhiteblackipRule.html new file mode 100644 index 00000000..29e41fdf --- /dev/null +++ b/docs/wafd/api-ref/UpdateWhiteblackipRule.html @@ -0,0 +1,338 @@ + + +

Updating a Blacklist or Whitelist Rule

+

Function

This API is used to update an IP address blacklist or whitelist rule.

+
+

URI

PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID

+

policy_id

+

Yes

+

String

+

Policy ID

+

rule_id

+

Yes

+

String

+

Rule ID

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

User Token

+

Content-Type

+

Yes

+

String

+

Content type

+

Default: application/json;charset=utf8

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

description

+

No

+

String

+

Rule description.

+

addr

+

Yes

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Yes

+

Object

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

Rule ID

+

policyid

+

String

+

Policy ID.

+

timestamp

+

Long

+

Rule creation time

+

description

+

String

+

Rule description.

+

status

+

Integer

+

Rule status. The value can be:

+
  • 0: The rule is disabled.

    +
  • 1: The rule is enabled.

    +
+

addr

+

String

+

lacklisted or whitelisted IP addresses

+

white

+

Integer

+

Protective action. The value can be:

+
  • 0: WAF blocks the requests that hit the rule.

    +
  • 1: WAF allows the requests that hit the rule.

    +
  • 2: WAF only logs the requests that hit the rule.

    +
+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 5 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}?
+
+{
+  "white" : 0,
+  "description" : "demo",
+  "addr" : "10.1.1.2"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "5d43af25404341058d5ab17b7ba78b56",
+  "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d",
+  "timestamp" : 1650531872900,
+  "description" : "demo",
+  "status" : 1,
+  "addr" : "10.1.1.2",
+  "white" : 0
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/UpgradeInstance.html b/docs/wafd/api-ref/UpgradeInstance.html new file mode 100644 index 00000000..b3adacf5 --- /dev/null +++ b/docs/wafd/api-ref/UpgradeInstance.html @@ -0,0 +1,464 @@ + + +

Operations on a Dedicated WAF Instance

+

Function

This API is used to operate a dedicated WAF instance.

+
+

URI

POST /v1/{project_id}/premium-waf/instance/{instance_id}/action

+ +
+ + + + + + + + + + + + + + + + +
Table 1 Path Parameters

Parameter

+

Mandatory

+

Type

+

Description

+

project_id

+

Yes

+

String

+

Project ID.

+

instance_id

+

Yes

+

String

+

ID of the dedicated WAF engine

+
+
+
+

Request Parameters

+
+ + + + + + + + + + + + + + + + +
Table 2 Request header parameters

Parameter

+

Mandatory

+

Type

+

Description

+

Content-Type

+

Yes

+

String

+

Content type. Default value: application/json;charset=utf8

+

Default: application/json;charset=utf8

+

X-Auth-Token

+

No

+

String

+

User token.

+
+
+ +
+ + + + + + + + + + + +
Table 3 Request body parameters

Parameter

+

Mandatory

+

Type

+

Description

+

action

+

Yes

+

String

+

peration name.

+
  • upgrade: Upgrade the software version of the dedicated WAF engine.

    +
+
+
+
+

Response Parameters

Status code: 200

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 Response body parameters

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the dedicated WAF engine

+

instance_name

+

String

+

Name of the dedicated WAF engine.

+

instancename

+

String

+

Name of the dedicated WAF engine. This parameter is repeated and can be ignored.

+

region

+

String

+

Region where a dedicated engine is to be created. Its value is EU-DE.

+

zone

+

String

+

AZ ID.

+

arch

+

String

+

CPU architecture

+

cpu_flavor

+

String

+

ECS specification ID

+

vpc_id

+

String

+

ID of the VPC where the dedicated engine is located

+

subnet_id

+

String

+

Subnet ID of the VPC where the dedicated engine is located.

+

service_ip

+

String

+

Service plane IP address of the dedicated engine

+

service_ipv6

+

String

+

IPv6 address of the service plane of the dedicated engine

+

security_group_ids

+

Array of strings

+

Security groups bound to the dedicated engine ECS

+

status

+

Integer

+

Billing status of dedicated WAF engine. The value can be 0, 1, or 2.

+
  • 0: The billing is normal.

    +
  • 1: The billing account is frozen. Resources and data will be retained, but the cloud services cannot be used by the account.

    +
  • 2: The billing is terminated. Resources and data will be cleared.

    +
+

run_status

+

Integer

+

unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed).

+

access_status

+

Integer

+

Access status of the dedicated engine. The value can be 0 or 1.

+
  • 0: the dedicated engine is not connected.

    +
  • 1: the dedicated engine is connected.

    +
+

upgradable

+

Integer

+

Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes.

+

cloudServiceType

+

String

+

Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it.

+

resourceType

+

String

+

Cloud service resource type. Cloud services are purchased by resource type. You can ignore it.

+

resourceSpecCode

+

String

+

Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it.

+

specification

+

String

+

Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB.

+

hosts

+

Array of IdHostnameEntry objects

+

Domain name protected by the dedicated engine.

+

server_id

+

String

+

ID of the ECS hosting the dedicated engine.

+

serverId

+

String

+

ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted.

+
+
+ +
+ + + + + + + + + + + + + +
Table 5 IdHostnameEntry

Parameter

+

Type

+

Description

+

id

+

String

+

ID of the protected domain name. This is a unique ID automatically generated by the system.

+

hostname

+

String

+

Protected domain name

+
+
+

Status code: 400

+ +
+ + + + + + + + + + + + + +
Table 6 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 401

+ +
+ + + + + + + + + + + + + +
Table 7 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+

Status code: 500

+ +
+ + + + + + + + + + + + + +
Table 8 Response body parameters

Parameter

+

Type

+

Description

+

error_code

+

String

+

Error code

+

error_msg

+

String

+

Error message

+
+
+
+

Example Requests

POST https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id}/action
+
+{
+  "action" : "upgrade"
+}
+
+

Example Responses

Status code: 200

+

Request succeeded.

+
{
+  "id" : "0619871acb764d48a112695e8f7cbb10",
+  "region" : "region-01-7",
+  "zone" : "region-01-7a",
+  "specification" : "8vCPUs | 16GB",
+  "arch" : "x86",
+  "upgradable" : 0,
+  "status" : 0,
+  "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63",
+  "cloudServiceType" : "hws.service.type.waf",
+  "resourceType" : "hws.resource.type.waf.instance",
+  "resourceSpecCode" : "waf.instance.enterprise",
+  "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589",
+  "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc",
+  "service_ip" : "192.168.10.68",
+  "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ],
+  "cpu_flavor" : "Si2.2xlarge.2",
+  "run_status" : 2,
+  "access_status" : 1,
+  "hosts" : [ {
+    "id" : "c3be17bbe3a641c7a1ded6019c377402",
+    "hostname" : "demo.www.com"
+  } ],
+  "instancename" : "0412elb",
+  "instance_name" : "0412elb",
+  "create_time" : 1649923548548
+}
+
+

Status Codes

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

Request succeeded.

+

400

+

Request failed.

+

401

+

The token does not have required permissions.

+

500

+

Internal server error.

+
+
+
+

Error Codes

See Error Codes.

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/public_sys-resources/caution_3.0-en-us.png b/docs/wafd/api-ref/public_sys-resources/caution_3.0-en-us.png new file mode 100644 index 00000000..60f60762 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/caution_3.0-en-us.png differ diff --git a/docs/wafd/api-ref/public_sys-resources/commonltr.css b/docs/wafd/api-ref/public_sys-resources/commonltr.css new file mode 100644 index 00000000..c5480b0a --- /dev/null +++ b/docs/wafd/api-ref/public_sys-resources/commonltr.css @@ -0,0 +1 @@ +body{font-size:10pt;font-family:Arial;margin:1.5em;border-top:2pt;padding-top:1em;padding-bottom:2em}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:.6em;margin-bottom:.6em}p{margin-top:.5em;margin-bottom:.5em}.note p{margin-top:.5em;margin-bottom:.5em}.tip p{margin-top:.5em;margin-bottom:.5em}.danger p{margin-top:.5em;margin-bottom:.5em}.notice p{margin-top:.5em;margin-bottom:.5em}.warning p{margin-top:.5em;margin-bottom:.5em}.caution p{margin-top:.5em;margin-bottom:.5em}.attention p{margin-top:.5em;margin-bottom:.5em}table p{margin-top:.2em;margin-bottom:.2em}table .p{margin-top:.4em;margin-bottom:.2em}.figcap{font-size:10pt}img{margin-top:.3em}.figdesc{font-style:normal}.figborder{border-style:solid;padding-left:3px;border-width:2px;padding-right:3px;margin-top:1em;border-color:Silver}.figsides{border-left:2px solid;padding-left:3px;border-right:2px solid;padding-right:3px;margin-top:1em;border-color:Silver}.figtop{border-top:2px solid;margin-top:1em;border-color:Silver}.figbottom{border-bottom:2px solid;border-color:Silver}.figtopbot{border-top:2px solid;border-bottom:2px solid;margin-top:1em;border-color:Silver}.fignone{font-size:10pt;margin-top:8pt;margin-bottom:8pt}.familylinks{margin-top:1.5em;margin-bottom:1em}.ullinks{list-style-type:none}.linklist{margin-bottom:1em}.linklistwithchild{margin-left:1.5em;margin-bottom:1em}.sublinklist{margin-left:1.5em;margin-bottom:1em}.relconcepts{margin-top:.6em;margin-bottom:.6em}.reltasks{margin-top:.6em;margin-bottom:.6em}.relref{margin-top:.6em;margin-bottom:.6em}.relinfo{margin-top:.6em;margin-bottom:.6em}.breadcrumb{font-size:smaller;margin-bottom:.6em}.prereq{margin-left:20px}.parentlink{margin-top:.6em;margin-bottom:.6em}.nextlink{margin-top:.6em;margin-bottom:.6em}.previouslink{margin-top:.6em;margin-bottom:.6em}.topictitle1{margin-top:0;margin-bottom:1em;font-size:14pt;color:#007af4}.topictitle2{margin-top:1pc;margin-bottom:.45em;font-size:1.17em;color:#007af4}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-size:1.17em;font-weight:bold;color:#007af4}.topictitle4{margin-top:.83em;font-size:1.17em;font-weight:bold}.topictitle5{font-size:1.17em;font-weight:bold}.topictitle6{font-size:1.17em;font-style:italic}.sectiontitle{margin-top:1em;margin-bottom:1em;color:black;font-size:10.5pt;font-weight:bold;color:#007af4;overflow:auto}.section{margin-top:1em;margin-bottom:1em}.example{margin-top:1em;margin-bottom:1em}.sectiontitle2contents:link{color:#007af4}.sectiontitle2contents:visited{color:#800080}.note{margin-top:1em;margin-bottom:1em;background-color:#ffc}.notetitle{font-weight:bold}.notelisttitle{font-weight:bold}.tip{margin-top:1em;margin-bottom:1em;background-color:#ffc}.tiptitle{font-weight:bold}.fastpath{margin-top:1em;margin-bottom:1em;background-color:#ffc}.fastpathtitle{font-weight:bold}.important{margin-top:1em;margin-bottom:1em;background-color:#ffc}.importanttitle{font-weight:bold}.remember{margin-top:1em;margin-bottom:1em;background-color:#ffc}.remembertitle{font-weight:bold}.restriction{margin-top:1em;margin-bottom:1em;background-color:#ffc}.restrictiontitle{font-weight:bold}.attention{margin-top:1em;margin-bottom:1em;background-color:#ffc}.attentiontitle{font-weight:bold}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;background-color:#ffc}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;background-color:#ffc}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;background-color:#ffc}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;background-color:#ffc}ul.simple{list-style-type:none}li ul{margin-top:.6em}li{margin-top:.6em;margin-bottom:.6em}.note li{margin-top:.2em;margin-bottom:.2em}.tip li{margin-top:.2em;margin-bottom:.2em}.danger li{margin-top:.2em;margin-bottom:.2em}.warning li{margin-top:.2em;margin-bottom:.2em}.notice li{margin-top:.2em;margin-bottom:.2em}.caution li{margin-top:.2em;margin-bottom:.2em}.attention li{margin-top:.2em;margin-bottom:.2em}table li{margin-top:.2em;margin-bottom:.2em}ol{margin-top:1em;margin-bottom:1em;margin-left:2.4em;padding-left:0}ul{margin-top:1em;margin-bottom:1em;margin-left:2.0em;padding-left:0}ol ul{list-style:disc}ul ul{list-style:square}ol ul ul{list-style:square}ol ul{list-style-type:disc}table ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}table ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ul{margin-top:.4em;margin-bottom:.4em;list-style:square}table ol ol{margin-top:.4em;margin-bottom:.4em;list-style:lower-alpha}table ol ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}.substepthirdol{list-style-type:lower-roman}.firstcol{font-weight:bold}th{background-color:#cfcfcf}table{margin-top:8pt;margin-bottom:12pt;width:100%}table caption{margin-top:8pt;text-align:left}.bold{font-weight:bold}.boldItalic{font-weight:bold;font-style:italic}.italic{font-style:italic}.underlined{text-decoration:underline}.var{font-style:italic}.shortcut{text-decoration:underline}.dlterm{font-weight:bold}dd{margin-top:.5em;margin-bottom:.5em}.dltermexpand{font-weight:bold;margin-top:1em}*[compact="yes"]>li{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:.3em;margin-bottom:.3em}.substepexpand{margin-top:.3em;margin-bottom:.3em}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;background-color:#ddd;white-space:pre}.hrcopyright{color:#3f4e5d;margin-top:18pt}.hwcopyright{text-align:center}.comment{margin:2px 2px 2px 2px;font-family:Arial;font-size:10pt;background-color:#bfb;color:#000}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowncontext{display:none}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdowncollapsetable{border:0}.dropdowncollapsetable .dropdowncontext{display:none}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}pre{font-size:10pt;font-weight:normal;margin-left:9;margin-top:2;margin-bottom:2}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0} \ No newline at end of file diff --git a/docs/wafd/api-ref/public_sys-resources/commonltr_print.css b/docs/wafd/api-ref/public_sys-resources/commonltr_print.css new file mode 100644 index 00000000..a5982314 --- /dev/null +++ b/docs/wafd/api-ref/public_sys-resources/commonltr_print.css @@ -0,0 +1 @@ +body{font-size:12.0pt;margin:1.5em;margin-left:1.6cm}.msgph{font-family:Courier New}.rowlinecopyright{color:red;margin-top:10pt}.unresolved{background-color:skyblue}.noTemplate{background-color:yellow}.base{background-color:#fff}.nested0{margin-top:1em}.p{margin-top:1em}p{margin-top:.5em;margin-bottom:.5em}.note p{margin-top:.5em;margin-bottom:.5em}.tip p{margin-top:.5em;margin-bottom:.5em}.danger p{margin-top:.5em;margin-bottom:.5em}.warning p{margin-top:.5em;margin-bottom:.5em}.notice p{margin-top:.5em;margin-bottom:.5em}.caution p{margin-top:.5em;margin-bottom:.5em}.attention p{margin-top:.5em;margin-bottom:.5em}table p{margin-top:.2em;margin-bottom:.2em}table .p{margin-top:.4em;margin-bottom:.2em}.covertable{border:0;width:100% cellpadding:8pt;cellspacing:8pt}.cover_productname{font-size:15.0pt;font-family:"Arial"}.cover_manualtitle{font-size:24.0pt;font-weight:bold;font-family:"Arial"}.cover_manualsubtitle{font-size:18.0pt;font-weight:bold;font-family:"Arial"}.cover_heading{font-size:12.0pt;font-weight:bold;font-family:"Arial"}.cover_text{font-size:9.0pt;font-family:"Arial"}.tocheading,.heading1,.topictitle1{margin-top:40.0pt;margin-right:0;margin-bottom:20.0pt;margin-left:-1cm;text-align:left;border:0;border-bottom:solid windowtext .5pt;font-size:22.0pt;font-family:"Arial";font-weight:bold}.topictitlenumber1{font-size:72.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle2{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Arial";font-weight:bold}.topictitle3{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:16.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle4{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:14.0pt;font-family:"Book Antiqua";font-weight:bold}.topictitle5{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.blocklabel,.topictitle6{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.sectiontitle{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:-1cm;text-indent:0;font-size:13.0pt;font-family:"Arial";font-weight:bold}.tocentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Book Antiqua";font-weight:bold}.tocentry2{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry3{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry4{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tocentry5{margin-top:4.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman"}.tofentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.totentry1{margin-top:8.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;line-height:12.0pt;font-size:11.0pt;font-family:"Times New Roman";font-weight:normal}.indexheading{margin-top:15.0pt;margin-right:0;margin-bottom:4.0pt;margin-left:0;text-indent:0;font-size:13.0pt;font-family:"Book Antiqua";font-weight:bold}.indexentry1{margin-top:4pt;margin-right:0;margin-bottom:0;margin-left:0;line-height:12.0pt;font-size:12.0pt;font-family:"Times New Roman"}.indexentry2{margin-top:0;margin-right:0;margin-bottom:0;margin-left:24.0pt;line-height:12.0pt;font-size:12.0pt}.indexentry3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:48pt;line-height:12.0pt;font-size:12.0pt}.figurenumber{font-weight:bold}.tablenumber{font-weight:bold}.familylinks{margin-top:1.5em;margin-bottom:1em}.figcap{font-size:11.0pt}.tablecap{font-size:11.0pt}.figdesc{font-style:normal}.fignone{margin-top:8.0pt}.figborder{border-style:solid;padding-left:3px;border-width:2px;padding-right:3px;margin-top:1em;border-color:Silver}.figsides{border-left:2px solid;padding-left:3px;border-right:2px solid;padding-right:3px;margin-top:1em;border-color:Silver}.figtop{border-top:2px solid;margin-top:1em;border-color:Silver}.figbottom{border-bottom:2px solid;border-color:Silver}.figtopbot{border-top:2px solid;border-bottom:2px solid;margin-top:1em;border-color:Silver}.ullinks{margin-left:0;list-style-type:none}.ulchildlink{margin-top:1em;margin-bottom:1em}.olchildlink{margin-top:1em;margin-bottom:1em;margin-left:1em}.linklist{margin-bottom:1em}.linklistwithchild{margin-left:1.5em;margin-bottom:1em}.sublinklist{margin-left:1.5em;margin-bottom:1em}.relconcepts{margin-left:1cm;margin-top:1em;margin-bottom:1em}.reltasks{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relref{margin-left:1cm;margin-top:1em;margin-bottom:1em}.relinfo{margin-top:1em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-left:0}.parentlink{margin-top:.6em;margin-bottom:.6em}.nextlink{margin-top:.6em;margin-bottom:.6em}.previouslink{margin-top:.6em;margin-bottom:.6em}.section{margin-top:1em;margin-bottom:1em}.example{margin-top:1em;margin-bottom:1em}table .note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.note{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.notetitle{font-weight:bold;font-size:11.0pt}.notelisttitle{font-weight:bold}table .tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.tip{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.tiptitle{font-weight:bold;font-size:11.0pt}table .fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.fastpath{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.fastpathtitle{font-weight:bold;font-size:11.0pt}table .important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.important{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.importanttitle{font-weight:bold;font-size:11.0pt}table .remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.remember{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.remembertitle{font-weight:bold;font-size:11.0pt}table .restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman";font-style:italic}.restriction{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;border-top:solid .5pt;border-bottom:solid .5pt}.restrictiontitle{font-weight:bold;font-size:11.0pt}table .attention{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.attention{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}.attentiontitle{font-weight:bold}table .danger{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.dangertitle{font-weight:bold}.danger{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .notice{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.noticetitle{font-weight:bold}.notice{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .warning{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}.warningtitle{font-weight:bold}.warning{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}table .caution{margin-top:1em;margin-bottom:1em;border:0;font-size:10.0pt;font-family:"Times New Roman"}table caption{margin-top:8pt;text-align:left;font-weight:bold}.tablenoborder{margin-top:8pt}.cautiontitle{font-weight:bold}.caution{margin-top:1em;margin-bottom:1em;border:0;border-top:solid .5pt;border-bottom:solid .5pt}ul.simple{list-style-type:none}li ul{margin-top:.6em}li{margin-top:.6em;margin-bottom:.6em}.note li{margin-top:.2em;margin-bottom:.2em}.tip li{margin-top:.2em;margin-bottom:.2em}.danger li{margin-top:.2em;margin-bottom:.2em}.warning li{margin-top:.2em;margin-bottom:.2em}.notice li{margin-top:.2em;margin-bottom:.2em}.caution li{margin-top:.2em;margin-bottom:.2em}.attention li{margin-top:.2em;margin-bottom:.2em}table li{margin-top:.2em;margin-bottom:.2em}.firstcol{font-weight:bold}th{background-color:#cfcfcf}.bold{font-weight:bold}.boldItalic{font-weight:bold;font-style:italic}.italic{font-style:italic}.underlined{text-decoration:underline}.var{font-style:italic}.shortcut{text-decoration:underline}.dlterm{font-weight:bold}dd{margin-top:.5em;margin-bottom:.5em}.dltermexpand{font-weight:bold;margin-top:1em}*[compact="yes"]>li{margin-top:0}*[compact="no"]>li{margin-top:.53em}.liexpand{margin-top:1em;margin-bottom:1em}.sliexpand{margin-top:1em;margin-bottom:1em}.dlexpand{margin-top:1em;margin-bottom:1em}.ddexpand{margin-top:1em;margin-bottom:1em}.stepexpand{margin-top:1em;margin-bottom:1em}.substepexpand{margin-top:1em;margin-bottom:1em}table{margin-top:8pt;margin-bottom:10.0pt;width:100%}thead{font-size:10.0pt;font-family:"Book Antiqua";font-weight:bold}tbody{font-size:11.0pt}ol{margin-top:1em;margin-bottom:1em;margin-left:1.7em;-webkit-padding-start:0}ul{margin-top:1em;margin-bottom:1em;margin-left:1.2em;-webkit-padding-start:0}ol ul{list-style:disc}ul ul{list-style:square}ol ol{list-style-type:lower-alpha}table ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}table ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ul{margin-top:.4em;margin-bottom:.4em;list-style:square}table ol ol{margin-top:.4em;margin-bottom:.4em;list-style:lower-alpha}table ol ul{margin-top:.4em;margin-bottom:.4em;list-style:disc}table ul ol{margin-top:.4em;margin-bottom:.4em;list-style:decimal}.substepthirdol{list-style-type:lower-roman}div.imageleft{text-align:left}div.imagecenter{text-align:center}div.imageright{text-align:right}div.imagejustify{text-align:justify}div.noblankline{text-align:center}div.noblankline img{margin-top:0}pre{font-size:10.0pt;border-width:2px;padding:2px;margin-top:5px;margin-bottom:5px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}pre.screen{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}pre.codeblock{margin-top:2px;margin-bottom:2px;padding:1.5px 1.5px 0 1.5px;border:0;white-space:pre}.dropdownAllButtonexpand{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4}.dropdownAllButtoncollapse{cursor:pointer;background-repeat:no-repeat;background-position:0 4px;padding-left:15px;background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;text-decoration:underline;color:#007af4}.dropdowntitle{background-repeat:no-repeat;background-position:0 4px;padding-left:15px;cursor:pointer;text-decoration:underline;color:#007af4}.dropdownexpand .dropdowntitle{background-image:url(icon-arrowdn.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapse .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.dropdowncollapsetable .dropdowntitle{background-image:url(icon-arrowrt.gif);text-decoration:underline;color:#007af4;margin:0 0 8px 0}.prefacesectiontitle1{margin-top:10.0pt;margin-right:0;margin-bottom:8.0pt;margin-left:-1cm;text-indent:0;font-size:18.0pt;font-family:"Book Antiqua";font-weight:bold;overflow:auto}.termcolor{color:blue;cursor:pointer}#dhtmlgoodies_tooltip{background-color:#f0f0d2;border:1px solid #000;position:absolute;display:none;z-index:20000;padding:2px;font-size:.9em;-moz-border-radius:6px;font-family:"Trebuchet MS","Lucida Sans Unicode",Arial,sans-serif}#dhtmlgoodies_tooltipShadow{position:absolute;background-color:#555;display:none;z-index:10000;opacity:.7;filter:alpha(opacity=70);-khtml-opacity:.7;-moz-opacity:.7;-moz-border-radius:6px}.freeze{position:fixed;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));left:10;top:0}.hrcopyright{color:#3f4e5d;margin-top:18pt;margin-left:-1cm}.hwcopyright{text-align:center;font-family:Arial;margin-left:-1cm} \ No newline at end of file diff --git a/docs/wafd/api-ref/public_sys-resources/commonrtl.css b/docs/wafd/api-ref/public_sys-resources/commonrtl.css new file mode 100644 index 00000000..f261da75 --- /dev/null +++ b/docs/wafd/api-ref/public_sys-resources/commonrtl.css @@ -0,0 +1,2 @@ +/*! Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved. */.msgph{font-family:Courier New}.unresolved{background-color:#87ceeb}.noTemplate{background-color:#ff0}.base{background-color:#fff}/*! Add space for top level topics */.nested0,.p{margin-top:1em}/*! div with class=p is used for paragraphs that contain blocks, to keep the XHTML valid *//*! Default of italics to set apart figure captions */.figcap,.italic,.var{font-style:italic}.figdesc{font-style:normal}/*! Use @frame to create frames on figures */.figborder{padding-left:3px;padding-right:3px;margin-top:1em;border:2px solid Silver}.figsides{margin-top:1em;padding-left:3px;padding-right:3px;border-left:2px solid Silver;border-right:2px solid Silver}.figtop{border-top:2px solid Silver;margin-top:1em}.figbottom{border-bottom:2px solid Silver}.figtopbot{border-top:2px solid Silver;border-bottom:2px solid Silver;margin-top:1em}/*! Most link groups are created with
. Ensure they have space before and after. */.ullinks,ul.simple{list-style-type:none}.attention,.danger,.ddexpand,.dlexpand,.example,.fastpath,.important,.liexpand,.linklist,.note,.notice,.olchildlink,.relconcepts,.relinfo,.relref,.reltasks,.remember,.restriction,.section,.sliexpand,.stepexpand,.substepexpand,.tip,.ulchildlink,.warning{margin-top:1em;margin-bottom:1em}.linklistwithchild,.sublinklist{margin-top:1em;margin-right:1.5em;margin-bottom:1em}.breadcrumb{font-size:smaller;margin-bottom:1em}.prereq{margin-right:20px}/*! Set heading sizes, getting smaller for deeper nesting */.topictitle1{font-size:1.34em;margin-top:0;margin-bottom:.1em}.topictitle2,.topictitle3,.topictitle4,.topictitle5,.topictitle6,.sectiontitle{font-size:1.17em}.topictitle2{margin-top:1pc;margin-bottom:.45em}.topictitle3{margin-top:1pc;margin-bottom:.17em;font-weight:700}.topictitle4{margin-top:.83em;font-weight:700}.topictitle5{font-weight:700}.topictitle6{font-style:italic}.sectiontitle{margin-top:1em;margin-bottom:0;color:#000;font-weight:700}/*! All note formats have the same default presentation */.attentiontitle,.bold,.cautiontitle,.dangertitle,.dlterm,.fastpathtitle,.firstcol,.importanttitle,.notelisttitle,.notetitle,.noticetitle,.parmname,.remembertitle,.restrictiontitle,.tiptitle,.uicontrol,.warningtitle{font-weight:700}.caution{font-weight:700;margin-bottom:1em}/*! Simple lists do not get a bullet *//*! Used on the first column of a table, when rowheader="firstcol" is used *//*! Various basic phrase styles */.boldItalic{font-weight:700;font-style:italic}.shortcut,.underlined{text-decoration:underline}/*! 2008-10-27 keyword采用跟随上下文的样式 +*//*! Default of bold for definition list terms *//*! Use CSS to expand lists with @compact="no" */.dltermexpand{font-weight:700;margin-top:1em}[compact="yes"]>li{margin-top:0}[compact="no"]>li{margin-top:.53em}/*! Align images based on @align on topic/image */div.imageleft,.text-align-left{text-align:left}div.imagecenter,.text-align-center{text-align:center}div.imageright,.text-align-right{text-align:right}div.imagejustify,.text-align-justify{text-align:justify}.cellrowborder{border-right:0;border-top:0;border-left:1px solid;border-bottom:1px solid}.row-nocellborder{border-left:hidden;border-right:0;border-top:0;border-bottom:1px solid}.cell-norowborder{border-top:0;border-bottom:hidden;border-right:0;border-left:1px solid}.nocellnorowborder{border:0;border-left:hidden;border-bottom:hidden}pre.codeblock,pre.screen{padding:5px;border:outset;background-color:#ccc;margin-top:2px;margin-bottom:2px;white-space:pre} \ No newline at end of file diff --git a/docs/wafd/api-ref/public_sys-resources/danger_3.0-en-us.png b/docs/wafd/api-ref/public_sys-resources/danger_3.0-en-us.png new file mode 100644 index 00000000..47a9c723 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/danger_3.0-en-us.png differ diff --git a/docs/wafd/api-ref/public_sys-resources/delta.gif b/docs/wafd/api-ref/public_sys-resources/delta.gif new file mode 100644 index 00000000..0d1b1f67 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/delta.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/deltaend.gif b/docs/wafd/api-ref/public_sys-resources/deltaend.gif new file mode 100644 index 00000000..cc7da0fc Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/deltaend.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-arrowdn.gif b/docs/wafd/api-ref/public_sys-resources/icon-arrowdn.gif new file mode 100644 index 00000000..84eec9be Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-arrowdn.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-arrowrt.gif b/docs/wafd/api-ref/public_sys-resources/icon-arrowrt.gif new file mode 100644 index 00000000..39583d16 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-arrowrt.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-caution.gif b/docs/wafd/api-ref/public_sys-resources/icon-caution.gif new file mode 100644 index 00000000..079c79b2 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-caution.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-danger.gif b/docs/wafd/api-ref/public_sys-resources/icon-danger.gif new file mode 100644 index 00000000..079c79b2 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-danger.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-huawei.gif b/docs/wafd/api-ref/public_sys-resources/icon-huawei.gif new file mode 100644 index 00000000..a31d60f8 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-huawei.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-note.gif b/docs/wafd/api-ref/public_sys-resources/icon-note.gif new file mode 100644 index 00000000..31be2b03 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-note.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-notice.gif b/docs/wafd/api-ref/public_sys-resources/icon-notice.gif new file mode 100644 index 00000000..40907065 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-notice.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-tip.gif b/docs/wafd/api-ref/public_sys-resources/icon-tip.gif new file mode 100644 index 00000000..c47bae05 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-tip.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/icon-warning.gif b/docs/wafd/api-ref/public_sys-resources/icon-warning.gif new file mode 100644 index 00000000..079c79b2 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/icon-warning.gif differ diff --git a/docs/wafd/api-ref/public_sys-resources/note_3.0-en-us.png b/docs/wafd/api-ref/public_sys-resources/note_3.0-en-us.png new file mode 100644 index 00000000..57a0e1f5 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/note_3.0-en-us.png differ diff --git a/docs/wafd/api-ref/public_sys-resources/notice_3.0-en-us.png b/docs/wafd/api-ref/public_sys-resources/notice_3.0-en-us.png new file mode 100644 index 00000000..fa4b6499 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/notice_3.0-en-us.png differ diff --git a/docs/wafd/api-ref/public_sys-resources/warning_3.0-en-us.png b/docs/wafd/api-ref/public_sys-resources/warning_3.0-en-us.png new file mode 100644 index 00000000..def5c356 Binary files /dev/null and b/docs/wafd/api-ref/public_sys-resources/warning_3.0-en-us.png differ diff --git a/docs/wafd/api-ref/topic_300000000.html b/docs/wafd/api-ref/topic_300000000.html new file mode 100644 index 00000000..db98842d --- /dev/null +++ b/docs/wafd/api-ref/topic_300000000.html @@ -0,0 +1,26 @@ + + +

Dedicated Instance Management

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000001.html b/docs/wafd/api-ref/topic_300000001.html new file mode 100644 index 00000000..0d4d8d25 --- /dev/null +++ b/docs/wafd/api-ref/topic_300000001.html @@ -0,0 +1,24 @@ + + +

Managing Websites Protected in Dedicated Mode

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000002.html b/docs/wafd/api-ref/topic_300000002.html new file mode 100644 index 00000000..d88bf850 --- /dev/null +++ b/docs/wafd/api-ref/topic_300000002.html @@ -0,0 +1,24 @@ + + +

Policy Management

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000003.html b/docs/wafd/api-ref/topic_300000003.html new file mode 100644 index 00000000..afaf6936 --- /dev/null +++ b/docs/wafd/api-ref/topic_300000003.html @@ -0,0 +1,88 @@ + + +

Rule Management

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000004.html b/docs/wafd/api-ref/topic_300000004.html new file mode 100644 index 00000000..3eff950e --- /dev/null +++ b/docs/wafd/api-ref/topic_300000004.html @@ -0,0 +1,22 @@ + + +

Certificate Management

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000005.html b/docs/wafd/api-ref/topic_300000005.html new file mode 100644 index 00000000..7749ac58 --- /dev/null +++ b/docs/wafd/api-ref/topic_300000005.html @@ -0,0 +1,20 @@ + + +

Dashboard

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/topic_300000006.html b/docs/wafd/api-ref/topic_300000006.html new file mode 100644 index 00000000..c96256c4 --- /dev/null +++ b/docs/wafd/api-ref/topic_300000006.html @@ -0,0 +1,18 @@ + + +

Event Management

+

+
+
+ + + +
+ diff --git a/docs/wafd/api-ref/waf_02_0001.html b/docs/wafd/api-ref/waf_02_0001.html new file mode 100644 index 00000000..db9e25f2 --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0001.html @@ -0,0 +1,34 @@ + + +

API Usage Guidelines

+

Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: https://Endpoint/uri. In the URL, uri indicates the resource path, that is, the API access path.

+

Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by Application/json.

+

For details about how to use APIs, see API Usage Guidelines.

+

The following table lists the additional request header fields required for the POST, PUT, PATCH, and DELETE methods.

+
+ +
+ + + + + + + + + + + +

Parameter

+

Description

+

Mandatory

+

Example

+

x-request-source-type

+

Type of a request resource

+
  • ApiCall: invoked by an API.
  • ConsoleAction: invoked by the console.
  • SystemAction: invoked by the system.
+

Yes

+

ApiCall

+
+
+
+ diff --git a/docs/wafd/api-ref/waf_02_0007.html b/docs/wafd/api-ref/waf_02_0007.html new file mode 100644 index 00000000..b8e959c9 --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0007.html @@ -0,0 +1,23 @@ + + +

APIs

+
+
+ +
+ diff --git a/docs/wafd/api-ref/waf_02_0084.html b/docs/wafd/api-ref/waf_02_0084.html new file mode 100644 index 00000000..a2c9d389 --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0084.html @@ -0,0 +1,15 @@ + + +

Appendix

+
+
+ +
+ diff --git a/docs/wafd/api-ref/waf_02_0085.html b/docs/wafd/api-ref/waf_02_0085.html new file mode 100644 index 00000000..e4b9dbd3 --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0085.html @@ -0,0 +1,92 @@ + + +

Status Codes

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Status Code

+

Description

+

Meaning

+

200

+

OK

+

The request has succeeded.

+

204

+

No Content

+

The server successfully processed the request and is not returning any content.

+

400

+

Bad Request

+

Incorrect parameter

+

401

+

Unauthorized

+

Authentication failed.

+

403

+

Forbidden

+

No permission. The access is denied.

+

404

+

Not Found

+

The requested resource could not be found.

+

406

+

Not Acceptable

+

The request is unacceptable.

+

409

+

Conflict

+

The request could not be processed because of conflict in the current state of the resource.

+

500

+

Internal Error

+

Internal server error

+

503

+

Server Unavailable

+

The server is currently unavailable.

+
+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/waf_02_0086.html b/docs/wafd/api-ref/waf_02_0086.html new file mode 100644 index 00000000..246597ef --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0086.html @@ -0,0 +1,15 @@ + + +

Character Set Specifications

+
+
+
+ +
+ diff --git a/docs/wafd/api-ref/waf_02_0087.html b/docs/wafd/api-ref/waf_02_0087.html new file mode 100644 index 00000000..d83967c7 --- /dev/null +++ b/docs/wafd/api-ref/waf_02_0087.html @@ -0,0 +1,20 @@ + + +

Change History

+
+
+ + + + + + + +

Released On

+

Description

+

2022-10-30

+

This is the first official release.

+
+
+
+