feat(imperva): new Imperva Cloud WAF integration

Cloud Application Security API v1, 5 commands: list sites, get site status,
block/whitelist IPs (site ACL). API-ID/key auth, stdlib-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Guillaume BOURGEOIS
2026-07-12 15:44:29 +02:00
parent 9fb5b65e4a
commit 771c90ef0d
6 changed files with 300 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
id: imperva
name: Imperva Cloud WAF
version: 1.0.0
description: "Imperva Cloud WAF (Cloud Application Security API v1) — edge containment: list sites, read a site's status, block/unblock IPs via the site ACL, and set a security setting. API-ID/API-key authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: list sites, get site status, configure ACL (block IPs), configure security setting."
category: network
# Per-instance configuration. api_id + api_key are sent as form parameters.
config_schema:
properties:
api_id:
type: string
description: "Imperva API ID"
api_key:
type: string
description: "Imperva API key"
x-soar-sensitive: true
required:
- api_id
- api_key
commands:
- id: list_sites
name: imperva-list-sites
description: "List sites in the account."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }
- id: get_site_status
name: imperva-get-site-status
description: "Get a site's status and configuration."
risk: read
inputs_schema:
properties:
site_id: { type: string, description: "Site ID" }
required: [site_id]
outputs_schema: { properties: {} }
- id: block_ips
name: imperva-block-ips
description: "Set the site's blacklisted-IPs ACL (replaces the current list)."
inputs_schema:
properties:
site_id: { type: string, description: "Site ID" }
ips: { type: string, description: "Comma-separated IPs/subnets to blacklist" }
required: [site_id, ips]
outputs_schema: { properties: {} }
- id: whitelist_ips
name: imperva-whitelist-ips
description: "Set the site's whitelisted-IPs ACL (replaces the current list)."
inputs_schema:
properties:
site_id: { type: string, description: "Site ID" }
ips: { type: string, description: "Comma-separated IPs/subnets to whitelist" }
required: [site_id, ips]
outputs_schema: { properties: {} }
- id: test_connection
name: imperva-test-connection
description: "Verify the API credentials (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }