nextmv 1.1.2.dev0__tar.gz → 1.1.3.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.2.dev0 → nextmv-1.1.3.dev0}/PKG-INFO +1 -1
- nextmv-1.1.3.dev0/nextmv/__about__.py +1 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/sso.py +35 -35
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/app.yaml +9 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/main.py +3 -3
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/local/test_application.py +85 -0
- nextmv-1.1.2.dev0/nextmv/__about__.py +0 -1
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/.gitignore +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/.python-version +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/LICENSE +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/README.md +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/_serialization.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/base_model.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/CONTRIBUTING.md +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/acceptance/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/account/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/account/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/account/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/account/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/exists.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/push.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/app/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/batch/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/data/upload.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/ensemble/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/input_set/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/exists.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/instance/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/managed_input/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/cancel.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/input.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/logs.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/run/track.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/scenario/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/secrets/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/start.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/stop.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/shadow/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/disable.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/enable.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/sso/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/start.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/stop.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/switchback/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/upload/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/exists.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/version/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/community/clone.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/community/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/configuration/config.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/configuration/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/configuration/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/configuration/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/confirm.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/delete.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/register.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/registered.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/sync.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/app/update.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/create.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/get.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/input.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/list.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/logs.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/metadata.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/local/run/visuals.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/main.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/message.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/options.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/version.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/account.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_run.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/client.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/community.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/package.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/url.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cloud/version.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/.gitignore +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/README.md +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/input.json +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/requirements.txt +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/src/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/default_app/src/visuals.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/deprecated.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/input.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/application.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/executor.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/local.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/registry.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/local/runner.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/logger.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/manifest.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/model.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/options.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/output.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/polling.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/run.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/safe.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/status.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/pyproject.toml +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/README.md +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cli/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cli/test_main.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cli/test_version.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/app.yaml +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/test_client.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/test_package.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/integration/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/integration/cloud/test_integration_cloud.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/local/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/local/test_executor.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/local/test_registry.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/local/test_runner.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options1.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options2.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options3.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options4.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options5.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options6.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/scripts/options7.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_base_model.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_input.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_logger.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_manifest.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_model.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_options.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_output.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_polling.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_run.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_safe.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_serialization.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/tests/test_version.py +0 -0
- {nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.1.3.dev0"
|
|
@@ -20,6 +20,39 @@ from nextmv.base_model import BaseModel
|
|
|
20
20
|
from nextmv.cloud.client import Client
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
def _resolve_metadata_document(metadata_document: str | None = None) -> str | None:
|
|
24
|
+
"""
|
|
25
|
+
Resolve the SSO metadata document from a string or a file path.
|
|
26
|
+
|
|
27
|
+
Parameters
|
|
28
|
+
----------
|
|
29
|
+
metadata_document : str, optional
|
|
30
|
+
The SSO metadata document as a string or a path to a file containing
|
|
31
|
+
the document.
|
|
32
|
+
|
|
33
|
+
Returns
|
|
34
|
+
-------
|
|
35
|
+
str, optional
|
|
36
|
+
The SSO metadata document as a string, or `None` if not provided.
|
|
37
|
+
|
|
38
|
+
Raises
|
|
39
|
+
------
|
|
40
|
+
RuntimeError
|
|
41
|
+
If the metadata document is a file path and the file cannot be read.
|
|
42
|
+
"""
|
|
43
|
+
if metadata_document is None or metadata_document == "":
|
|
44
|
+
return None
|
|
45
|
+
|
|
46
|
+
meta_path = Path(metadata_document)
|
|
47
|
+
if meta_path.is_file():
|
|
48
|
+
try:
|
|
49
|
+
return meta_path.read_text()
|
|
50
|
+
except (OSError, UnicodeDecodeError) as e:
|
|
51
|
+
raise RuntimeError(f"Failed to read metadata document from file {meta_path}: {e}") from e
|
|
52
|
+
|
|
53
|
+
return metadata_document
|
|
54
|
+
|
|
55
|
+
|
|
23
56
|
class SSOConfiguration(BaseModel):
|
|
24
57
|
"""
|
|
25
58
|
Configuration for Single Sign-On (SSO) in Nextmv Cloud.
|
|
@@ -139,7 +172,7 @@ class SSOConfiguration(BaseModel):
|
|
|
139
172
|
If the response status code is not 2xx.
|
|
140
173
|
"""
|
|
141
174
|
|
|
142
|
-
metadata_document =
|
|
175
|
+
metadata_document = _resolve_metadata_document(metadata_document)
|
|
143
176
|
|
|
144
177
|
payload = {
|
|
145
178
|
"allow_non_domain_users": allow_non_domain_users,
|
|
@@ -234,7 +267,7 @@ class SSOConfiguration(BaseModel):
|
|
|
234
267
|
if metadata_url is not None and metadata_url != "":
|
|
235
268
|
payload["metadata_url"] = metadata_url
|
|
236
269
|
if metadata_document is not None and metadata_document != "":
|
|
237
|
-
metadata_document =
|
|
270
|
+
metadata_document = _resolve_metadata_document(metadata_document)
|
|
238
271
|
payload["metadata_document"] = metadata_document
|
|
239
272
|
|
|
240
273
|
self.client.request(
|
|
@@ -242,36 +275,3 @@ class SSOConfiguration(BaseModel):
|
|
|
242
275
|
endpoint=self.sso_endpoint,
|
|
243
276
|
payload=payload,
|
|
244
277
|
)
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
def __resolve_metadata_document(metadata_document: str | None = None) -> str | None:
|
|
248
|
-
"""
|
|
249
|
-
Resolve the SSO metadata document from a string or a file path.
|
|
250
|
-
|
|
251
|
-
Parameters
|
|
252
|
-
----------
|
|
253
|
-
metadata_document : str, optional
|
|
254
|
-
The SSO metadata document as a string or a path to a file containing
|
|
255
|
-
the document.
|
|
256
|
-
|
|
257
|
-
Returns
|
|
258
|
-
-------
|
|
259
|
-
str, optional
|
|
260
|
-
The SSO metadata document as a string, or `None` if not provided.
|
|
261
|
-
|
|
262
|
-
Raises
|
|
263
|
-
------
|
|
264
|
-
RuntimeError
|
|
265
|
-
If the metadata document is a file path and the file cannot be read.
|
|
266
|
-
"""
|
|
267
|
-
if metadata_document is None or metadata_document == "":
|
|
268
|
-
return None
|
|
269
|
-
|
|
270
|
-
meta_path = Path(metadata_document)
|
|
271
|
-
if meta_path.is_file():
|
|
272
|
-
try:
|
|
273
|
-
return meta_path.read_text()
|
|
274
|
-
except (OSError, UnicodeDecodeError) as e:
|
|
275
|
-
raise RuntimeError(f"Failed to read metadata document from file {meta_path}: {e}") from e
|
|
276
|
-
|
|
277
|
-
return metadata_document
|
|
@@ -6,9 +6,9 @@ import nextmv
|
|
|
6
6
|
input = nextmv.load()
|
|
7
7
|
name = input.data["name"]
|
|
8
8
|
|
|
9
|
-
options
|
|
10
|
-
|
|
11
|
-
)
|
|
9
|
+
# Extract options from the manifest.
|
|
10
|
+
manifest = nextmv.Manifest.from_yaml(".")
|
|
11
|
+
options = manifest.extract_options()
|
|
12
12
|
|
|
13
13
|
##### Insert model here
|
|
14
14
|
|
|
@@ -782,3 +782,88 @@ class TestApplicationLocalRunMethods(unittest.TestCase):
|
|
|
782
782
|
)
|
|
783
783
|
|
|
784
784
|
self.assertEqual(result, mock_result)
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
class TestDefaultApp(unittest.TestCase):
|
|
788
|
+
"""Test the default app runs correctly with manifest-based options."""
|
|
789
|
+
|
|
790
|
+
def test_default_app_runs_with_manifest_options(self):
|
|
791
|
+
"""Test that the default app runs successfully with options extracted from manifest."""
|
|
792
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
793
|
+
# Initialize a new app (copies default_app structure)
|
|
794
|
+
app_name = "test-default-app"
|
|
795
|
+
app = Application.initialize(
|
|
796
|
+
src=app_name,
|
|
797
|
+
description="Test default application",
|
|
798
|
+
destination=temp_dir,
|
|
799
|
+
)
|
|
800
|
+
|
|
801
|
+
# Verify the manifest has the options defined
|
|
802
|
+
manifest = app.manifest
|
|
803
|
+
self.assertIsNotNone(manifest.configuration)
|
|
804
|
+
self.assertIsNotNone(manifest.configuration.options)
|
|
805
|
+
self.assertIsNotNone(manifest.configuration.options.items)
|
|
806
|
+
self.assertEqual(len(manifest.configuration.options.items), 1)
|
|
807
|
+
self.assertEqual(manifest.configuration.options.items[0].name, "details")
|
|
808
|
+
self.assertEqual(manifest.configuration.options.items[0].option_type, "bool")
|
|
809
|
+
self.assertEqual(manifest.configuration.options.items[0].default, True)
|
|
810
|
+
|
|
811
|
+
# Prepare input data for the run
|
|
812
|
+
input_data = {
|
|
813
|
+
"name": "Earth",
|
|
814
|
+
"radius": 6371,
|
|
815
|
+
"distance": 149.6,
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
# Run the application
|
|
819
|
+
run_id = app.new_run(input=input_data)
|
|
820
|
+
self.assertIsNotNone(run_id)
|
|
821
|
+
|
|
822
|
+
# Wait for run to complete and check results
|
|
823
|
+
result = app.run_result_with_polling(
|
|
824
|
+
run_id=run_id,
|
|
825
|
+
polling_options=PollingOptions(max_duration=30.0, delay=0.1),
|
|
826
|
+
)
|
|
827
|
+
|
|
828
|
+
# Verify the run succeeded
|
|
829
|
+
self.assertIsNotNone(result)
|
|
830
|
+
self.assertEqual(result.metadata.status_v2, StatusV2.succeeded)
|
|
831
|
+
|
|
832
|
+
# Verify the solution contains the expected message
|
|
833
|
+
self.assertIsNotNone(result.output)
|
|
834
|
+
self.assertIn("solution", result.output)
|
|
835
|
+
self.assertIn("message", result.output["solution"])
|
|
836
|
+
self.assertEqual(result.output["solution"]["message"], "Hello, Earth")
|
|
837
|
+
|
|
838
|
+
# Verify metrics were generated
|
|
839
|
+
self.assertIn("metrics", result.output)
|
|
840
|
+
self.assertIn("value", result.output["metrics"])
|
|
841
|
+
self.assertEqual(result.output["metrics"]["value"], 1.23)
|
|
842
|
+
self.assertIn("message", result.output["metrics"])
|
|
843
|
+
self.assertEqual(result.output["metrics"]["message"], "Hello, Earth")
|
|
844
|
+
|
|
845
|
+
def test_default_app_options_extraction(self):
|
|
846
|
+
"""Test that options can be extracted from the default app manifest."""
|
|
847
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
848
|
+
# Initialize a new app
|
|
849
|
+
app_name = "test-options-extraction"
|
|
850
|
+
app = Application.initialize(
|
|
851
|
+
src=app_name,
|
|
852
|
+
description="Test options extraction",
|
|
853
|
+
destination=temp_dir,
|
|
854
|
+
)
|
|
855
|
+
|
|
856
|
+
# Get the manifest and extract options
|
|
857
|
+
manifest = app.manifest
|
|
858
|
+
options = manifest.extract_options(should_parse=False)
|
|
859
|
+
|
|
860
|
+
# Verify options were extracted correctly
|
|
861
|
+
self.assertIsNotNone(options)
|
|
862
|
+
self.assertEqual(len(options.options), 1)
|
|
863
|
+
|
|
864
|
+
details_option = options.options[0]
|
|
865
|
+
self.assertEqual(details_option.name, "details")
|
|
866
|
+
self.assertEqual(details_option.option_type, bool)
|
|
867
|
+
self.assertEqual(details_option.default, True)
|
|
868
|
+
self.assertEqual(details_option.description, "Print details to logs. Default true.")
|
|
869
|
+
self.assertEqual(details_option.required, False)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "v1.1.2.dev0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextmv-1.1.2.dev0 → nextmv-1.1.3.dev0}/nextmv/cli/cloud/marketplace/subscription/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|