nextmv 1.4.1.dev4__tar.gz → 1.4.2.dev3__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.
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/PKG-INFO +1 -1
- nextmv-1.4.2.dev3/nextmv/__about__.py +1 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/__init__.py +3 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/client.py +2 -3
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/manifest.py +19 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/app.yaml +6 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_manifest.py +52 -1
- nextmv-1.4.1.dev4/nextmv/__about__.py +0 -1
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/.python-version +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/CONTRIBUTING.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/LICENSE +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/_serialization.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/account.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/base_model.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/acceptance/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/account/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/account/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/account/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/account/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/exists.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/push.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/app/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/batch/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/data/upload.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/ensemble/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/input_set/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/exists.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/instance/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/managed_input/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/cancel.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/logs.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/run/track.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/scenario/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/secrets/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/start.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/stop.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/shadow/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/disable.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/domain/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/enable.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/sso/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/start.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/stop.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/switchback/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/upload/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/exists.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/version/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/community/clone.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/community/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/configuration/config.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/configuration/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/configuration/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/configuration/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/init.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/delete.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/register.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/registered.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/sync.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/app/update.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/create.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/get.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/list.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/logs.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/metadata.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/local/run/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/manifest/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/manifest/init.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/manifest/validate.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/serve.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/server.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/WORKFLOW.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/_helpers.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/acceptance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/account.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/app.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/batch.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/community.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/ensemble.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/guide.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/input_set.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/instance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/local.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/managed_input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/profile.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/run.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/scenario.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/secrets.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/shadow.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/sso.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/switchback.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/mcp/tools/version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/message.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/options.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/account.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_run.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/community.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/package.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/sso.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/url.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cloud/version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/content_format.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/src/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/default_app/src/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/deprecated.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/application.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/executor.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/local.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/registry.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/local/runner.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/logger.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/model.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/options.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/output.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/polling.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/run.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/safe.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/status.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/binary_json_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/binary_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/go.mod +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_json_hello-world/main.go +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/go.mod +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/go_multi-file_hello-world/main.go +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/Main.java +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_json_hello-world/pom.xml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/Main.java +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/java_multi-file_hello-world/pom.xml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_class-assign/visualizations.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_json_hello-world/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/inputs/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_class-assign/visualizations.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/inputs/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/templates/python_multi-file_hello-world/requirements.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/pyproject.toml +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cli/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cli/test_main.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cli/test_mcp.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cli/test_version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/test_client.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/test_package.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/integration/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/integration/cloud/test_integration_cloud.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/local/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/local/test_application.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/local/test_executor.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/local/test_registry.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/local/test_runner.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options1.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options2.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options3.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options4.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options5.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options6.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/scripts/options7.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_base_model.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_input.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_logger.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_model.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_options.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_output.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_polling.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_run.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_safe.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_serialization.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/tests/test_version.py +0 -0
- {nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.4.2.dev3"
|
|
@@ -811,6 +811,9 @@ class Application(
|
|
|
811
811
|
|
|
812
812
|
if manifest.configuration is not None and manifest.configuration.options is not None:
|
|
813
813
|
options = manifest.configuration.options.to_dict()
|
|
814
|
+
# Ignore local_only options since they are not meant to be used on the platform
|
|
815
|
+
if "items" in options:
|
|
816
|
+
options["items"] = [item for item in options["items"] if not item.get("local_only", False)]
|
|
814
817
|
if "format" in options and isinstance(options["format"], list):
|
|
815
818
|
# the endpoint expects a dictionary with a template key having a list of strings
|
|
816
819
|
# the app.yaml however defines format as a list of strings, so we need to convert it here
|
|
@@ -601,11 +601,10 @@ class Client:
|
|
|
601
601
|
str
|
|
602
602
|
The resolved API endpoint URL.
|
|
603
603
|
"""
|
|
604
|
-
url_key_env = os.getenv("NEXTMV_ENDPOINT")
|
|
605
604
|
if self.url is not None and self.url != "":
|
|
606
605
|
url = self.url
|
|
607
|
-
elif
|
|
608
|
-
url =
|
|
606
|
+
elif (url_env := os.getenv("NEXTMV_ENDPOINT")):
|
|
607
|
+
url = url_env
|
|
609
608
|
elif profile is not None and profile != "":
|
|
610
609
|
url = _retrieve_endpoint_from_config(profile)
|
|
611
610
|
else:
|
|
@@ -511,6 +511,8 @@ class ManifestOption(BaseModel):
|
|
|
511
511
|
The description of the option.
|
|
512
512
|
required : bool, default=False
|
|
513
513
|
Whether the option is required or not.
|
|
514
|
+
local_only : bool, default=False
|
|
515
|
+
Whether the option is only used locally and should not be sent to Nextmv Cloud.
|
|
514
516
|
additional_attributes : Optional[dict[str, Any]], default=None
|
|
515
517
|
Optional additional attributes for the option. The Nextmv Cloud may
|
|
516
518
|
perform validation on these attributes. For example, the maximum
|
|
@@ -551,11 +553,28 @@ class ManifestOption(BaseModel):
|
|
|
551
553
|
"""The description of the option"""
|
|
552
554
|
required: bool = False
|
|
553
555
|
"""Whether the option is required or not"""
|
|
556
|
+
local_only: bool = False
|
|
557
|
+
"""Whether the option is only used locally and should not be sent to Nextmv Cloud."""
|
|
554
558
|
additional_attributes: dict[str, Any] | None = None
|
|
555
559
|
"""Optional additional attributes for the option."""
|
|
556
560
|
ui: ManifestOptionUI | None = None
|
|
557
561
|
"""Optional UI attributes for the option."""
|
|
558
562
|
|
|
563
|
+
def model_post_init(self, __context) -> None:
|
|
564
|
+
"""
|
|
565
|
+
Validations done after parsing the model.
|
|
566
|
+
|
|
567
|
+
Raises
|
|
568
|
+
------
|
|
569
|
+
ValueError
|
|
570
|
+
If validation fails. A descriptive error message is provided in this case.
|
|
571
|
+
"""
|
|
572
|
+
|
|
573
|
+
# It does not make sense to define options as required AND them being local only,
|
|
574
|
+
# since this would make Platform runs via UI cumbersome to impossible.
|
|
575
|
+
if self.required and self.local_only:
|
|
576
|
+
raise ValueError(f"Option '{self.name}' cannot be both required and local only.")
|
|
577
|
+
|
|
559
578
|
@classmethod
|
|
560
579
|
def from_option(cls, option: Option) -> "ManifestOption":
|
|
561
580
|
"""
|
|
@@ -64,6 +64,12 @@ configuration:
|
|
|
64
64
|
control_type: select
|
|
65
65
|
hidden_from:
|
|
66
66
|
- operator
|
|
67
|
+
- name: a local only parameter
|
|
68
|
+
option_type: string
|
|
69
|
+
default: local_default
|
|
70
|
+
description: a local only description
|
|
71
|
+
required: false
|
|
72
|
+
local_only: true
|
|
67
73
|
content:
|
|
68
74
|
format: "multi-file"
|
|
69
75
|
multi-file:
|
|
@@ -189,7 +189,7 @@ class TestManifest(unittest.TestCase):
|
|
|
189
189
|
def test_extract_options(self):
|
|
190
190
|
manifest = Manifest.from_yaml("tests/cloud")
|
|
191
191
|
options = manifest.extract_options(should_parse=False)
|
|
192
|
-
self.assertEqual(len(options.options),
|
|
192
|
+
self.assertEqual(len(options.options), 6)
|
|
193
193
|
|
|
194
194
|
found = {
|
|
195
195
|
"string": False,
|
|
@@ -500,6 +500,57 @@ class TestManifestOption(unittest.TestCase):
|
|
|
500
500
|
self.assertEqual(option.required, manifest_option.required)
|
|
501
501
|
|
|
502
502
|
|
|
503
|
+
class TestManifestOptionLocalOnly(unittest.TestCase):
|
|
504
|
+
def test_local_only_defaults_to_false(self):
|
|
505
|
+
option = ManifestOption(name="my_option", option_type="string", default="val")
|
|
506
|
+
self.assertFalse(option.local_only)
|
|
507
|
+
|
|
508
|
+
def test_local_only_can_be_set_to_true(self):
|
|
509
|
+
option = ManifestOption(name="my_option", option_type="int", default=0, local_only=True)
|
|
510
|
+
self.assertTrue(option.local_only)
|
|
511
|
+
|
|
512
|
+
def test_required_and_local_only_raises(self):
|
|
513
|
+
with self.assertRaises(ValueError) as ctx:
|
|
514
|
+
ManifestOption(name="my_option", option_type="string", default="val", required=True, local_only=True)
|
|
515
|
+
self.assertIn("my_option", str(ctx.exception))
|
|
516
|
+
self.assertIn("required", str(ctx.exception).lower())
|
|
517
|
+
self.assertIn("local only", str(ctx.exception).lower())
|
|
518
|
+
|
|
519
|
+
def test_local_only_round_trips_through_dict(self):
|
|
520
|
+
original = ManifestOption(name="my_option", option_type="float", default=1.5, local_only=True)
|
|
521
|
+
as_dict = original.to_dict()
|
|
522
|
+
self.assertTrue(as_dict["local_only"])
|
|
523
|
+
restored = ManifestOption.from_dict(as_dict)
|
|
524
|
+
self.assertTrue(restored.local_only)
|
|
525
|
+
|
|
526
|
+
def test_non_local_only_round_trips_through_dict(self):
|
|
527
|
+
original = ManifestOption(name="my_option", option_type="bool", default=False, local_only=False)
|
|
528
|
+
as_dict = original.to_dict()
|
|
529
|
+
self.assertFalse(as_dict["local_only"])
|
|
530
|
+
restored = ManifestOption.from_dict(as_dict)
|
|
531
|
+
self.assertFalse(restored.local_only)
|
|
532
|
+
|
|
533
|
+
def test_local_only_loaded_from_yaml(self):
|
|
534
|
+
manifest = Manifest.from_yaml("tests/cloud")
|
|
535
|
+
items = manifest.configuration.options.items
|
|
536
|
+
local_only_items = [item for item in items if item.local_only]
|
|
537
|
+
self.assertEqual(len(local_only_items), 1)
|
|
538
|
+
item = local_only_items[0]
|
|
539
|
+
self.assertEqual(item.name, "a local only parameter")
|
|
540
|
+
self.assertEqual(item.option_type, "string")
|
|
541
|
+
self.assertEqual(item.default, "local_default")
|
|
542
|
+
self.assertFalse(item.required)
|
|
543
|
+
self.assertTrue(item.local_only)
|
|
544
|
+
|
|
545
|
+
def test_other_options_are_not_local_only(self):
|
|
546
|
+
manifest = Manifest.from_yaml("tests/cloud")
|
|
547
|
+
items = manifest.configuration.options.items
|
|
548
|
+
non_local_only_items = [item for item in items if not item.local_only]
|
|
549
|
+
# All items except the one explicitly marked local_only should have local_only=False.
|
|
550
|
+
for item in non_local_only_items:
|
|
551
|
+
self.assertFalse(item.local_only, msg=f"Option '{item.name}' should not be local_only")
|
|
552
|
+
|
|
553
|
+
|
|
503
554
|
class TestWriteSampleManifest(unittest.TestCase):
|
|
504
555
|
def test_writes_python_manifest(self):
|
|
505
556
|
with tempfile.TemporaryDirectory() as dirpath:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "v1.4.1.dev4"
|
|
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
|
|
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
|
{nextmv-1.4.1.dev4 → nextmv-1.4.2.dev3}/nextmv/cli/cloud/marketplace/subscription/__init__.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
|
|
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
|