nextmv 1.1.3.dev2__tar.gz → 1.2.0.dev0__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.1.3.dev2 → nextmv-1.2.0.dev0}/.gitignore +1 -1
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/PKG-INFO +2 -7
- nextmv-1.2.0.dev0/nextmv/__about__.py +1 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/account/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/push.py +4 -5
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/subscription/delete.py +1 -2
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/delete.py +1 -2
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/delete.py +1 -2
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/disable.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/enable.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/delete.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/configuration/config.py +2 -3
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/configuration/delete.py +1 -2
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/__init__.py +2 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/delete.py +2 -3
- nextmv-1.2.0.dev0/nextmv/cli/local/manifest/__init__.py +19 -0
- nextmv-1.2.0.dev0/nextmv/cli/local/manifest/init.py +78 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/main.py +3 -6
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/message.py +135 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/manifest.py +49 -0
- nextmv-1.2.0.dev0/nextmv/templates/go_app.yaml +24 -0
- nextmv-1.2.0.dev0/nextmv/templates/java_app.yaml +19 -0
- nextmv-1.2.0.dev0/nextmv/templates/python_app.yaml +21 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/pyproject.toml +2 -9
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_manifest.py +75 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/uv.lock +35 -305
- nextmv-1.1.3.dev2/nextmv/__about__.py +0 -1
- nextmv-1.1.3.dev2/nextmv/cli/confirm.py +0 -34
- nextmv-1.1.3.dev2/nextmv/cli/mcp/__init__.py +0 -26
- nextmv-1.1.3.dev2/nextmv/cli/mcp/serve.py +0 -76
- nextmv-1.1.3.dev2/nextmv/cli/mcp/server.py +0 -1927
- nextmv-1.1.3.dev2/tests/cli/test_mcp.py +0 -622
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/.python-version +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/LICENSE +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/README.md +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/_serialization.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/base_model.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/CONTRIBUTING.md +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/acceptance/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/account/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/account/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/account/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/exists.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/app/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/batch/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/data/upload.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/ensemble/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/input_set/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/exists.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/instance/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/managed_input/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/cancel.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/input.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/logs.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/run/track.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/scenario/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/secrets/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/start.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/stop.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/shadow/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/sso/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/start.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/stop.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/switchback/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/upload/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/exists.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/cloud/version/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/community/clone.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/community/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/configuration/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/configuration/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/register.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/registered.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/sync.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/app/update.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/create.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/get.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/input.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/list.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/logs.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/metadata.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/local/run/visuals.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/options.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cli/version.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/account.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_run.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/client.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/community.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/package.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/sso.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/url.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/cloud/version.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/.gitignore +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/README.md +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/app.yaml +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/input.json +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/main.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/requirements.txt +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/src/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/default_app/src/visuals.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/deprecated.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/input.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/application.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/executor.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/local.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/registry.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/local/runner.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/logger.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/model.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/options.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/output.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/polling.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/run.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/safe.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/nextmv/status.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/README.md +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cli/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cli/test_main.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cli/test_version.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/app.yaml +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/test_client.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/test_package.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/integration/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/integration/cloud/test_integration_cloud.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/local/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/local/test_application.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/local/test_executor.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/local/test_registry.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/local/test_runner.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options1.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options2.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options3.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options4.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options5.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options6.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/scripts/options7.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_base_model.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_input.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_logger.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_model.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_options.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_output.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_polling.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_run.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_safe.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_serialization.py +0 -0
- {nextmv-1.1.3.dev2 → nextmv-1.2.0.dev0}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextmv
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0.dev0
|
|
4
4
|
Summary: The all-purpose Python SDK for Nextmv
|
|
5
5
|
Project-URL: Homepage, https://www.nextmv.io
|
|
6
6
|
Project-URL: Documentation, https://nextmv-py.docs.nextmv.io/en/latest/nextmv/
|
|
@@ -223,15 +223,10 @@ Requires-Dist: pip>=26.0
|
|
|
223
223
|
Requires-Dist: plotly>=6.0.1
|
|
224
224
|
Requires-Dist: pydantic>=2.5.2
|
|
225
225
|
Requires-Dist: pyyaml>=6.0.1
|
|
226
|
+
Requires-Dist: questionary>=2.1.1
|
|
226
227
|
Requires-Dist: requests>=2.31.0
|
|
227
228
|
Requires-Dist: typer>=0.20.1
|
|
228
229
|
Requires-Dist: urllib3>=2.1.0
|
|
229
|
-
Provides-Extra: all
|
|
230
|
-
Requires-Dist: folium>=0.20.0; extra == 'all'
|
|
231
|
-
Requires-Dist: mcp[cli]>=1.0; extra == 'all'
|
|
232
|
-
Requires-Dist: plotly>=6.0.1; extra == 'all'
|
|
233
|
-
Provides-Extra: mcp
|
|
234
|
-
Requires-Dist: mcp[cli]>=1.0; extra == 'mcp'
|
|
235
230
|
Provides-Extra: notebook
|
|
236
231
|
Requires-Dist: mlflow>=3.9.0; extra == 'notebook'
|
|
237
232
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.2.0.dev0"
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete acceptance test [magenta]{acceptance_test_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_account
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AccountIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -46,7 +45,7 @@ def delete(
|
|
|
46
45
|
"""
|
|
47
46
|
|
|
48
47
|
if not yes:
|
|
49
|
-
confirm =
|
|
48
|
+
confirm = confirmation(
|
|
50
49
|
f"Are you sure you want to delete account [magenta]{account_id}[/magenta]? This action cannot be undone.",
|
|
51
50
|
)
|
|
52
51
|
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -44,7 +43,7 @@ def delete(
|
|
|
44
43
|
"""
|
|
45
44
|
|
|
46
45
|
if not yes:
|
|
47
|
-
confirm =
|
|
46
|
+
confirm = confirmation(
|
|
48
47
|
f"Are you sure you want to delete application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
49
48
|
)
|
|
50
49
|
|
|
@@ -10,8 +10,7 @@ import typer
|
|
|
10
10
|
from rich.prompt import Prompt
|
|
11
11
|
|
|
12
12
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
13
|
-
from nextmv.cli.
|
|
14
|
-
from nextmv.cli.message import error, in_progress, info, success
|
|
13
|
+
from nextmv.cli.message import confirmation, error, in_progress, info, success
|
|
15
14
|
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
16
15
|
from nextmv.cloud.application import Application
|
|
17
16
|
from nextmv.manifest import Manifest
|
|
@@ -256,7 +255,7 @@ def _handle_version_creation(
|
|
|
256
255
|
|
|
257
256
|
# If we are not auto-confirming version creation, ask the user.
|
|
258
257
|
if not version_yes:
|
|
259
|
-
should_create =
|
|
258
|
+
should_create = confirmation(
|
|
260
259
|
msg=f"Do you want to create a new version for application [magenta]{app_id}[/magenta] now?",
|
|
261
260
|
default=True,
|
|
262
261
|
)
|
|
@@ -327,7 +326,7 @@ def _handle_instance_prompting(
|
|
|
327
326
|
|
|
328
327
|
# If the instance exists, ask if we want to update it.
|
|
329
328
|
if exists:
|
|
330
|
-
should_update =
|
|
329
|
+
should_update = confirmation(
|
|
331
330
|
msg=f"Instance [magenta]{instance_id}[/magenta] exists. "
|
|
332
331
|
f"Do you want to link it to version [magenta]{version_id}[/magenta]?",
|
|
333
332
|
default=True,
|
|
@@ -347,7 +346,7 @@ def _handle_instance_prompting(
|
|
|
347
346
|
return
|
|
348
347
|
|
|
349
348
|
# If the instance does not exist, ask if we want to create it.
|
|
350
|
-
should_create =
|
|
349
|
+
should_create = confirmation(
|
|
351
350
|
msg=f"Instance [magenta]{instance_id}[/magenta] does not exist. "
|
|
352
351
|
f"Do you want to create it using version [magenta]{version_id}[/magenta]?",
|
|
353
352
|
default=True,
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete batch experiment [magenta]{batch_experiment_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, EnsembleDefinitionIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -46,7 +45,7 @@ def delete(
|
|
|
46
45
|
"""
|
|
47
46
|
|
|
48
47
|
if not yes:
|
|
49
|
-
confirm =
|
|
48
|
+
confirm = confirmation(
|
|
50
49
|
f"Are you sure you want to delete ensemble definition [magenta]{ensemble_definition_id}[/magenta] "
|
|
51
50
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
52
51
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, InputSetIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete input set [magenta]{input_set_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, InstanceIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -45,7 +44,7 @@ def delete(
|
|
|
45
44
|
"""
|
|
46
45
|
|
|
47
46
|
if not yes:
|
|
48
|
-
confirm =
|
|
47
|
+
confirm = confirmation(
|
|
49
48
|
f"Are you sure you want to delete instance [magenta]{instance_id}[/magenta] "
|
|
50
49
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
51
50
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ManagedInputIDOption, ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete managed input [magenta]{managed_input_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,7 +7,6 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_marketplace_subscription
|
|
10
|
-
from nextmv.cli.confirm import get_confirmation
|
|
11
10
|
from nextmv.cli.message import info, success
|
|
12
11
|
from nextmv.cli.options import MarketplaceSubscriptionIDOption, ProfileOption
|
|
13
12
|
|
|
@@ -44,7 +43,7 @@ def delete(
|
|
|
44
43
|
"""
|
|
45
44
|
|
|
46
45
|
if not yes:
|
|
47
|
-
confirm =
|
|
46
|
+
confirm = confirmation(
|
|
48
47
|
f"Are you sure you want to delete subscription with ID [magenta]{subscription_id}[/magenta]?",
|
|
49
48
|
)
|
|
50
49
|
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption, ScenarioTestIDOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete scenario test [magenta]{scenario_test_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,7 +7,6 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.confirm import get_confirmation
|
|
11
10
|
from nextmv.cli.message import info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption, SecretsCollectionIDOption
|
|
13
12
|
|
|
@@ -46,7 +45,7 @@ def delete(
|
|
|
46
45
|
"""
|
|
47
46
|
|
|
48
47
|
if not yes:
|
|
49
|
-
confirm =
|
|
48
|
+
confirm = confirmation(
|
|
50
49
|
f"Are you sure you want to delete secrets collection [magenta]{secrets_collection_id}[/magenta] "
|
|
51
50
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
52
51
|
)
|
|
@@ -7,7 +7,6 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.confirm import get_confirmation
|
|
11
10
|
from nextmv.cli.message import info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption, ShadowTestIDOption
|
|
13
12
|
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete shadow test [magenta]{shadow_test_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_sso_config
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -44,7 +43,7 @@ def delete(
|
|
|
44
43
|
"""
|
|
45
44
|
|
|
46
45
|
if not yes:
|
|
47
|
-
confirm =
|
|
46
|
+
confirm = confirmation(
|
|
48
47
|
"Are you sure you want to delete the sso configuration? "
|
|
49
48
|
"You can create it again with [code]nextmv cloud sso create[/code].",
|
|
50
49
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_sso_config
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -43,7 +42,7 @@ def disable(
|
|
|
43
42
|
"""
|
|
44
43
|
|
|
45
44
|
if not yes:
|
|
46
|
-
confirm =
|
|
45
|
+
confirm = confirmation(
|
|
47
46
|
"Are you sure you want to disable the sso configuration?.",
|
|
48
47
|
)
|
|
49
48
|
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_sso_config
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import ProfileOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -43,7 +42,7 @@ def enable(
|
|
|
43
42
|
"""
|
|
44
43
|
|
|
45
44
|
if not yes:
|
|
46
|
-
confirm =
|
|
45
|
+
confirm = confirmation(
|
|
47
46
|
"Are you sure you want to enable the sso configuration?.",
|
|
48
47
|
)
|
|
49
48
|
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption, SwitchbackTestIDOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -47,7 +46,7 @@ def delete(
|
|
|
47
46
|
"""
|
|
48
47
|
|
|
49
48
|
if not yes:
|
|
50
|
-
confirm =
|
|
49
|
+
confirm = confirmation(
|
|
51
50
|
f"Are you sure you want to delete switchback test [magenta]{switchback_test_id}[/magenta] "
|
|
52
51
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
53
52
|
)
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success
|
|
12
11
|
from nextmv.cli.options import AppIDOption, ProfileOption, VersionIDOption
|
|
13
12
|
|
|
14
13
|
# Set up subcommand application.
|
|
@@ -45,7 +44,7 @@ def delete(
|
|
|
45
44
|
"""
|
|
46
45
|
|
|
47
46
|
if not yes:
|
|
48
|
-
confirm =
|
|
47
|
+
confirm = confirmation(
|
|
49
48
|
f"Are you sure you want to delete version [magenta]{version_id}[/magenta] "
|
|
50
49
|
f"from application [magenta]{app_id}[/magenta]? This action cannot be undone.",
|
|
51
50
|
)
|
|
@@ -8,8 +8,7 @@ from typing import Any
|
|
|
8
8
|
import yaml
|
|
9
9
|
|
|
10
10
|
from nextmv import cloud, local
|
|
11
|
-
from nextmv.cli.
|
|
12
|
-
from nextmv.cli.message import error, info, success, warning
|
|
11
|
+
from nextmv.cli.message import confirmation, error, info, success, warning
|
|
13
12
|
from nextmv.cloud.account import Account
|
|
14
13
|
from nextmv.cloud.client import Client
|
|
15
14
|
from nextmv.cloud.marketplace import MarketplaceApplication, MarketplaceSubscription
|
|
@@ -169,7 +168,7 @@ def build_cloud_app(app_id: str, profile: str | None = None) -> cloud.Applicatio
|
|
|
169
168
|
return cloud.Application(client=client, id=app_id)
|
|
170
169
|
|
|
171
170
|
warning(f"Application with ID [magenta]{app_id}[/magenta] does not exist.")
|
|
172
|
-
should_create =
|
|
171
|
+
should_create = confirmation(f"Do you want to create a new application with ID [magenta]{app_id}[/magenta]?")
|
|
173
172
|
if not should_create:
|
|
174
173
|
error(
|
|
175
174
|
f"Application with ID [magenta]{app_id}[/magenta] was not created and does not exist. "
|
|
@@ -7,7 +7,6 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import load_config, save_config
|
|
10
|
-
from nextmv.cli.confirm import get_confirmation
|
|
11
10
|
from nextmv.cli.message import error, info, success
|
|
12
11
|
|
|
13
12
|
# Set up subcommand application.
|
|
@@ -53,7 +52,7 @@ def delete(
|
|
|
53
52
|
error(f"Profile [magenta]{profile}[/magenta] does not exist.")
|
|
54
53
|
|
|
55
54
|
if not yes:
|
|
56
|
-
confirm =
|
|
55
|
+
confirm = confirmation(
|
|
57
56
|
f"Are you sure you want to delete profile [magenta]{profile}[/magenta]? This action cannot be undone.",
|
|
58
57
|
)
|
|
59
58
|
|
|
@@ -5,11 +5,13 @@ This module defines the local command tree for the Nextmv CLI.
|
|
|
5
5
|
import typer
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.local.app import app as app_app
|
|
8
|
+
from nextmv.cli.local.manifest import app as manifest_app
|
|
8
9
|
from nextmv.cli.local.run import app as run_app
|
|
9
10
|
|
|
10
11
|
# Set up subcommand application.
|
|
11
12
|
app = typer.Typer()
|
|
12
13
|
app.add_typer(app_app, name="app")
|
|
14
|
+
app.add_typer(manifest_app, name="manifest")
|
|
13
15
|
app.add_typer(run_app, name="run")
|
|
14
16
|
|
|
15
17
|
|
|
@@ -7,8 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
|
-
from nextmv.cli.
|
|
11
|
-
from nextmv.cli.message import info, success, warning
|
|
10
|
+
from nextmv.cli.message import confirmation, info, success, warning
|
|
12
11
|
from nextmv.cli.options import LocalAppIDOption, LocalAppSrcOption
|
|
13
12
|
from nextmv.local.registry import Registry
|
|
14
13
|
|
|
@@ -53,7 +52,7 @@ def delete(
|
|
|
53
52
|
elif app_src is not None and app_src != "":
|
|
54
53
|
msg = f"Are you sure you want to delete application with source [magenta]{app_src}[/magenta]?"
|
|
55
54
|
|
|
56
|
-
confirm =
|
|
55
|
+
confirm = confirmation(f"{msg} This action cannot be undone.")
|
|
57
56
|
|
|
58
57
|
if not confirm:
|
|
59
58
|
if app_id is not None and app_id != "":
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module defines the local manifest command tree for the Nextmv CLI.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import typer
|
|
6
|
+
|
|
7
|
+
from nextmv.cli.local.manifest.init import app as init_app
|
|
8
|
+
|
|
9
|
+
# Set up subcommand application.
|
|
10
|
+
app = typer.Typer()
|
|
11
|
+
app.add_typer(init_app)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@app.callback()
|
|
15
|
+
def callback() -> None:
|
|
16
|
+
"""
|
|
17
|
+
Manage Nextmv app manifest files.
|
|
18
|
+
"""
|
|
19
|
+
pass
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module defines the local manifest init command for the Nextmv CLI.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from typing import Annotated
|
|
6
|
+
|
|
7
|
+
import typer
|
|
8
|
+
|
|
9
|
+
from nextmv.cli.message import choice, directory_path, enum_values, success
|
|
10
|
+
from nextmv.manifest import ManifestType, initialize_manifest
|
|
11
|
+
|
|
12
|
+
_SUPPORTED_TYPES = [ManifestType.PYTHON, ManifestType.GO, ManifestType.JAVA]
|
|
13
|
+
|
|
14
|
+
# Set up subcommand application.
|
|
15
|
+
app = typer.Typer()
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@app.command()
|
|
19
|
+
def init(
|
|
20
|
+
dirpath: Annotated[
|
|
21
|
+
str | None,
|
|
22
|
+
typer.Option(
|
|
23
|
+
"--dirpath",
|
|
24
|
+
"-d",
|
|
25
|
+
help="The directory path where the manifest file will be initialized. Useful for non-interactive sessions.",
|
|
26
|
+
metavar="DIRPATH",
|
|
27
|
+
),
|
|
28
|
+
] = None,
|
|
29
|
+
manifest_type: Annotated[
|
|
30
|
+
ManifestType | None,
|
|
31
|
+
typer.Option(
|
|
32
|
+
"--type",
|
|
33
|
+
"-t",
|
|
34
|
+
help=f"The type of manifest to initialize. Allowed values are: {enum_values(ManifestType)}. "
|
|
35
|
+
"Useful for non-interactive sessions.",
|
|
36
|
+
metavar="TYPE",
|
|
37
|
+
),
|
|
38
|
+
] = None,
|
|
39
|
+
) -> None:
|
|
40
|
+
"""
|
|
41
|
+
Initialize an [magenta]app.yaml[/magenta] (app manifest) file.
|
|
42
|
+
|
|
43
|
+
Creates a sample [magenta]app.yaml[/magenta] manifest file by prompting the
|
|
44
|
+
user to provide the type and directory path. You can use the --dirpath and
|
|
45
|
+
--type options to skip the prompts. If the directory does not exist, it
|
|
46
|
+
will be created. If a manifest file already exists in the directory, it
|
|
47
|
+
will be overwritten.
|
|
48
|
+
|
|
49
|
+
[bold][underline]Examples[/underline][/bold]
|
|
50
|
+
|
|
51
|
+
- Initialize a Python manifest in the current directory.
|
|
52
|
+
$ [dim]nextmv local manifest init[/dim]
|
|
53
|
+
|
|
54
|
+
- Initialize a Go manifest in the [magenta]./my-app[/magenta] directory.
|
|
55
|
+
$ [dim]nextmv local manifest init --type go --dirpath ./my-app[/dim]
|
|
56
|
+
|
|
57
|
+
- Initialize a Java manifest in the [magenta]./my-app[/magenta] directory.
|
|
58
|
+
$ [dim]nextmv local manifest init --type java --dirpath ./my-app[/dim]
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
if manifest_type is None or manifest_type == "":
|
|
62
|
+
manifest_type = choice(
|
|
63
|
+
msg="What is the type of your Nextmv app?",
|
|
64
|
+
choices=[member.value for member in ManifestType],
|
|
65
|
+
default=ManifestType.PYTHON.value,
|
|
66
|
+
)
|
|
67
|
+
manifest_type = ManifestType(manifest_type)
|
|
68
|
+
|
|
69
|
+
if dirpath is None or dirpath == "":
|
|
70
|
+
dirpath = directory_path(
|
|
71
|
+
msg="In which directory would you like to init the manifest?",
|
|
72
|
+
default=".",
|
|
73
|
+
)
|
|
74
|
+
print("This is the directory where the manifest file will be initialized:", dirpath)
|
|
75
|
+
dirpath = dirpath or "."
|
|
76
|
+
|
|
77
|
+
dst = initialize_manifest(manifest_type=manifest_type, dirpath=dirpath)
|
|
78
|
+
success(f"Manifest of type [magenta]{manifest_type.value}[/magenta] initialized at [magenta]{dst}[/magenta].")
|
|
@@ -24,10 +24,8 @@ from nextmv.cli.cloud import app as cloud_app
|
|
|
24
24
|
from nextmv.cli.community import app as community_app
|
|
25
25
|
from nextmv.cli.configuration import app as configuration_app
|
|
26
26
|
from nextmv.cli.configuration.config import CONFIG_DIR, GO_CLI_PATH, load_config
|
|
27
|
-
from nextmv.cli.confirm import get_confirmation
|
|
28
27
|
from nextmv.cli.local import app as local_app
|
|
29
|
-
from nextmv.cli.
|
|
30
|
-
from nextmv.cli.message import error, info, success, warning
|
|
28
|
+
from nextmv.cli.message import confirmation, error, info, success, warning
|
|
31
29
|
from nextmv.cli.version import app as version_app
|
|
32
30
|
from nextmv.cli.version import version_callback
|
|
33
31
|
|
|
@@ -51,7 +49,6 @@ app.add_typer(cloud_app, name="cloud")
|
|
|
51
49
|
app.add_typer(community_app, name="community")
|
|
52
50
|
app.add_typer(configuration_app, name="configuration")
|
|
53
51
|
app.add_typer(local_app, name="local")
|
|
54
|
-
app.add_typer(mcp_app, name="mcp")
|
|
55
52
|
app.add_typer(version_app)
|
|
56
53
|
|
|
57
54
|
|
|
@@ -78,7 +75,7 @@ def callback(
|
|
|
78
75
|
return
|
|
79
76
|
|
|
80
77
|
# Skip checks for certain commands.
|
|
81
|
-
ignored_commands = {"configuration", "
|
|
78
|
+
ignored_commands = {"configuration", "version"}
|
|
82
79
|
if ctx.invoked_subcommand in ignored_commands:
|
|
83
80
|
return
|
|
84
81
|
|
|
@@ -96,7 +93,7 @@ def handle_go_cli() -> None:
|
|
|
96
93
|
|
|
97
94
|
exists = go_cli_exists()
|
|
98
95
|
if exists:
|
|
99
|
-
delete =
|
|
96
|
+
delete = confirmation(
|
|
100
97
|
"Do you want to delete the [italic red]deprecated[/italic red] Nextmv CLI "
|
|
101
98
|
f"at [magenta]{GO_CLI_PATH}[/magenta] now?"
|
|
102
99
|
)
|