splunk-soar-sdk 2.3.1__tar.gz → 2.3.3__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.
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/PKG-INFO +1 -1
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/pyproject.toml +1 -1
- splunk_soar_sdk-2.3.3/release_notes.txt +21 -0
- splunk_soar_sdk-2.3.3/release_version.txt +1 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app.py +2 -2
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/init/cli.py +2 -2
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/manifests/deserializers.py +1 -10
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/compat.py +10 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/app.py +18 -3
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/params.py +6 -5
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_convert_cli.py +1 -1
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_deserializers.py +7 -5
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_utils.py +17 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/app.json +7 -10
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/app.py +8 -1
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/app.json +1 -4
- splunk_soar_sdk-2.3.3/tests/mocks/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/uv.lock +1 -1
- splunk_soar_sdk-2.3.1/release_notes.txt +0 -23
- splunk_soar_sdk-2.3.1/release_version.txt +0 -1
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/ISSUE_TEMPLATE/bug.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/pull_request_template.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/utils/github.js +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/utils/update_version.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/workflows/code_quality.yml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/workflows/commit_hygiene.yml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/workflows/generate_docs.yml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.github/workflows/semantic_release.yml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.gitignore +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.pre-commit-config.yaml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/.releaserc +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/LICENSE +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/README.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/commitlint.config.js +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/api_reference.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/app_structure/index.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/app_structure/pre-commit-config.yaml.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/app_structure/pyproject.toml.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/app_structure/src_app.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/changelog.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/cli_reference.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/conf.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/custom_views/index.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/custom_views/reusable_components.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/custom_views/templates.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/custom_views/view_handlers.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/defining_asset.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/first_action.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/index.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/init_app.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/installation.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/testing_and_building.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/index.rst +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/abstract.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/action_results.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/actions_manager.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/apis/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/apis/artifact.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/apis/container.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/apis/utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/apis/vault.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_cli_runner.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_client.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/.gitignore +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/.pre-commit-config.yaml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/logo.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/logo_dark.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/src/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/uv.lock +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/asset.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/async_utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/init/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/manifests/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/manifests/cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/manifests/processors.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/manifests/serializers.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/package/cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/package/utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/path_utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/cli/utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/action_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/app_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/asset_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/templates/pyproject.toml.jinja +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/toml_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/colors.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/crypto.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/action.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/make_request.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/on_poll.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/test_connectivity.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/view_handler.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/webhook.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/exceptions.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/input_spec.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/logging.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/actions.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/adapters.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/datatypes.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/dependencies.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/meta/webhooks.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/models/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/models/artifact.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/models/container.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/models/vault_attachment.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/models/view.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/paths.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/py.typed +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/action_result.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/app.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/base_connector.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/connector_result.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/consts.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/encryption_helper.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/install_info.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/json_keys.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/ph_ipc.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom/vault.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom_common/app_interface/app_interface.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/shims/phantom_common/encryption/encryption_manager_factory.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/base/base_template.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/base/error.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/base/header.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/base/logo_header.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/components/pie_chart.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/widgets/widget_resize_snippet.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/templates/widgets/widget_template.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/types.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/component_registry.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/components/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/components/pie_chart.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/template_filters.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/template_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/views/view_parser.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/webhooks/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/webhooks/models.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/webhooks/routing.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/test.png +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/test.txt +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/datapath_parse.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/manifests/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/manifests/test_processors.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_assets/converted_app/actions.py.txt +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_init_cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_manifests_cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_package_cli.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/cli/test_serializers.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/code_renderers/test_action_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/conftest.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/example_asset.json +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/logo.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/logo_dark.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/pyproject.toml +0 -0
- /splunk_soar_sdk-2.3.1/tests/example_app/src/actions/__init__.py → /splunk_soar_sdk-2.3.3/tests/example_app/release_notes/v1.md +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1/tests/interfaces → splunk_soar_sdk-2.3.3/tests/example_app/src/actions}/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/actions/async_action.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/actions/generate_category.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/actions/reverse_string.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/src/ignoreme.txt +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/templates/reverse_string.html +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app/uv.lock +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/logo.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/logo_dark.svg +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/pyproject.toml +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/src/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/src/app.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/example_app_with_webhook/uv.lock +0 -0
- {splunk_soar_sdk-2.3.1/tests/meta → splunk_soar_sdk-2.3.3/tests/interfaces}/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/interfaces/test_artifact_interface.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/interfaces/test_container_interface.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/interfaces/test_vault_interface.py +0 -0
- {splunk_soar_sdk-2.3.1/tests/mocks → splunk_soar_sdk-2.3.3/tests/meta}/__init__.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/meta/test_actions.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/meta/test_adapters.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/meta/test_datatypes.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/meta/test_dependencies.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/meta/test_webhooks.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/mocks/dynamic_mocks.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/mocks/importable_action.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/stubs.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_action_results.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_actions_manager.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app_action.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app_action_params.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app_action_results.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app_client.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_app_runner.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_asset.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_assets/splunk-sdk-2.1.0.tar.gz +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_async_integration.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_async_utils.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_code_renderers.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_compat.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_container.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_custom_views.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_encryption.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_logging.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_make_request_action.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_on_poll.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_params.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_template_filters.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_template_renderer.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_test_connectivity.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/test_view_parser.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/webhooks/test_models.py +0 -0
- {splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/tests/webhooks/test_routing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: splunk-soar-sdk
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
4
4
|
Summary: The official framework for developing and testing Splunk SOAR Apps
|
|
5
5
|
Project-URL: Homepage, https://github.com/phantomcyber/splunk-soar-sdk
|
|
6
6
|
Project-URL: Documentation, https://github.com/phantomcyber/splunk-soar-sdk
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
## [2.3.3](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.3.2...2.3.3) (2025-10-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* update descriptions in make request params ([29304ab](https://github.com/phantomcyber/splunk-soar-sdk/commit/29304ab2596fe0b830ec3cc466f4580eaff329cb))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [2.3.3](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.3.2...2.3.3) (2025-10-10)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* update descriptions in make request params ([29304ab](https://github.com/phantomcyber/splunk-soar-sdk/commit/29304ab2596fe0b830ec3cc466f4580eaff329cb))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.3.3
|
|
@@ -101,7 +101,7 @@ class App:
|
|
|
101
101
|
product_name: str,
|
|
102
102
|
publisher: str,
|
|
103
103
|
appid: str,
|
|
104
|
-
python_version: Optional[list[PythonVersion]] = None,
|
|
104
|
+
python_version: Optional[Union[list[PythonVersion], str]] = None,
|
|
105
105
|
min_phantom_version: str = MIN_PHANTOM_VERSION,
|
|
106
106
|
fips_compliant: bool = False,
|
|
107
107
|
asset_cls: type[BaseAsset] = BaseAsset,
|
|
@@ -113,7 +113,7 @@ class App:
|
|
|
113
113
|
raise ValueError(f"Appid is not a valid uuid: {appid}")
|
|
114
114
|
|
|
115
115
|
if python_version is None:
|
|
116
|
-
python_version = PythonVersion.
|
|
116
|
+
python_version = PythonVersion.all_csv()
|
|
117
117
|
|
|
118
118
|
self.app_meta_info = {
|
|
119
119
|
"name": name,
|
|
@@ -269,11 +269,11 @@ def convert_connector_to_sdk(
|
|
|
269
269
|
# Convert the main module path to the SDK format, but save a reference to the original
|
|
270
270
|
app_meta.main_module = "src.app:app"
|
|
271
271
|
|
|
272
|
-
app_python_versions = app_meta.python_version
|
|
272
|
+
app_python_versions = PythonVersion.from_csv(app_meta.python_version)
|
|
273
273
|
enforced_python_versions = PythonVersion.all()
|
|
274
274
|
if set(app_python_versions) != set(enforced_python_versions):
|
|
275
275
|
rprint(
|
|
276
|
-
f"[yellow]The provided app declares support for Python versions {
|
|
276
|
+
f"[yellow]The provided app declares support for Python versions '{app_meta.python_version}'.[/]"
|
|
277
277
|
)
|
|
278
278
|
rprint(
|
|
279
279
|
f"[yellow]The converted app will support the default versions {[str(v) for v in enforced_python_versions]}.[/]"
|
|
@@ -6,7 +6,7 @@ import pydantic
|
|
|
6
6
|
|
|
7
7
|
from soar_sdk.action_results import ActionOutput, OutputFieldSpecification, OutputField
|
|
8
8
|
from soar_sdk.cli.utils import normalize_field_name, NormalizationResult
|
|
9
|
-
from soar_sdk.compat import
|
|
9
|
+
from soar_sdk.compat import remove_when_soar_newer_than
|
|
10
10
|
from soar_sdk.meta.actions import ActionMeta
|
|
11
11
|
from soar_sdk.meta.app import AppMeta
|
|
12
12
|
from soar_sdk.params import Params, Param
|
|
@@ -41,15 +41,6 @@ class AppMetaDeserializer:
|
|
|
41
41
|
"""
|
|
42
42
|
manifest: dict[str, Any] = json.loads(json_path.read_text())
|
|
43
43
|
|
|
44
|
-
# Massage the python_version field, which may be a comma-separated string
|
|
45
|
-
python_version = manifest.pop("python_version", None)
|
|
46
|
-
if isinstance(python_version, str):
|
|
47
|
-
manifest["python_version"] = PythonVersion.from_csv(python_version)
|
|
48
|
-
elif isinstance(python_version, list):
|
|
49
|
-
manifest["python_version"] = [
|
|
50
|
-
PythonVersion.from_str(py) for py in python_version
|
|
51
|
-
]
|
|
52
|
-
|
|
53
44
|
deserialized_actions = [
|
|
54
45
|
ActionDeserializer.from_action_json(action)
|
|
55
46
|
for action in manifest.get("actions", [])
|
|
@@ -59,11 +59,21 @@ class PythonVersion(str, Enum):
|
|
|
59
59
|
cls.from_str(version.strip()) for version in versions if version.strip()
|
|
60
60
|
]
|
|
61
61
|
|
|
62
|
+
@classmethod
|
|
63
|
+
def to_csv(cls, versions: list["PythonVersion"]) -> str:
|
|
64
|
+
"""Converts a list of PythonVersion enums to a comma-separated string."""
|
|
65
|
+
return ",".join(str(v) for v in versions)
|
|
66
|
+
|
|
62
67
|
@classmethod
|
|
63
68
|
def all(cls) -> list["PythonVersion"]:
|
|
64
69
|
"""Returns a list of all supported Python versions."""
|
|
65
70
|
return [cls.PY_3_9, cls.PY_3_13]
|
|
66
71
|
|
|
72
|
+
@classmethod
|
|
73
|
+
def all_csv(cls) -> str:
|
|
74
|
+
"""Returns a comma-separated string of all supported Python versions."""
|
|
75
|
+
return ",".join(str(v) for v in cls.all())
|
|
76
|
+
|
|
67
77
|
@classmethod
|
|
68
78
|
def to_requires_python(cls, versions: list["PythonVersion"]) -> str:
|
|
69
79
|
"""Converts a list of PythonVersions to a PEP-508 compatible requires-python string."""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from pydantic import BaseModel, Field
|
|
2
|
-
from typing import Optional
|
|
1
|
+
from pydantic import BaseModel, Field, validator
|
|
2
|
+
from typing import Optional, Union
|
|
3
3
|
|
|
4
4
|
from soar_sdk.asset import AssetFieldSpecification
|
|
5
5
|
from soar_sdk.compat import PythonVersion
|
|
@@ -32,7 +32,7 @@ class AppMeta(BaseModel):
|
|
|
32
32
|
logo: str = ""
|
|
33
33
|
logo_dark: str = ""
|
|
34
34
|
product_name: str = ""
|
|
35
|
-
python_version:
|
|
35
|
+
python_version: str = Field(default_factory=PythonVersion.all_csv)
|
|
36
36
|
product_version_regex: str = ".*"
|
|
37
37
|
publisher: str = ""
|
|
38
38
|
utctime_updated: str = ""
|
|
@@ -47,6 +47,21 @@ class AppMeta(BaseModel):
|
|
|
47
47
|
|
|
48
48
|
webhook: Optional[WebhookMeta]
|
|
49
49
|
|
|
50
|
+
@validator("python_version", pre=True)
|
|
51
|
+
def convert_python_version_to_csv(cls, v: Union[list, str]) -> str:
|
|
52
|
+
"""Converts python_version to a comma-separated string if it's a list and validates versions."""
|
|
53
|
+
if isinstance(v, list):
|
|
54
|
+
# Validate each version in the list and convert to CSV
|
|
55
|
+
validated_versions = [PythonVersion.from_str(str(version)) for version in v]
|
|
56
|
+
return PythonVersion.to_csv(validated_versions)
|
|
57
|
+
elif isinstance(v, str):
|
|
58
|
+
# Validate the CSV string by parsing it and convert back to CSV
|
|
59
|
+
validated_versions = PythonVersion.from_csv(v)
|
|
60
|
+
return PythonVersion.to_csv(validated_versions)
|
|
61
|
+
raise ValueError(
|
|
62
|
+
f"Invalid python_version type must be a list or a comma-separated string: {v}"
|
|
63
|
+
)
|
|
64
|
+
|
|
50
65
|
def to_json_manifest(self) -> dict:
|
|
51
66
|
"""Converts the AppMeta instance to a JSON-compatible dictionary."""
|
|
52
67
|
return self.dict(exclude_none=True)
|
|
@@ -218,26 +218,27 @@ class MakeRequestParams(Params):
|
|
|
218
218
|
)
|
|
219
219
|
|
|
220
220
|
headers: str = Param(
|
|
221
|
-
description="The headers to send with the request (JSON object).",
|
|
221
|
+
description="The headers to send with the request (JSON object). An example is {'Content-Type': 'application/json'}",
|
|
222
222
|
required=False,
|
|
223
223
|
)
|
|
224
224
|
|
|
225
225
|
query_parameters: str = Param(
|
|
226
|
-
description="
|
|
226
|
+
description="Parameters to append to the URL (JSON object or query string). An example is ?key=value&key2=value2",
|
|
227
227
|
required=False,
|
|
228
228
|
)
|
|
229
229
|
|
|
230
230
|
body: str = Param(
|
|
231
|
-
description="The body to send with the request (JSON object).",
|
|
231
|
+
description="The body to send with the request (JSON object). An example is {'key': 'value', 'key2': 'value2'}",
|
|
232
232
|
required=False,
|
|
233
233
|
)
|
|
234
234
|
|
|
235
235
|
timeout: int = Param(
|
|
236
|
-
description="The timeout for the request.",
|
|
236
|
+
description="The timeout for the request in seconds.",
|
|
237
237
|
required=False,
|
|
238
238
|
)
|
|
239
239
|
|
|
240
240
|
verify_ssl: bool = Param(
|
|
241
|
-
description="Whether to verify the SSL certificate.",
|
|
241
|
+
description="Whether to verify the SSL certificate. Default is False.",
|
|
242
242
|
required=False,
|
|
243
|
+
default=False,
|
|
243
244
|
)
|
|
@@ -223,7 +223,7 @@ def test_convert_cli_updates_py_versions(runner, tmp_path, app_meta):
|
|
|
223
223
|
print(result.output) # For debugging purposes
|
|
224
224
|
|
|
225
225
|
assert result.exit_code == 0
|
|
226
|
-
assert "declares support for Python versions
|
|
226
|
+
assert "declares support for Python versions '3.9'" in result.output
|
|
227
227
|
assert "will support the default versions ['3.9', '3.13']" in result.output
|
|
228
228
|
assert (
|
|
229
229
|
'requires-python = ">=3.9, <3.14"'
|
|
@@ -100,9 +100,9 @@ def test_from_app_json_basic_deserialization(basic_app_data, create_app_json):
|
|
|
100
100
|
@pytest.mark.parametrize(
|
|
101
101
|
"python_version_input,expected",
|
|
102
102
|
[
|
|
103
|
-
("3.9,3.13",
|
|
104
|
-
(["3.9", "3.13"],
|
|
105
|
-
(None, PythonVersion.
|
|
103
|
+
("3.9,3.13", f"{PythonVersion.PY_3_9},{PythonVersion.PY_3_13}"),
|
|
104
|
+
(["3.9", "3.13"], f"{PythonVersion.PY_3_9},{PythonVersion.PY_3_13}"),
|
|
105
|
+
(None, PythonVersion.all_csv()), # Should use default when None
|
|
106
106
|
],
|
|
107
107
|
)
|
|
108
108
|
def test_from_app_json_python_version_handling(
|
|
@@ -127,7 +127,7 @@ def test_from_app_json_python_version_missing(basic_app_data, create_app_json):
|
|
|
127
127
|
|
|
128
128
|
# Should use default from AppMeta model
|
|
129
129
|
result = deserialized_result.app_meta
|
|
130
|
-
assert result.python_version == PythonVersion.
|
|
130
|
+
assert result.python_version == PythonVersion.all_csv()
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
def test_from_app_json_invalid_python_version(basic_app_data, create_app_json):
|
|
@@ -322,7 +322,9 @@ def test_from_app_json_complex_example(create_app_json):
|
|
|
322
322
|
assert result.name == "example_app"
|
|
323
323
|
assert result.appid == "9b388c08-67de-4ca4-817f-26f8fb7cbf55"
|
|
324
324
|
assert result.product_vendor == "Splunk Inc."
|
|
325
|
-
assert
|
|
325
|
+
assert (
|
|
326
|
+
result.python_version == f"{PythonVersion.PY_3_9},{PythonVersion.PY_3_13}"
|
|
327
|
+
)
|
|
326
328
|
assert result.project_name == "example_app"
|
|
327
329
|
assert len(result.actions) == 1
|
|
328
330
|
assert result.fips_compliant is False
|
|
@@ -2,6 +2,7 @@ import pytest
|
|
|
2
2
|
import keyword
|
|
3
3
|
|
|
4
4
|
from soar_sdk.cli.utils import normalize_field_name
|
|
5
|
+
from soar_sdk.meta.app import AppMeta
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class TestNormalizeFieldName:
|
|
@@ -60,3 +61,19 @@ class TestNormalizeFieldName:
|
|
|
60
61
|
|
|
61
62
|
with pytest.raises(ValueError, match="must contain at least one letter"):
|
|
62
63
|
normalize_field_name("______")
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def test_bad_python_version_type():
|
|
67
|
+
"""Test that an invalid python_version type raises a ValueError."""
|
|
68
|
+
with pytest.raises(
|
|
69
|
+
ValueError,
|
|
70
|
+
match="Invalid python_version type must be a list or a comma-separated string",
|
|
71
|
+
):
|
|
72
|
+
AppMeta(
|
|
73
|
+
project_name="test_app",
|
|
74
|
+
description="Test app",
|
|
75
|
+
license="Copyright (c) 2025 Splunk Inc.",
|
|
76
|
+
app_version="1.0.0",
|
|
77
|
+
package_name="test_app",
|
|
78
|
+
python_version=123,
|
|
79
|
+
)
|
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
"logo": "logo.svg",
|
|
13
13
|
"logo_dark": "logo_dark.svg",
|
|
14
14
|
"product_name": "Example App",
|
|
15
|
-
"python_version":
|
|
16
|
-
"3.9",
|
|
17
|
-
"3.13"
|
|
18
|
-
],
|
|
15
|
+
"python_version": "3.9,3.13",
|
|
19
16
|
"product_version_regex": ".*",
|
|
20
17
|
"publisher": "Splunk Inc.",
|
|
21
18
|
"utctime_updated": "2025-09-09T15:29:27.279851Z",
|
|
@@ -484,7 +481,7 @@
|
|
|
484
481
|
"endpoint": {
|
|
485
482
|
"order": 1,
|
|
486
483
|
"name": "endpoint",
|
|
487
|
-
"description": "The endpoint to send the request to.",
|
|
484
|
+
"description": "The endpoint to send the request to. Base url is already included in the endpoint.",
|
|
488
485
|
"data_type": "string",
|
|
489
486
|
"required": true,
|
|
490
487
|
"primary": false,
|
|
@@ -493,7 +490,7 @@
|
|
|
493
490
|
"headers": {
|
|
494
491
|
"order": 2,
|
|
495
492
|
"name": "headers",
|
|
496
|
-
"description": "The headers to send with the request (JSON object).",
|
|
493
|
+
"description": "The headers to send with the request (JSON object). An example is {'Content-Type': 'application/json'}",
|
|
497
494
|
"data_type": "string",
|
|
498
495
|
"required": false,
|
|
499
496
|
"primary": false,
|
|
@@ -502,7 +499,7 @@
|
|
|
502
499
|
"query_parameters": {
|
|
503
500
|
"order": 3,
|
|
504
501
|
"name": "query_parameters",
|
|
505
|
-
"description": "
|
|
502
|
+
"description": "Parameters to append to the URL (JSON object or query string). An example is ?key=value&key2=value2",
|
|
506
503
|
"data_type": "string",
|
|
507
504
|
"required": false,
|
|
508
505
|
"primary": false,
|
|
@@ -511,7 +508,7 @@
|
|
|
511
508
|
"body": {
|
|
512
509
|
"order": 4,
|
|
513
510
|
"name": "body",
|
|
514
|
-
"description": "The body to send with the request (JSON object).",
|
|
511
|
+
"description": "The body to send with the request (JSON object). An example is {'key': 'value', 'key2': 'value2'}",
|
|
515
512
|
"data_type": "string",
|
|
516
513
|
"required": false,
|
|
517
514
|
"primary": false,
|
|
@@ -520,7 +517,7 @@
|
|
|
520
517
|
"timeout": {
|
|
521
518
|
"order": 5,
|
|
522
519
|
"name": "timeout",
|
|
523
|
-
"description": "The timeout for the request.",
|
|
520
|
+
"description": "The timeout for the request in seconds.",
|
|
524
521
|
"data_type": "numeric",
|
|
525
522
|
"required": false,
|
|
526
523
|
"primary": false,
|
|
@@ -529,7 +526,7 @@
|
|
|
529
526
|
"verify_ssl": {
|
|
530
527
|
"order": 6,
|
|
531
528
|
"name": "verify_ssl",
|
|
532
|
-
"description": "Whether to verify the SSL certificate.",
|
|
529
|
+
"description": "Whether to verify the SSL certificate. Default is False.",
|
|
533
530
|
"data_type": "boolean",
|
|
534
531
|
"required": false,
|
|
535
532
|
"primary": false,
|
|
@@ -109,8 +109,15 @@ app.register_action(
|
|
|
109
109
|
)
|
|
110
110
|
|
|
111
111
|
|
|
112
|
+
class MakeRequestParamsCustom(MakeRequestParams):
|
|
113
|
+
endpoint: str = Param(
|
|
114
|
+
description="The endpoint to send the request to. Base url is already included in the endpoint.",
|
|
115
|
+
required=True,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
|
|
112
119
|
@app.make_request()
|
|
113
|
-
def http_action(params:
|
|
120
|
+
def http_action(params: MakeRequestParamsCustom, asset: Asset) -> MakeRequestOutput:
|
|
114
121
|
logger.info(f"HTTP action triggered with params: {params}")
|
|
115
122
|
return MakeRequestOutput(
|
|
116
123
|
status_code=200,
|
|
@@ -12,10 +12,7 @@
|
|
|
12
12
|
"logo": "logo.svg",
|
|
13
13
|
"logo_dark": "logo_dark.svg",
|
|
14
14
|
"product_name": "Example App",
|
|
15
|
-
"python_version":
|
|
16
|
-
"3.9",
|
|
17
|
-
"3.13"
|
|
18
|
-
],
|
|
15
|
+
"python_version": "3.9,3.13",
|
|
19
16
|
"product_version_regex": ".*",
|
|
20
17
|
"publisher": "Splunk Inc.",
|
|
21
18
|
"utctime_updated": "2025-04-17T12:00:00.000000Z",
|
|
File without changes
|
|
@@ -1291,7 +1291,7 @@ wheels = [
|
|
|
1291
1291
|
|
|
1292
1292
|
[[package]]
|
|
1293
1293
|
name = "splunk-soar-sdk"
|
|
1294
|
-
version = "2.3.
|
|
1294
|
+
version = "2.3.3"
|
|
1295
1295
|
source = { editable = "." }
|
|
1296
1296
|
dependencies = [
|
|
1297
1297
|
{ name = "beautifulsoup4", marker = "(python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux')" },
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
## [2.3.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.3.0...2.3.1) (2025-10-07)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
### Bug Fixes
|
|
5
|
-
|
|
6
|
-
* make request changes ([ae80851](https://github.com/phantomcyber/splunk-soar-sdk/commit/ae8085161210157c9d83aa296642c4c682803805))
|
|
7
|
-
* pass empty messages to platform instead of setting dummy message ([133b7f5](https://github.com/phantomcyber/splunk-soar-sdk/commit/133b7f5ace4e782469633a40ded03f54bb605d0d))
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## [2.3.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.3.0...2.3.1) (2025-10-07)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
### Bug Fixes
|
|
17
|
-
|
|
18
|
-
* make request changes ([ae80851](https://github.com/phantomcyber/splunk-soar-sdk/commit/ae8085161210157c9d83aa296642c4c682803805))
|
|
19
|
-
* pass empty messages to platform instead of setting dummy message ([133b7f5](https://github.com/phantomcyber/splunk-soar-sdk/commit/133b7f5ace4e782469633a40ded03f54bb605d0d))
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.3.1
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/app_structure/pre-commit-config.yaml.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/docs/getting_started/testing_and_building.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/logo.svg
RENAMED
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/logo_dark.svg
RENAMED
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/src/__init__.py
RENAMED
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/app_templates/basic_app/uv.lock
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/action_renderer.py
RENAMED
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/asset_renderer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/code_renderers/toml_renderer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splunk_soar_sdk-2.3.1 → splunk_soar_sdk-2.3.3}/src/soar_sdk/decorators/test_connectivity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|