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: {} }