nextmv 1.4.1.dev2__tar.gz → 1.4.1.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.dev2 → nextmv-1.4.1.dev3}/CONTRIBUTING.md +1 -1
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/PKG-INFO +1 -1
- nextmv-1.4.1.dev3/nextmv/__about__.py +1 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/account/create.py +3 -3
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/account/get.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/create.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/exists.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/get.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/list.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/app/create.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/app/list.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/subscription/create.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/subscription/list.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/create.py +3 -3
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/get.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/community/clone.py +2 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/community/list.py +1 -2
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/configuration/config.py +5 -70
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/_helpers.py +2 -3
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/__init__.py +9 -2
- nextmv-1.4.1.dev3/nextmv/cloud/client.py +856 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cli/test_mcp.py +327 -218
- nextmv-1.4.1.dev3/tests/cloud/test_client.py +351 -0
- nextmv-1.4.1.dev2/nextmv/__about__.py +0 -1
- nextmv-1.4.1.dev2/nextmv/cloud/client.py +0 -510
- nextmv-1.4.1.dev2/tests/cloud/test_client.py +0 -35
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/.python-version +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/LICENSE +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/_serialization.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/account.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/base_model.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/acceptance/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/account/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/account/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/push.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/app/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/batch/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/data/upload.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/ensemble/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/input_set/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/exists.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/instance/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/managed_input/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/cancel.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/logs.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/run/track.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/scenario/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/secrets/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/start.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/stop.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/shadow/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/disable.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/domain/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/enable.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/sso/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/start.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/stop.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/switchback/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/upload/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/exists.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/cloud/version/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/configuration/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/configuration/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/configuration/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/init.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/delete.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/register.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/registered.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/sync.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/app/update.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/create.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/get.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/list.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/logs.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/metadata.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/local/run/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/manifest/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/manifest/init.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/manifest/validate.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/serve.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/server.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/WORKFLOW.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/acceptance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/account.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/app.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/batch.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/community.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/ensemble.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/guide.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/input_set.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/instance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/local.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/managed_input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/profile.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/run.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/scenario.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/secrets.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/shadow.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/sso.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/switchback.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/mcp/tools/version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/message.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/options.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cli/version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/account.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_run.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/community.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/package.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/sso.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/url.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/cloud/version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/content_format.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/src/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/default_app/src/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/deprecated.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/application.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/executor.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/local.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/registry.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/local/runner.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/logger.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/manifest.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/model.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/options.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/output.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/polling.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/run.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/safe.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/status.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/binary_json_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/binary_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/go.mod +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_json_hello-world/main.go +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/go.mod +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/go_multi-file_hello-world/main.go +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/Main.java +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_json_hello-world/pom.xml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/Main.java +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/java_multi-file_hello-world/pom.xml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_class-assign/visualizations.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_json_hello-world/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/inputs/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_class-assign/visualizations.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/inputs/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/README.md +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/nextmv/templates/python_multi-file_hello-world/requirements.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/pyproject.toml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cli/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cli/test_main.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cli/test_version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cloud/app.yaml +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cloud/test_package.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/integration/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/integration/cloud/test_integration_cloud.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/local/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/local/test_application.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/local/test_executor.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/local/test_registry.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/local/test_runner.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options1.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options2.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options3.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options4.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options5.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options6.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/scripts/options7.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_base_model.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_input.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_logger.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_manifest.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_model.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_options.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_output.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_polling.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_run.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_safe.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_serialization.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/tests/test_version.py +0 -0
- {nextmv-1.4.1.dev2 → nextmv-1.4.1.dev3}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.4.1.dev3"
|
|
@@ -6,10 +6,10 @@ from typing import Annotated
|
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
|
-
from nextmv.cli.configuration.config import build_client
|
|
10
9
|
from nextmv.cli.message import in_progress, print_json
|
|
11
10
|
from nextmv.cli.options import ProfileOption
|
|
12
11
|
from nextmv.cloud.account import Account
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -70,7 +70,7 @@ def create(
|
|
|
70
70
|
--admins "thumper@forestmail.com,flopsy@warren.io"[/dim]
|
|
71
71
|
"""
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
client = Client(profile=profile)
|
|
74
74
|
in_progress(msg="Creating account...")
|
|
75
75
|
|
|
76
76
|
admin_list = []
|
|
@@ -82,5 +82,5 @@ def create(
|
|
|
82
82
|
for sub_admin in sub_admins:
|
|
83
83
|
admin_list.append(sub_admin.strip())
|
|
84
84
|
|
|
85
|
-
account = Account.new(client=
|
|
85
|
+
account = Account.new(client=client, name=name, admins=admin_list)
|
|
86
86
|
print_json(account.to_dict())
|
|
@@ -7,10 +7,10 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import AccountIDOption, ProfileOption
|
|
13
12
|
from nextmv.cloud.account import Account
|
|
13
|
+
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
16
16
|
app = typer.Typer()
|
|
@@ -46,7 +46,7 @@ def get(
|
|
|
46
46
|
$ [dim]nextmv cloud account get --account-id cottontail-couriers --output account.json[/dim]
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
|
-
client =
|
|
49
|
+
client = Client(profile=profile)
|
|
50
50
|
in_progress(msg="Getting account...")
|
|
51
51
|
|
|
52
52
|
cloud_account = Account.get(
|
|
@@ -6,10 +6,10 @@ from typing import Annotated
|
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
|
-
from nextmv.cli.configuration.config import build_client
|
|
10
9
|
from nextmv.cli.message import in_progress, print_json
|
|
11
10
|
from nextmv.cli.options import ProfileOption
|
|
12
11
|
from nextmv.cloud.application import Application
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -121,7 +121,7 @@ def create(
|
|
|
121
121
|
--default-experiment-instance experiment-v1[/dim]
|
|
122
122
|
"""
|
|
123
123
|
|
|
124
|
-
client =
|
|
124
|
+
client = Client(profile=profile)
|
|
125
125
|
if exist_ok:
|
|
126
126
|
in_progress(msg="Creating or getting application...")
|
|
127
127
|
else:
|
|
@@ -4,10 +4,10 @@ This module defines the cloud app exists command for the Nextmv CLI.
|
|
|
4
4
|
|
|
5
5
|
import typer
|
|
6
6
|
|
|
7
|
-
from nextmv.cli.configuration.config import build_client
|
|
8
7
|
from nextmv.cli.message import in_progress, print_json
|
|
9
8
|
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
10
9
|
from nextmv.cloud.application import Application
|
|
10
|
+
from nextmv.cloud.client import Client
|
|
11
11
|
|
|
12
12
|
# Set up subcommand application.
|
|
13
13
|
app = typer.Typer()
|
|
@@ -34,7 +34,7 @@ def exists(
|
|
|
34
34
|
$ [dim]nextmv cloud app exists --app-id hare-app --profile hare[/dim]
|
|
35
35
|
"""
|
|
36
36
|
|
|
37
|
-
client =
|
|
37
|
+
client = Client(profile=profile)
|
|
38
38
|
in_progress(msg="Checking if application exists...")
|
|
39
39
|
|
|
40
40
|
ok = Application.exists(
|
|
@@ -7,10 +7,10 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
13
12
|
from nextmv.cloud.application import Application
|
|
13
|
+
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
16
16
|
app = typer.Typer()
|
|
@@ -46,7 +46,7 @@ def get(
|
|
|
46
46
|
$ [dim]nextmv cloud app get --app-id hare-app --output app.json[/dim]
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
|
-
client =
|
|
49
|
+
client = Client(profile=profile)
|
|
50
50
|
in_progress(msg="Getting application...")
|
|
51
51
|
|
|
52
52
|
cloud_app = Application.get(client=client, id=app_id)
|
|
@@ -7,10 +7,10 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
13
12
|
from nextmv.cloud.application import list_applications
|
|
13
|
+
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
16
16
|
app = typer.Typer()
|
|
@@ -44,7 +44,7 @@ def list(
|
|
|
44
44
|
$ [dim]nextmv cloud app list --output apps.json[/dim]
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
|
-
client =
|
|
47
|
+
client = Client(profile=profile)
|
|
48
48
|
in_progress(msg="Listing applications...")
|
|
49
49
|
|
|
50
50
|
cloud_apps = list_applications(client)
|
|
@@ -6,9 +6,9 @@ from typing import Annotated
|
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
|
-
from nextmv.cli.configuration.config import build_client
|
|
10
9
|
from nextmv.cli.message import in_progress, print_json
|
|
11
10
|
from nextmv.cli.options import ProfileOption
|
|
11
|
+
from nextmv.cloud.client import Client
|
|
12
12
|
from nextmv.cloud.marketplace import MarketplaceApplication
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
@@ -128,7 +128,7 @@ def create(
|
|
|
128
128
|
--features "real-time optimization"[/dim]
|
|
129
129
|
"""
|
|
130
130
|
|
|
131
|
-
client =
|
|
131
|
+
client = Client(profile=profile)
|
|
132
132
|
in_progress(msg="Creating application...")
|
|
133
133
|
marketplace_app = MarketplaceApplication.new(
|
|
134
134
|
client=client,
|
|
@@ -7,9 +7,9 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
from nextmv.cloud.marketplace import list_marketplace_applications
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -60,7 +60,7 @@ def list(
|
|
|
60
60
|
$ [dim]nextmv cloud marketplace app list --output apps.json[/dim]
|
|
61
61
|
"""
|
|
62
62
|
|
|
63
|
-
client =
|
|
63
|
+
client = Client(profile=profile)
|
|
64
64
|
in_progress(msg="Listing applications...")
|
|
65
65
|
|
|
66
66
|
mkt_apps = list_marketplace_applications(client, partner_id)
|
|
@@ -6,9 +6,9 @@ from typing import Annotated
|
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
|
-
from nextmv.cli.configuration.config import build_client
|
|
10
9
|
from nextmv.cli.message import in_progress, print_json
|
|
11
10
|
from nextmv.cli.options import ProfileOption
|
|
11
|
+
from nextmv.cloud.client import Client
|
|
12
12
|
from nextmv.cloud.marketplace import MarketplaceSubscription
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
@@ -48,7 +48,7 @@ def create(
|
|
|
48
48
|
--profile hare[/dim]
|
|
49
49
|
"""
|
|
50
50
|
|
|
51
|
-
client =
|
|
51
|
+
client = Client(profile=profile)
|
|
52
52
|
in_progress(msg="Creating subscription...")
|
|
53
53
|
subscription = MarketplaceSubscription.new(client, subscription_id)
|
|
54
54
|
print_json(subscription.to_dict())
|
|
@@ -7,9 +7,9 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
from nextmv.cloud.marketplace import list_marketplace_subscriptions
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -44,7 +44,7 @@ def list(
|
|
|
44
44
|
$ [dim]nextmv cloud marketplace subscription list --output subscriptions.json[/dim]
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
|
-
client =
|
|
47
|
+
client = Client(profile=profile)
|
|
48
48
|
in_progress(msg="Listing subscriptions...")
|
|
49
49
|
|
|
50
50
|
subscriptions = list_marketplace_subscriptions(client)
|
|
@@ -7,9 +7,9 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
from nextmv.cloud.sso import SSOConfiguration
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -99,11 +99,11 @@ def create(
|
|
|
99
99
|
if stdin is not None:
|
|
100
100
|
metadata_document = stdin
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
client = Client(profile=profile)
|
|
103
103
|
in_progress(msg="Creating configuration...")
|
|
104
104
|
|
|
105
105
|
SSOConfiguration.new(
|
|
106
|
-
client=
|
|
106
|
+
client=client,
|
|
107
107
|
allow_non_domain_users=allow_non_domain_users,
|
|
108
108
|
enabled=enabled,
|
|
109
109
|
metadata_url=metadata_url,
|
|
@@ -7,9 +7,9 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
12
|
+
from nextmv.cloud.client import Client
|
|
13
13
|
from nextmv.cloud.sso import SSOConfiguration
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -44,7 +44,7 @@ def get(
|
|
|
44
44
|
$ [dim]nextmv cloud sso get --output sso_config.json[/dim]
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
|
-
client =
|
|
47
|
+
client = Client(profile=profile)
|
|
48
48
|
in_progress(msg="Getting SSO configuration...")
|
|
49
49
|
|
|
50
50
|
sso_config = SSOConfiguration.get(client)
|
|
@@ -6,9 +6,9 @@ from typing import Annotated
|
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
|
-
from nextmv.cli.configuration.config import build_client
|
|
10
9
|
from nextmv.cli.message import error
|
|
11
10
|
from nextmv.cli.options import ProfileOption
|
|
11
|
+
from nextmv.cloud.client import Client
|
|
12
12
|
from nextmv.cloud.community import clone_community_app
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
@@ -77,7 +77,7 @@ def clone(
|
|
|
77
77
|
if version is not None and version == "":
|
|
78
78
|
error("The --version flag cannot be an empty string.")
|
|
79
79
|
|
|
80
|
-
client =
|
|
80
|
+
client = Client(profile=profile)
|
|
81
81
|
clone_community_app(
|
|
82
82
|
client=client,
|
|
83
83
|
app=app,
|
|
@@ -9,7 +9,6 @@ import typer
|
|
|
9
9
|
from rich.console import Console
|
|
10
10
|
from rich.table import Table
|
|
11
11
|
|
|
12
|
-
from nextmv.cli.configuration.config import build_client
|
|
13
12
|
from nextmv.cli.message import error
|
|
14
13
|
from nextmv.cli.options import ProfileOption
|
|
15
14
|
from nextmv.cloud.client import Client
|
|
@@ -62,7 +61,7 @@ def list(
|
|
|
62
61
|
if app is not None and app == "":
|
|
63
62
|
error("The --app flag cannot be an empty string.")
|
|
64
63
|
|
|
65
|
-
client =
|
|
64
|
+
client = Client(profile=profile)
|
|
66
65
|
if flat and app is None:
|
|
67
66
|
_apps_list(client)
|
|
68
67
|
raise typer.Exit()
|
|
@@ -73,71 +73,6 @@ def non_profile_keys() -> set[str]:
|
|
|
73
73
|
return {API_KEY_KEY, ENDPOINT_KEY}
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
def build_client(profile: str | None = None) -> Client:
|
|
77
|
-
"""
|
|
78
|
-
Builds a `cloud.Client` using the API key and endpoint for the given
|
|
79
|
-
profile. If no profile is given, the default profile is used. If either the
|
|
80
|
-
API key or endpoint is missing, an exception is raised. If the config is
|
|
81
|
-
not available, an exception is raised.
|
|
82
|
-
|
|
83
|
-
Parameters
|
|
84
|
-
----------
|
|
85
|
-
profile : str | None
|
|
86
|
-
The profile name to use. If None, the default profile is used.
|
|
87
|
-
|
|
88
|
-
Returns
|
|
89
|
-
-------
|
|
90
|
-
Client
|
|
91
|
-
A client configured with the API key and endpoint for the selected
|
|
92
|
-
profile or the default configuration.
|
|
93
|
-
|
|
94
|
-
Raises
|
|
95
|
-
------
|
|
96
|
-
typer.Exit
|
|
97
|
-
If no configuration is found, if the requested profile does not exist,
|
|
98
|
-
or if the API key or endpoint (for either the selected profile or the
|
|
99
|
-
default configuration) is not set or is empty.
|
|
100
|
-
"""
|
|
101
|
-
|
|
102
|
-
config = load_config()
|
|
103
|
-
if config == {}:
|
|
104
|
-
error("No configuration found. Please run [code]nextmv configuration create[/code].")
|
|
105
|
-
|
|
106
|
-
if profile is not None:
|
|
107
|
-
if profile not in config:
|
|
108
|
-
error(
|
|
109
|
-
f"Profile [magenta]{profile}[/magenta] does not exist. "
|
|
110
|
-
"Create it using [code]nextmv configuration create[/code] with the --profile option."
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
api_key = config[profile].get(API_KEY_KEY)
|
|
114
|
-
if api_key is None or api_key == "":
|
|
115
|
-
error(
|
|
116
|
-
f"API key for profile [magenta]{profile}[/magenta] is not set or is empty. "
|
|
117
|
-
"Set it using [code]nextmv configuration create[/code] with the --profile and --api-key options."
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
endpoint = config[profile].get(ENDPOINT_KEY)
|
|
121
|
-
if endpoint is None or endpoint == "":
|
|
122
|
-
error(
|
|
123
|
-
f"Endpoint for profile [magenta]{profile}[/magenta] is not set or is empty. "
|
|
124
|
-
"Please run [code]nextmv configuration create[/code]."
|
|
125
|
-
)
|
|
126
|
-
else:
|
|
127
|
-
api_key = config.get(API_KEY_KEY)
|
|
128
|
-
if api_key is None or api_key == "":
|
|
129
|
-
error(
|
|
130
|
-
"Default API key is not set or is empty. "
|
|
131
|
-
"Please run [code]nextmv configuration create[/code] with the --api-key option."
|
|
132
|
-
)
|
|
133
|
-
|
|
134
|
-
endpoint = config.get(ENDPOINT_KEY)
|
|
135
|
-
if endpoint is None or endpoint == "":
|
|
136
|
-
error("Default endpoint is not set or is empty. Please run [code]nextmv configuration create[/code].")
|
|
137
|
-
|
|
138
|
-
return Client(api_key=api_key, url=f"https://{endpoint}")
|
|
139
|
-
|
|
140
|
-
|
|
141
76
|
def build_cloud_app(app_id: str, profile: str | None = None) -> tuple[cloud.Application, bool]:
|
|
142
77
|
"""
|
|
143
78
|
Builds a `cloud.Application` using the given application ID and the API
|
|
@@ -163,7 +98,7 @@ def build_cloud_app(app_id: str, profile: str | None = None) -> tuple[cloud.Appl
|
|
|
163
98
|
If the application does not exist.
|
|
164
99
|
"""
|
|
165
100
|
|
|
166
|
-
client =
|
|
101
|
+
client = Client(profile=profile)
|
|
167
102
|
exists = cloud.Application.exists(client=client, id=app_id)
|
|
168
103
|
if exists:
|
|
169
104
|
return cloud.Application(client=client, id=app_id), False
|
|
@@ -213,7 +148,7 @@ def build_marketplace_app(app_id: str, partner_id: str, profile: str | None = No
|
|
|
213
148
|
If the marketplace application does not exist.
|
|
214
149
|
"""
|
|
215
150
|
|
|
216
|
-
client =
|
|
151
|
+
client = Client(profile=profile)
|
|
217
152
|
try:
|
|
218
153
|
return MarketplaceApplication.get(
|
|
219
154
|
client=client,
|
|
@@ -253,7 +188,7 @@ def build_marketplace_subscription(subscription_id: str, profile: str | None = N
|
|
|
253
188
|
If the marketplace subscription does not exist.
|
|
254
189
|
"""
|
|
255
190
|
|
|
256
|
-
client =
|
|
191
|
+
client = Client(profile=profile)
|
|
257
192
|
try:
|
|
258
193
|
return MarketplaceSubscription.get(client=client, subscription_id=subscription_id)
|
|
259
194
|
except Exception as e:
|
|
@@ -286,7 +221,7 @@ def build_account(account_id: str | None = None, profile: str | None = None) ->
|
|
|
286
221
|
If the configuration is invalid or missing.
|
|
287
222
|
"""
|
|
288
223
|
|
|
289
|
-
client =
|
|
224
|
+
client = Client(profile=profile)
|
|
290
225
|
|
|
291
226
|
return Account(account_id=account_id, client=client)
|
|
292
227
|
|
|
@@ -312,7 +247,7 @@ def build_sso_config(profile: str | None = None) -> SSOConfiguration:
|
|
|
312
247
|
If the configuration is invalid or missing.
|
|
313
248
|
"""
|
|
314
249
|
|
|
315
|
-
client =
|
|
250
|
+
client = Client(profile=profile)
|
|
316
251
|
|
|
317
252
|
return SSOConfiguration(client=client)
|
|
318
253
|
|
|
@@ -7,7 +7,6 @@ import tempfile
|
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
9
|
from nextmv import local
|
|
10
|
-
from nextmv.cli.configuration.config import build_client
|
|
11
10
|
from nextmv.cloud import Application, Client
|
|
12
11
|
from nextmv.input import InputFormat
|
|
13
12
|
from nextmv.local.executor import process_run_visuals
|
|
@@ -67,9 +66,9 @@ class ProfileSession:
|
|
|
67
66
|
|
|
68
67
|
# Fall back to the CLI configuration file (~/.nextmv/config.yaml).
|
|
69
68
|
try:
|
|
70
|
-
# "default" means use top-level keys (profile=None in
|
|
69
|
+
# "default" means use top-level keys (profile=None in Client).
|
|
71
70
|
p = None if resolved is None or resolved == "default" else resolved
|
|
72
|
-
return
|
|
71
|
+
return Client(profile=p)
|
|
73
72
|
except Exception as e:
|
|
74
73
|
raise ValueError(
|
|
75
74
|
f"Could not build a Nextmv client: {e}. Either set the "
|
|
@@ -198,8 +198,15 @@ class Application(
|
|
|
198
198
|
"""Last update timestamp of the application."""
|
|
199
199
|
|
|
200
200
|
# SDK-specific attributes for convenience when using methods.
|
|
201
|
-
client: Client = Field(exclude=True)
|
|
202
|
-
"""
|
|
201
|
+
client: Client = Field(exclude=True, default_factory=Client)
|
|
202
|
+
"""
|
|
203
|
+
Client to use for interacting with the Nextmv Cloud API.
|
|
204
|
+
|
|
205
|
+
This attribute is optional, and if not provided, it will be initialized
|
|
206
|
+
with a default `Client` instance. We suggest that you read the docstrings
|
|
207
|
+
on the `Client` class for more information about how to properly initialize
|
|
208
|
+
the client using your API key and other configurations.
|
|
209
|
+
"""
|
|
203
210
|
endpoint: str = Field(exclude=True, default="v1/applications/{id}")
|
|
204
211
|
"""Base endpoint for the application."""
|
|
205
212
|
experiments_endpoint: str = Field(exclude=True, default="{base}/experiments")
|