qualys-cli 0.2.0__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/.gitignore +4 -0
  2. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/CHANGELOG.md +34 -0
  3. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/PKG-INFO +1 -1
  4. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/pyproject.toml +1 -1
  5. qualys_cli-0.3.1/src/qualys_cli/__init__.py +1 -0
  6. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/_docs/usage.html +13 -13
  7. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/asset.py +13 -0
  8. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/ca.py +74 -0
  9. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/cs.py +316 -1
  10. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/etm.py +115 -0
  11. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/pm.py +73 -0
  12. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/was.py +66 -0
  13. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/extras.py +17 -11
  14. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_all_commands_smoke.py +3 -0
  15. qualys_cli-0.3.1/tests/test_completion.py +61 -0
  16. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_mcp_live.py +8 -13
  17. qualys_cli-0.2.0/src/qualys_cli/__init__.py +0 -1
  18. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/LICENSE +0 -0
  19. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/README.md +0 -0
  20. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/__main__.py +0 -0
  21. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/audit.py +0 -0
  22. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/auth.py +0 -0
  23. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/cache.py +0 -0
  24. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/cli.py +0 -0
  25. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/client.py +0 -0
  26. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/__init__.py +0 -0
  27. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/csam.py +0 -0
  28. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/edr.py +0 -0
  29. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/fim.py +0 -0
  30. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/pc.py +0 -0
  31. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/scanauth.py +0 -0
  32. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/sub.py +0 -0
  33. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/tc.py +0 -0
  34. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/user.py +0 -0
  35. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/commands/vm.py +0 -0
  36. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/config.py +0 -0
  37. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/detection_stats.py +0 -0
  38. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/flair.py +0 -0
  39. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/formatters.py +0 -0
  40. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/history.py +0 -0
  41. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/http_server.py +0 -0
  42. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/mcp_server.py +0 -0
  43. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/metrics.py +0 -0
  44. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/platforms.py +0 -0
  45. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/src/qualys_cli/queries.py +0 -0
  46. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/__init__.py +0 -0
  47. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/conftest.py +0 -0
  48. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_agent_mode.py +0 -0
  49. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_asset.py +0 -0
  50. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_asset_tags.py +0 -0
  51. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_audit.py +0 -0
  52. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_ca.py +0 -0
  53. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_client.py +0 -0
  54. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_csam.py +0 -0
  55. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_detection_stats.py +0 -0
  56. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_detection_stats_cmd.py +0 -0
  57. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_error_handling.py +0 -0
  58. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_etm.py +0 -0
  59. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_features.py +0 -0
  60. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_fim_edr.py +0 -0
  61. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_flair.py +0 -0
  62. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_formatters.py +0 -0
  63. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_global_flags.py +0 -0
  64. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_help.py +0 -0
  65. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_high_fixes.py +0 -0
  66. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_isolation.py +0 -0
  67. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_kcs_mitigation.py +0 -0
  68. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_kev.py +0 -0
  69. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_main.py +0 -0
  70. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_med_fixes.py +0 -0
  71. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_pc.py +0 -0
  72. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_pm.py +0 -0
  73. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_resiliency.py +0 -0
  74. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_review_fixes.py +0 -0
  75. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_scanauth.py +0 -0
  76. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_security_fixes.py +0 -0
  77. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_sub.py +0 -0
  78. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_tc.py +0 -0
  79. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_user.py +0 -0
  80. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_vm.py +0 -0
  81. {qualys_cli-0.2.0 → qualys_cli-0.3.1}/tests/test_was.py +0 -0
@@ -1,4 +1,5 @@
1
1
  .venv/
2
+ .anthropic_key
2
3
  .install-check/
3
4
  __pycache__/
4
5
  *.pyc
@@ -38,3 +39,6 @@ user-prefs-export.xml
38
39
  api-model.json
39
40
  docs/design.md
40
41
  packaging/
42
+
43
+ # Editor workspace files
44
+ *.code-workspace
@@ -6,6 +6,40 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.3.1] — 2026-11-04
10
+
11
+ ### Fixed
12
+ - `qualys-cli completion <shell>` printed only a "Tip:" line instead of the
13
+ completion script, so shell tab completion could not be set up. It asked
14
+ Typer for the script with Click's env-var format (`zsh_source`) instead of
15
+ Typer's (`source_zsh`); the script is now generated in-process. Workaround
16
+ for 0.3.0: `_QUALYS_CLI_COMPLETE=source_zsh qualys-cli > <fpath-dir>/_qualys-cli`.
17
+
18
+ ## [0.3.0] — 2026-11-03
19
+
20
+ ### Added
21
+ - `etm finding list/get/count` and `etm asset list/count` — ETM findings
22
+ and assets inventory resources (QQL `query`/`havingQuery`; findings
23
+ paginate by `page`, assets by `pageNumber`).
24
+ - `cs k8s-resource namespace-list/namespace-get/pod-list/pod-get` —
25
+ Kubernetes namespace/pod inventory.
26
+ - `cs secret-detector list/create/bulk-update` — secret detection rules.
27
+ - `cs qid-list list/get/vulns` — QID lists used by CS policies.
28
+ - `cs tag create/update/delete/assign/remove/exist` — CS tag management.
29
+ - `ca isolation isolate/unisolate` — asset isolation by asset or tag ID.
30
+ - `pm blocking-rule list/create/delete` — patch blocking rules.
31
+ - `was catalog get/update` and `was option-profile update`.
32
+
33
+ ### Fixed
34
+ - `__version__` reported `0.1.9` (User-Agent / version banner).
35
+ - WAS `catalog update` values are CDATA-wrapped to prevent XML injection.
36
+
37
+ ### Changed
38
+ - Doc ingestion: VM/PC sitemaps moved to
39
+ `en/vm/qweb-all-api/mergedProjects/qapi-*`; added WAS/TC/CA/CS/CSAM
40
+ sources. `api-model.json` refreshed (744 endpoints).
41
+ - `scripts/diff_endpoints.py` — normalized old/new model endpoint delta.
42
+
9
43
  ## [0.2.0] — 2026-09-21
10
44
 
11
45
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: qualys-cli
3
- Version: 0.2.0
3
+ Version: 0.3.1
4
4
  Summary: Unified command-line interface for the Qualys Cloud Platform REST APIs (VM, PC, PM, ETM, WAS, TotalCloud, Cloud Agent, Container Security, CSAM, Subscription, Asset, and User management).
5
5
  Project-URL: Homepage, https://www.qualys.com
6
6
  Author-email: Qualys <support@qualys.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "qualys-cli"
7
- version = "0.2.0"
7
+ version = "0.3.1"
8
8
  description = "Unified command-line interface for the Qualys Cloud Platform REST APIs (VM, PC, PM, ETM, WAS, TotalCloud, Cloud Agent, Container Security, CSAM, Subscription, Asset, and User management)."
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  license = { file = "LICENSE" }
@@ -0,0 +1 @@
1
+ __version__ = "0.3.1"