port-ocean 0.22.7__tar.gz → 0.22.8__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.
Potentially problematic release.
This version of port-ocean might be problematic. Click here for more details.
- {port_ocean-0.22.7 → port_ocean-0.22.8}/PKG-INFO +1 -1
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/authentication.py +2 -2
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/client.py +4 -4
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/blueprints.py +10 -10
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/entities.py +4 -4
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/integrations.py +8 -8
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/migrations.py +2 -2
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/organization.py +2 -2
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/utils.py +9 -4
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/port/mixins/test_organization_mixin.py +1 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/pyproject.toml +1 -1
- {port_ocean-0.22.7 → port_ocean-0.22.8}/LICENSE.md +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/README.md +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Dockerfile.Deb +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Dockerfile.alpine +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Dockerfile.base.builder +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Dockerfile.base.runner +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Dockerfile.dockerignore +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/Makefile +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/grpcio.sh +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/integrations/_infra/init.sh +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/bootstrap.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cli.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/defaults/__init___.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/defaults/clean.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/defaults/dock.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/defaults/group.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/list_integrations.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/main.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/new.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/pull.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/sail.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/commands/version.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/extensions.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.env.example +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/blueprints.json +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/port-app-config.yml +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CONTRIBUTING.md +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/test_sample.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/auth/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/auth/auth_client.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/auth/oauth_client.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/mixins/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/retry_transport.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/clients/port/types.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/config/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/config/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/config/dynamic.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/config/settings.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/consumers/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/consumers/kafka_consumer.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/context/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/context/event.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/context/ocean.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/context/resource.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/defaults/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/defaults/clean.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/defaults/common.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/defaults/initialize.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/factory.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/http.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/kafka.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/once.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/polling.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/event_listener/webhooks_only.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entity_processor/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/port_app_config/api.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/port_app_config/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/port_app_config/models.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/queue/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/queue/abstract_queue.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/queue/local_queue.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/resync_state_updater/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/resync_state_updater/updater.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/webhook/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/webhook/abstract_webhook_processor.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/webhook/processor_manager.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/webhook/webhook_event.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/events.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/handler.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/live_events.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/sync.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/sync_raw.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/integrations/mixins/utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/models.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/ocean_types.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/utils/entity_topological_sorter.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/utils/utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/debug_cli.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/api.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/clients.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/context.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/core.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/port_defaults.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/exceptions/webhook_processor.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/helpers/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/helpers/async_client.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/helpers/metric/metric.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/helpers/metric/utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/helpers/retry.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/log/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/log/handlers.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/log/logger_setup.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/log/sensetive.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/middlewares.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/ocean.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/py.typed +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/run.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/sonar-project.properties +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/oauth/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/oauth/test_oauth_client.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/port/mixins/test_entities.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/conftest.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/conftest.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/defaults/test_common.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/entities_state_applier/test_applier.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/mixins/test_live_events.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/mixins/test_sync_raw.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/port_app_config/test_api.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/port_app_config/test_base.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/queue/test_local_queue.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/webhook/test_processor_manager.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/webhook/test_webhook_event.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/test_utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/utils/test_entity_topological_sorter.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/utils/test_resolve_entities_diff.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/fake_port_api.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/fixtures.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/integration.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/ocean_app.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/port_client.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/helpers/smoke_test.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/log/test_handlers.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/test_metric.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/test_ocean.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/test_smoke.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/utils/test_async_iterators.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/utils/test_cache.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/__init__.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/async_http.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/async_iterators.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/cache.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/misc.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/queue_utils.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/repeat.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/signal.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/utils/time.py +0 -0
- {port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/version.py +0 -0
|
@@ -6,7 +6,7 @@ from loguru import logger
|
|
|
6
6
|
from pydantic import BaseModel, Field, PrivateAttr
|
|
7
7
|
|
|
8
8
|
from port_ocean.clients.port.types import UserAgentType
|
|
9
|
-
from port_ocean.clients.port.utils import
|
|
9
|
+
from port_ocean.clients.port.utils import handle_port_status_code
|
|
10
10
|
from port_ocean.utils.misc import get_time
|
|
11
11
|
|
|
12
12
|
|
|
@@ -58,7 +58,7 @@ class PortAuthentication:
|
|
|
58
58
|
json=credentials,
|
|
59
59
|
extensions={"retryable": True},
|
|
60
60
|
)
|
|
61
|
-
|
|
61
|
+
handle_port_status_code(response)
|
|
62
62
|
return TokenResponse(**response.json())
|
|
63
63
|
|
|
64
64
|
def user_agent(self, user_agent_type: UserAgentType | None = None) -> str:
|
|
@@ -10,7 +10,7 @@ from port_ocean.clients.port.types import (
|
|
|
10
10
|
KafkaCreds,
|
|
11
11
|
)
|
|
12
12
|
from port_ocean.clients.port.utils import (
|
|
13
|
-
|
|
13
|
+
handle_port_status_code,
|
|
14
14
|
get_internal_http_client,
|
|
15
15
|
)
|
|
16
16
|
from port_ocean.exceptions.clients import KafkaCredentialsNotFound
|
|
@@ -59,7 +59,7 @@ class PortClient(
|
|
|
59
59
|
)
|
|
60
60
|
if response.is_error:
|
|
61
61
|
logger.error("Error getting kafka credentials")
|
|
62
|
-
|
|
62
|
+
handle_port_status_code(response)
|
|
63
63
|
|
|
64
64
|
credentials = response.json().get("credentials")
|
|
65
65
|
|
|
@@ -76,7 +76,7 @@ class PortClient(
|
|
|
76
76
|
)
|
|
77
77
|
if response.is_error:
|
|
78
78
|
logger.error(f"Error getting organization id, error: {response.text}")
|
|
79
|
-
|
|
79
|
+
handle_port_status_code(response)
|
|
80
80
|
|
|
81
81
|
return response.json()["organization"]["id"]
|
|
82
82
|
|
|
@@ -90,7 +90,7 @@ class PortClient(
|
|
|
90
90
|
headers=await self.auth.headers(),
|
|
91
91
|
json=state,
|
|
92
92
|
)
|
|
93
|
-
|
|
93
|
+
handle_port_status_code(response, should_raise, should_log)
|
|
94
94
|
if response.is_success and should_log:
|
|
95
95
|
logger.info("Integration resync state updated successfully")
|
|
96
96
|
|
|
@@ -5,7 +5,7 @@ from loguru import logger
|
|
|
5
5
|
|
|
6
6
|
from port_ocean.clients.port.authentication import PortAuthentication
|
|
7
7
|
from port_ocean.clients.port.types import UserAgentType
|
|
8
|
-
from port_ocean.clients.port.utils import
|
|
8
|
+
from port_ocean.clients.port.utils import handle_port_status_code
|
|
9
9
|
from port_ocean.core.models import Blueprint
|
|
10
10
|
|
|
11
11
|
|
|
@@ -22,7 +22,7 @@ class BlueprintClientMixin:
|
|
|
22
22
|
f"{self.auth.api_url}/blueprints/{identifier}",
|
|
23
23
|
headers=await self.auth.headers(),
|
|
24
24
|
)
|
|
25
|
-
|
|
25
|
+
handle_port_status_code(response, should_log=should_log)
|
|
26
26
|
return Blueprint.parse_obj(response.json()["blueprint"])
|
|
27
27
|
|
|
28
28
|
async def create_blueprint(
|
|
@@ -35,7 +35,7 @@ class BlueprintClientMixin:
|
|
|
35
35
|
response = await self.client.post(
|
|
36
36
|
f"{self.auth.api_url}/blueprints", headers=headers, json=raw_blueprint
|
|
37
37
|
)
|
|
38
|
-
|
|
38
|
+
handle_port_status_code(response)
|
|
39
39
|
return response.json()["blueprint"]
|
|
40
40
|
|
|
41
41
|
async def patch_blueprint(
|
|
@@ -51,7 +51,7 @@ class BlueprintClientMixin:
|
|
|
51
51
|
headers=headers,
|
|
52
52
|
json=raw_blueprint,
|
|
53
53
|
)
|
|
54
|
-
|
|
54
|
+
handle_port_status_code(response)
|
|
55
55
|
|
|
56
56
|
async def delete_blueprint(
|
|
57
57
|
self,
|
|
@@ -70,7 +70,7 @@ class BlueprintClientMixin:
|
|
|
70
70
|
f"{self.auth.api_url}/blueprints/{identifier}",
|
|
71
71
|
headers=headers,
|
|
72
72
|
)
|
|
73
|
-
|
|
73
|
+
handle_port_status_code(response, should_raise)
|
|
74
74
|
return None
|
|
75
75
|
else:
|
|
76
76
|
response = await self.client.delete(
|
|
@@ -78,7 +78,7 @@ class BlueprintClientMixin:
|
|
|
78
78
|
headers=await self.auth.headers(),
|
|
79
79
|
)
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
handle_port_status_code(response, should_raise)
|
|
82
82
|
return response.json().get("migrationId", "")
|
|
83
83
|
|
|
84
84
|
async def create_action(
|
|
@@ -91,7 +91,7 @@ class BlueprintClientMixin:
|
|
|
91
91
|
headers=await self.auth.headers(),
|
|
92
92
|
)
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
handle_port_status_code(response, should_log=should_log)
|
|
95
95
|
|
|
96
96
|
async def create_scorecard(
|
|
97
97
|
self,
|
|
@@ -106,7 +106,7 @@ class BlueprintClientMixin:
|
|
|
106
106
|
headers=await self.auth.headers(),
|
|
107
107
|
)
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
handle_port_status_code(response, should_log=should_log)
|
|
110
110
|
|
|
111
111
|
async def create_page(
|
|
112
112
|
self, page: dict[str, Any], should_log: bool = True
|
|
@@ -118,7 +118,7 @@ class BlueprintClientMixin:
|
|
|
118
118
|
headers=await self.auth.headers(),
|
|
119
119
|
)
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
handle_port_status_code(response, should_log=should_log)
|
|
122
122
|
return page
|
|
123
123
|
|
|
124
124
|
async def delete_page(
|
|
@@ -132,4 +132,4 @@ class BlueprintClientMixin:
|
|
|
132
132
|
headers=await self.auth.headers(),
|
|
133
133
|
)
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
handle_port_status_code(response, should_raise)
|
|
@@ -9,7 +9,7 @@ from loguru import logger
|
|
|
9
9
|
from port_ocean.clients.port.authentication import PortAuthentication
|
|
10
10
|
from port_ocean.clients.port.types import RequestOptions, UserAgentType
|
|
11
11
|
from port_ocean.clients.port.utils import (
|
|
12
|
-
|
|
12
|
+
handle_port_status_code,
|
|
13
13
|
PORT_HTTP_MAX_CONNECTIONS_LIMIT,
|
|
14
14
|
)
|
|
15
15
|
from port_ocean.core.models import Entity, PortAPIErrorMessage
|
|
@@ -89,7 +89,7 @@ class EntityClientMixin:
|
|
|
89
89
|
):
|
|
90
90
|
# Return false to differentiate from `result_entity.is_using_search_identifier`
|
|
91
91
|
return False
|
|
92
|
-
|
|
92
|
+
handle_port_status_code(response, should_raise)
|
|
93
93
|
result = response.json()
|
|
94
94
|
|
|
95
95
|
result_entity = (
|
|
@@ -192,7 +192,7 @@ class EntityClientMixin:
|
|
|
192
192
|
f"blueprint: {entity.blueprint}"
|
|
193
193
|
)
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
handle_port_status_code(response, should_raise)
|
|
196
196
|
|
|
197
197
|
async def batch_delete_entities(
|
|
198
198
|
self,
|
|
@@ -252,7 +252,7 @@ class EntityClientMixin:
|
|
|
252
252
|
},
|
|
253
253
|
extensions={"retryable": True},
|
|
254
254
|
)
|
|
255
|
-
|
|
255
|
+
handle_port_status_code(response)
|
|
256
256
|
return [Entity.parse_obj(result) for result in response.json()["entities"]]
|
|
257
257
|
|
|
258
258
|
async def search_batch_entities(
|
|
@@ -5,7 +5,7 @@ from urllib.parse import quote_plus
|
|
|
5
5
|
import httpx
|
|
6
6
|
from loguru import logger
|
|
7
7
|
from port_ocean.clients.port.authentication import PortAuthentication
|
|
8
|
-
from port_ocean.clients.port.utils import
|
|
8
|
+
from port_ocean.clients.port.utils import handle_port_status_code
|
|
9
9
|
from port_ocean.exceptions.port_defaults import DefaultsProvisionFailed
|
|
10
10
|
from port_ocean.log.sensetive import sensitive_log_filter
|
|
11
11
|
|
|
@@ -56,7 +56,7 @@ class IntegrationClientMixin:
|
|
|
56
56
|
headers=await self.auth.headers(),
|
|
57
57
|
)
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
handle_port_status_code(response, should_raise, should_log)
|
|
60
60
|
|
|
61
61
|
return response.json().get("integrations", [])
|
|
62
62
|
|
|
@@ -75,7 +75,7 @@ class IntegrationClientMixin:
|
|
|
75
75
|
has_provision_feature_flag: bool = False,
|
|
76
76
|
) -> dict[str, Any]:
|
|
77
77
|
response = await self._get_current_integration()
|
|
78
|
-
|
|
78
|
+
handle_port_status_code(response, should_raise, should_log)
|
|
79
79
|
integration = response.json().get("integration", {})
|
|
80
80
|
if integration.get("config", None) or not integration:
|
|
81
81
|
return integration
|
|
@@ -164,7 +164,7 @@ class IntegrationClientMixin:
|
|
|
164
164
|
json=json,
|
|
165
165
|
params=query_params,
|
|
166
166
|
)
|
|
167
|
-
|
|
167
|
+
handle_port_status_code(response)
|
|
168
168
|
if create_port_resources_origin_in_port:
|
|
169
169
|
result = (
|
|
170
170
|
await self._poll_integration_until_default_provisioning_is_complete()
|
|
@@ -194,7 +194,7 @@ class IntegrationClientMixin:
|
|
|
194
194
|
headers=headers,
|
|
195
195
|
json=json,
|
|
196
196
|
)
|
|
197
|
-
|
|
197
|
+
handle_port_status_code(response)
|
|
198
198
|
return response.json()["integration"]
|
|
199
199
|
|
|
200
200
|
async def ingest_integration_logs(self, logs: list[dict[str, Any]]) -> None:
|
|
@@ -208,7 +208,7 @@ class IntegrationClientMixin:
|
|
|
208
208
|
"logs": logs,
|
|
209
209
|
},
|
|
210
210
|
)
|
|
211
|
-
|
|
211
|
+
handle_port_status_code(response, should_log=False)
|
|
212
212
|
logger.debug("Logs successfully ingested")
|
|
213
213
|
|
|
214
214
|
async def ingest_integration_kind_examples(
|
|
@@ -223,7 +223,7 @@ class IntegrationClientMixin:
|
|
|
223
223
|
"examples": sensitive_log_filter.mask_object(data, full_hide=True),
|
|
224
224
|
},
|
|
225
225
|
)
|
|
226
|
-
|
|
226
|
+
handle_port_status_code(response, should_log=should_log)
|
|
227
227
|
logger.debug(f"Examples for kind {kind} successfully ingested")
|
|
228
228
|
|
|
229
229
|
async def _delete_current_integration(self) -> httpx.Response:
|
|
@@ -238,5 +238,5 @@ class IntegrationClientMixin:
|
|
|
238
238
|
self, should_raise: bool = True, should_log: bool = True
|
|
239
239
|
) -> dict[str, Any]:
|
|
240
240
|
response = await self._delete_current_integration()
|
|
241
|
-
|
|
241
|
+
handle_port_status_code(response, should_raise, should_log)
|
|
242
242
|
return response.json()
|
|
@@ -4,7 +4,7 @@ import httpx
|
|
|
4
4
|
from loguru import logger
|
|
5
5
|
|
|
6
6
|
from port_ocean.clients.port.authentication import PortAuthentication
|
|
7
|
-
from port_ocean.clients.port.utils import
|
|
7
|
+
from port_ocean.clients.port.utils import handle_port_status_code
|
|
8
8
|
from port_ocean.core.models import Migration
|
|
9
9
|
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ class MigrationClientMixin:
|
|
|
28
28
|
headers=headers,
|
|
29
29
|
)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
handle_port_status_code(response, should_raise=True)
|
|
32
32
|
|
|
33
33
|
migration_status = response.json().get("migration", {}).get("status", None)
|
|
34
34
|
if (
|
|
@@ -2,7 +2,7 @@ from typing import List
|
|
|
2
2
|
import httpx
|
|
3
3
|
from loguru import logger
|
|
4
4
|
from port_ocean.clients.port.authentication import PortAuthentication
|
|
5
|
-
from port_ocean.clients.port.utils import
|
|
5
|
+
from port_ocean.clients.port.utils import handle_port_status_code
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class OrganizationClientMixin:
|
|
@@ -27,5 +27,5 @@ class OrganizationClientMixin:
|
|
|
27
27
|
self, should_raise: bool = True, should_log: bool = True
|
|
28
28
|
) -> List[str]:
|
|
29
29
|
response = await self._get_organization_feature_flags()
|
|
30
|
-
|
|
30
|
+
handle_port_status_code(response, should_raise, should_log)
|
|
31
31
|
return response.json().get("organization", {}).get("featureFlags", [])
|
|
@@ -62,12 +62,17 @@ def get_internal_http_client(port_client: "PortClient") -> httpx.AsyncClient:
|
|
|
62
62
|
return _port_internal_async_client
|
|
63
63
|
|
|
64
64
|
|
|
65
|
-
def
|
|
65
|
+
def handle_port_status_code(
|
|
66
66
|
response: httpx.Response, should_raise: bool = True, should_log: bool = True
|
|
67
67
|
) -> None:
|
|
68
68
|
if should_log and response.is_error:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
error_message = f"Request failed with status code: {response.status_code}, Error: {response.text}"
|
|
70
|
+
if response.status_code >= 500 and response.headers.get("x-trace-id"):
|
|
71
|
+
logger.error(
|
|
72
|
+
error_message,
|
|
73
|
+
trace_id=response.headers.get("x-trace-id"),
|
|
74
|
+
)
|
|
75
|
+
else:
|
|
76
|
+
logger.error(error_message)
|
|
72
77
|
if should_raise:
|
|
73
78
|
response.raise_for_status()
|
|
@@ -16,6 +16,7 @@ async def mocked_org_mixin() -> OrganizationClientMixin:
|
|
|
16
16
|
client.get.return_value.json.return_value = {
|
|
17
17
|
"organization": {"featureFlags": ["aa", "bb"]}
|
|
18
18
|
}
|
|
19
|
+
client.get.return_value.status_code = 200
|
|
19
20
|
return OrganizationClientMixin(auth=auth, client=client)
|
|
20
21
|
|
|
21
22
|
|
|
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
|
|
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
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/__init__.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entities_state_applier/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/entity_processor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/port_app_config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/resync_state_updater/__init__.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/resync_state_updater/updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/core/handlers/webhook/processor_manager.py
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
|
|
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
|
|
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
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/clients/port/mixins/test_entities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/mixins/test_live_events.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/mixins/test_sync_raw.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/port_app_config/test_api.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/port_app_config/test_base.py
RENAMED
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/queue/test_local_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/handlers/webhook/test_webhook_event.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.22.7 → port_ocean-0.22.8}/port_ocean/tests/core/utils/test_resolve_entities_diff.py
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
|
|
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
|