nextmv 1.2.3.dev0__tar.gz → 1.2.3.dev2__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.
Files changed (350) hide show
  1. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/.gitignore +3 -0
  2. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/PKG-INFO +1 -1
  3. nextmv-1.2.3.dev2/nextmv/__about__.py +1 -0
  4. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/create.py +1 -1
  5. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/delete.py +1 -1
  6. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/get.py +1 -1
  7. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/list.py +1 -1
  8. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/update.py +1 -1
  9. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/delete.py +1 -1
  10. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/push.py +80 -1
  11. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/update.py +1 -1
  12. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/create.py +1 -1
  13. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/delete.py +1 -1
  14. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/get.py +1 -1
  15. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/list.py +1 -1
  16. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/metadata.py +1 -1
  17. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/update.py +1 -1
  18. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/data/upload.py +1 -1
  19. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/create.py +1 -1
  20. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/delete.py +1 -1
  21. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/get.py +1 -1
  22. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/list.py +1 -1
  23. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/update.py +1 -1
  24. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/create.py +1 -1
  25. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/delete.py +1 -1
  26. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/get.py +1 -1
  27. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/list.py +1 -1
  28. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/update.py +1 -1
  29. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/create.py +1 -1
  30. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/delete.py +1 -1
  31. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/exists.py +1 -1
  32. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/get.py +1 -1
  33. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/list.py +1 -1
  34. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/update.py +1 -1
  35. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/create.py +1 -1
  36. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/delete.py +1 -1
  37. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/get.py +1 -1
  38. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/list.py +1 -1
  39. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/update.py +1 -1
  40. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/cancel.py +1 -1
  41. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/create.py +1 -1
  42. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/get.py +1 -1
  43. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/input.py +1 -1
  44. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/list.py +1 -1
  45. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/logs.py +1 -1
  46. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/metadata.py +1 -1
  47. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/track.py +1 -1
  48. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/create.py +1 -1
  49. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/delete.py +1 -1
  50. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/get.py +1 -1
  51. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/list.py +1 -1
  52. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/metadata.py +1 -1
  53. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/update.py +1 -1
  54. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/create.py +1 -1
  55. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/delete.py +1 -1
  56. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/get.py +1 -1
  57. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/list.py +1 -1
  58. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/update.py +1 -1
  59. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/create.py +1 -1
  60. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/delete.py +1 -1
  61. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/get.py +1 -1
  62. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/list.py +1 -1
  63. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/metadata.py +1 -1
  64. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/start.py +1 -1
  65. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/stop.py +1 -1
  66. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/update.py +1 -1
  67. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/create.py +1 -1
  68. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/delete.py +1 -1
  69. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/get.py +1 -1
  70. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/list.py +1 -1
  71. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/metadata.py +1 -1
  72. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/start.py +1 -1
  73. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/stop.py +1 -1
  74. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/update.py +1 -1
  75. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/upload/create.py +1 -1
  76. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/create.py +1 -1
  77. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/delete.py +1 -1
  78. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/exists.py +1 -1
  79. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/get.py +1 -1
  80. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/list.py +1 -1
  81. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/update.py +1 -1
  82. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/configuration/config.py +10 -6
  83. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/configuration/create.py +3 -3
  84. nextmv-1.2.3.dev2/nextmv/cli/init.py +952 -0
  85. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/delete.py +6 -2
  86. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/get.py +7 -2
  87. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/register.py +8 -1
  88. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/registered.py +9 -1
  89. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/sync.py +9 -2
  90. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/update.py +8 -1
  91. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/main.py +3 -1
  92. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/manifest/init.py +3 -3
  93. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/message.py +66 -31
  94. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/options.py +3 -2
  95. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/application.py +47 -17
  96. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/executor.py +5 -1
  97. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/binary_multi-file_app.yaml +1 -1
  98. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/.gitignore +2 -0
  99. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/README.md +35 -0
  100. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/app.yaml +34 -0
  101. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/go.mod +3 -0
  102. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/input.json +5 -0
  103. nextmv-1.2.3.dev2/nextmv/templates/go_json_template/main.go +65 -0
  104. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/go_multi-file_app.yaml +1 -1
  105. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/.gitignore +3 -0
  106. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/README.md +34 -0
  107. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/app.yaml +41 -0
  108. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/go.mod +3 -0
  109. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/inputs/input.json +5 -0
  110. nextmv-1.2.3.dev2/nextmv/templates/go_multi-file_template/main.go +99 -0
  111. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/.gitignore +3 -0
  112. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/Main.java +71 -0
  113. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/README.md +35 -0
  114. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/app.yaml +29 -0
  115. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/input.json +5 -0
  116. nextmv-1.2.3.dev2/nextmv/templates/java_json_template/pom.xml +55 -0
  117. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/java_multi-file_app.yaml +1 -1
  118. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/.gitignore +4 -0
  119. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/Main.java +89 -0
  120. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/README.md +34 -0
  121. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/app.yaml +36 -0
  122. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/inputs/input.json +5 -0
  123. nextmv-1.2.3.dev2/nextmv/templates/java_multi-file_template/pom.xml +55 -0
  124. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/.gitignore +1 -0
  125. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/README.md +35 -0
  126. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/app.yaml +31 -0
  127. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/input.json +5 -0
  128. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/main.py +77 -0
  129. nextmv-1.2.3.dev2/nextmv/templates/python_json_template/requirements.txt +2 -0
  130. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/python_multi-file_app.yaml +1 -1
  131. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/.gitignore +2 -0
  132. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/README.md +34 -0
  133. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/app.yaml +38 -0
  134. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/inputs/input.json +5 -0
  135. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/main.py +83 -0
  136. nextmv-1.2.3.dev2/nextmv/templates/python_multi-file_template/requirements.txt +2 -0
  137. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/local/test_application.py +0 -6
  138. nextmv-1.2.3.dev0/nextmv/__about__.py +0 -1
  139. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/.python-version +0 -0
  140. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/CONTRIBUTING.md +0 -0
  141. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/LICENSE +0 -0
  142. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/README.md +0 -0
  143. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/__entrypoint__.py +0 -0
  144. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/__init__.py +0 -0
  145. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/_serialization.py +0 -0
  146. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/base_model.py +0 -0
  147. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/__init__.py +0 -0
  148. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/__init__.py +0 -0
  149. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
  150. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/account/__init__.py +0 -0
  151. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/account/create.py +0 -0
  152. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/account/delete.py +0 -0
  153. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/account/get.py +0 -0
  154. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/account/update.py +0 -0
  155. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/__init__.py +0 -0
  156. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/create.py +0 -0
  157. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/exists.py +0 -0
  158. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/get.py +0 -0
  159. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/app/list.py +0 -0
  160. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/batch/__init__.py +0 -0
  161. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/data/__init__.py +0 -0
  162. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
  163. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/input_set/__init__.py +0 -0
  164. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/instance/__init__.py +0 -0
  165. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
  166. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
  167. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
  168. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
  169. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
  170. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
  171. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
  172. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
  173. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
  174. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
  175. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
  176. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
  177. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
  178. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
  179. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
  180. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
  181. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
  182. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/run/__init__.py +0 -0
  183. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/scenario/__init__.py +0 -0
  184. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/secrets/__init__.py +0 -0
  185. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/shadow/__init__.py +0 -0
  186. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/__init__.py +0 -0
  187. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/create.py +0 -0
  188. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/delete.py +0 -0
  189. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/disable.py +0 -0
  190. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
  191. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/domain/delete.py +0 -0
  192. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/enable.py +0 -0
  193. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/get.py +0 -0
  194. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/sso/update.py +0 -0
  195. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/switchback/__init__.py +0 -0
  196. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/upload/__init__.py +0 -0
  197. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/cloud/version/__init__.py +0 -0
  198. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/community/__init__.py +0 -0
  199. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/community/clone.py +0 -0
  200. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/community/list.py +0 -0
  201. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/configuration/__init__.py +0 -0
  202. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/configuration/delete.py +0 -0
  203. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/configuration/list.py +0 -0
  204. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/__init__.py +0 -0
  205. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/__init__.py +0 -0
  206. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/app/list.py +0 -0
  207. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/__init__.py +0 -0
  208. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/create.py +0 -0
  209. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/get.py +0 -0
  210. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/input.py +0 -0
  211. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/list.py +0 -0
  212. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/logs.py +0 -0
  213. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/metadata.py +0 -0
  214. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/local/run/visuals.py +0 -0
  215. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/manifest/__init__.py +0 -0
  216. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/manifest/validate.py +0 -0
  217. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/__init__.py +0 -0
  218. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/serve.py +0 -0
  219. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/server.py +0 -0
  220. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/__init__.py +0 -0
  221. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/_helpers.py +0 -0
  222. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/acceptance.py +0 -0
  223. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/account.py +0 -0
  224. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/app.py +0 -0
  225. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/batch.py +0 -0
  226. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/community.py +0 -0
  227. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/ensemble.py +0 -0
  228. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/input_set.py +0 -0
  229. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/instance.py +0 -0
  230. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/local.py +0 -0
  231. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/managed_input.py +0 -0
  232. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/profile.py +0 -0
  233. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/run.py +0 -0
  234. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/scenario.py +0 -0
  235. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/secrets.py +0 -0
  236. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/shadow.py +0 -0
  237. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/sso.py +0 -0
  238. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/switchback.py +0 -0
  239. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/mcp/tools/version.py +0 -0
  240. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cli/version.py +0 -0
  241. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/__init__.py +0 -0
  242. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/acceptance_test.py +0 -0
  243. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/account.py +0 -0
  244. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/__init__.py +0 -0
  245. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_acceptance.py +0 -0
  246. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_batch_scenario.py +0 -0
  247. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_ensemble.py +0 -0
  248. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_input_set.py +0 -0
  249. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_instance.py +0 -0
  250. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_managed_input.py +0 -0
  251. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_run.py +0 -0
  252. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_secrets.py +0 -0
  253. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_shadow.py +0 -0
  254. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_switchback.py +0 -0
  255. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_utils.py +0 -0
  256. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/application/_version.py +0 -0
  257. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/assets.py +0 -0
  258. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/batch_experiment.py +0 -0
  259. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/client.py +0 -0
  260. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/community.py +0 -0
  261. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/ensemble.py +0 -0
  262. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/input_set.py +0 -0
  263. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/instance.py +0 -0
  264. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/integration.py +0 -0
  265. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/marketplace.py +0 -0
  266. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/package.py +0 -0
  267. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/scenario.py +0 -0
  268. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/secrets.py +0 -0
  269. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/shadow.py +0 -0
  270. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/sso.py +0 -0
  271. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/switchback.py +0 -0
  272. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/url.py +0 -0
  273. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/cloud/version.py +0 -0
  274. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/content_format.py +0 -0
  275. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/.gitignore +0 -0
  276. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/README.md +0 -0
  277. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/app.yaml +0 -0
  278. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/input.json +0 -0
  279. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/main.py +0 -0
  280. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/requirements.txt +0 -0
  281. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/src/__init__.py +0 -0
  282. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/default_app/src/visuals.py +0 -0
  283. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/deprecated.py +0 -0
  284. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/input.py +0 -0
  285. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/__init__.py +0 -0
  286. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/geojson_handler.py +0 -0
  287. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/local.py +0 -0
  288. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/plotly_handler.py +0 -0
  289. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/registry.py +0 -0
  290. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/local/runner.py +0 -0
  291. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/logger.py +0 -0
  292. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/manifest.py +0 -0
  293. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/model.py +0 -0
  294. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/options.py +0 -0
  295. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/output.py +0 -0
  296. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/polling.py +0 -0
  297. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/run.py +0 -0
  298. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/safe.py +0 -0
  299. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/status.py +0 -0
  300. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/binary_json_app.yaml +0 -0
  301. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/go_json_app.yaml +0 -0
  302. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/java_json_app.yaml +0 -0
  303. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/nextmv/templates/python_json_app.yaml +0 -0
  304. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/pyproject.toml +0 -0
  305. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/__init__.py +0 -0
  306. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cli/__init__.py +0 -0
  307. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cli/test_configuration.py +0 -0
  308. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cli/test_main.py +0 -0
  309. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cli/test_mcp.py +0 -0
  310. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cli/test_version.py +0 -0
  311. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/__init__.py +0 -0
  312. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/app.yaml +0 -0
  313. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/test_client.py +0 -0
  314. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/test_instance.py +0 -0
  315. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/test_package.py +0 -0
  316. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/cloud/test_scenario.py +0 -0
  317. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/integration/__init__.py +0 -0
  318. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/integration/cloud/__init__.py +0 -0
  319. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/integration/cloud/test_integration_cloud.py +0 -0
  320. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/integration/cloud/test_integration_marketplace.py +0 -0
  321. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/local/__init__.py +0 -0
  322. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/local/test_executor.py +0 -0
  323. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/local/test_registry.py +0 -0
  324. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/local/test_runner.py +0 -0
  325. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/__init__.py +0 -0
  326. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options1.py +0 -0
  327. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options2.py +0 -0
  328. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options3.py +0 -0
  329. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options4.py +0 -0
  330. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options5.py +0 -0
  331. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options6.py +0 -0
  332. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/scripts/options7.py +0 -0
  333. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_base_model.py +0 -0
  334. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_entrypoint/__init__.py +0 -0
  335. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_entrypoint/test_entrypoint.py +0 -0
  336. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_input.py +0 -0
  337. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_inputs/test_data.csv +0 -0
  338. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_inputs/test_data.json +0 -0
  339. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_inputs/test_data.txt +0 -0
  340. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_logger.py +0 -0
  341. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_manifest.py +0 -0
  342. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_model.py +0 -0
  343. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_options.py +0 -0
  344. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_output.py +0 -0
  345. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_polling.py +0 -0
  346. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_run.py +0 -0
  347. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_safe.py +0 -0
  348. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_serialization.py +0 -0
  349. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/tests/test_version.py +0 -0
  350. {nextmv-1.2.3.dev0 → nextmv-1.2.3.dev2}/uv.lock +0 -0
@@ -161,6 +161,9 @@ cython_debug/
161
161
  # VSCode
162
162
  .vscode/
163
163
 
164
+ # Agents
165
+ .claude
166
+
164
167
  # Documentation stuff
165
168
  site/
166
169
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextmv
3
- Version: 1.2.3.dev0
3
+ Version: 1.2.3.dev2
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/
@@ -0,0 +1 @@
1
+ __version__ = "v1.2.3.dev2"
@@ -269,7 +269,7 @@ def create(
269
269
  ] = False,
270
270
  profile: ProfileOption = None,
271
271
  ) -> None:
272
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
272
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
273
273
 
274
274
  # Build the metrics list from the CLI options
275
275
  metrics_list = build_metrics(metrics)
@@ -55,7 +55,7 @@ def delete(
55
55
  info(f"Acceptance test [magenta]{acceptance_test_id}[/magenta] will not be deleted.")
56
56
  return
57
57
 
58
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
58
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
59
59
  cloud_app.delete_acceptance_test(acceptance_test_id=acceptance_test_id)
60
60
  success(
61
61
  f"Acceptance test [magenta]{acceptance_test_id}[/magenta] deleted successfully "
@@ -71,7 +71,7 @@ def get(
71
71
  $ [dim]nextmv cloud acceptance get --app-id hare-app --acceptance-test-id test-123 --profile prod[/dim]
72
72
  """
73
73
 
74
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
74
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
75
75
 
76
76
  # Build the polling options.
77
77
  polling_options = default_polling_options()
@@ -47,7 +47,7 @@ def list(
47
47
  $ [dim]nextmv cloud acceptance list --app-id hare-app --profile prod[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Listing acceptance tests...")
52
52
  acceptance_tests = cloud_app.list_acceptance_tests()
53
53
  acceptance_tests_dict = [test.to_dict() for test in acceptance_tests]
@@ -70,7 +70,7 @@ def update(
70
70
  --description "New description" --output updated-test.json[/dim]
71
71
  """
72
72
 
73
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
73
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
74
74
 
75
75
  in_progress(msg="Updating acceptance test...")
76
76
  acceptance_test = cloud_app.update_acceptance_test(
@@ -51,6 +51,6 @@ def delete(
51
51
  info(f"Application [magenta]{app_id}[/magenta] will not be deleted.")
52
52
  return
53
53
 
54
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
54
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
55
55
  cloud_app.delete()
56
56
  success(f"Application [magenta]{app_id}[/magenta] deleted successfully.")
@@ -61,6 +61,15 @@ def push(
61
61
  rich_help_panel="Version control",
62
62
  ),
63
63
  ] = False,
64
+ version_no: Annotated[
65
+ bool,
66
+ typer.Option(
67
+ "--version-no",
68
+ "-n",
69
+ help="Skip version creation after push. Skips confirmation prompt. Useful for non-interactive sessions.",
70
+ rich_help_panel="Version control",
71
+ ),
72
+ ] = False,
64
73
  # Options for instance control.
65
74
  create_instance_id: Annotated[
66
75
  str | None,
@@ -128,7 +137,7 @@ def push(
128
137
  $ [dim]nextmv cloud app push --app-id hare-app --version-yes --update-instance-id inst-1[/dim]
129
138
  """
130
139
 
131
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
140
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
132
141
 
133
142
  # If a version already exists, we cannot create it.
134
143
  if version_id is not None and version_id != "":
@@ -138,6 +147,10 @@ def push(
138
147
  f"Version [magenta]{version_id}[/magenta] already exists for application [magenta]{app_id}[/magenta]."
139
148
  )
140
149
 
150
+ # Cannot skip and auto-confirm version creation at the same time.
151
+ if version_yes and version_no:
152
+ error("Cannot use --version-yes and --version-no at the same time.")
153
+
141
154
  # We cannot create and update an instance at the same time.
142
155
  update_defined = update_instance_id is not None and update_instance_id != ""
143
156
  create_defined = create_instance_id is not None and create_instance_id != ""
@@ -158,6 +171,63 @@ def push(
158
171
  "already exists. Use --update-instance-id instead."
159
172
  )
160
173
 
174
+ handle_push(
175
+ cloud_app=cloud_app,
176
+ app_id=app_id,
177
+ app_dir=app_dir,
178
+ manifest=manifest,
179
+ version_id=version_id,
180
+ version_yes=version_yes,
181
+ version_no=version_no,
182
+ update_defined=update_defined,
183
+ update_instance_id=update_instance_id,
184
+ create_defined=create_defined,
185
+ create_instance_id=create_instance_id,
186
+ )
187
+
188
+
189
+ def handle_push(
190
+ cloud_app: Application,
191
+ app_id: str,
192
+ app_dir: str | None,
193
+ manifest: str | None,
194
+ version_id: str | None,
195
+ version_yes: bool,
196
+ version_no: bool,
197
+ update_defined: bool,
198
+ update_instance_id: str | None,
199
+ create_defined: bool,
200
+ create_instance_id: str | None,
201
+ ) -> None:
202
+ """
203
+ Handle the core push flow: push the application, create a version, and link it to an instance.
204
+
205
+ Parameters
206
+ ----------
207
+ cloud_app : Application
208
+ The cloud application object to interact with Nextmv Cloud.
209
+ app_id : str
210
+ The application ID.
211
+ app_dir : str | None
212
+ The path to the application's root directory.
213
+ manifest : str | None
214
+ The path to the application manifest file.
215
+ version_id : str | None
216
+ The version ID to use or create.
217
+ version_yes : bool
218
+ Whether to skip the prompt and auto-create a new version.
219
+ version_no : bool
220
+ Whether to skip the prompt and not create a new version.
221
+ update_defined : bool
222
+ Whether --update-instance-id was provided.
223
+ update_instance_id : str | None
224
+ The instance ID to update.
225
+ create_defined : bool
226
+ Whether --create-instance-id was provided.
227
+ create_instance_id : str | None
228
+ The instance ID to create.
229
+ """
230
+
161
231
  # Do the normal push first.
162
232
  loaded_manifest = Manifest.from_yaml(dirpath=manifest) if manifest is not None and manifest != "" else None
163
233
  cloud_app.push(
@@ -173,6 +243,7 @@ def push(
173
243
  app_id=app_id,
174
244
  version_id=version_id,
175
245
  version_yes=version_yes,
246
+ version_no=version_no,
176
247
  now=now,
177
248
  )
178
249
  if not should_continue:
@@ -219,6 +290,7 @@ def _handle_version_creation(
219
290
  app_id: str,
220
291
  version_id: str | None,
221
292
  version_yes: bool,
293
+ version_no: bool,
222
294
  now: datetime,
223
295
  ) -> tuple[str, bool]:
224
296
  """
@@ -237,6 +309,8 @@ def _handle_version_creation(
237
309
  The version ID to use or check for existence. If None or empty, a new version may be created.
238
310
  version_yes : bool
239
311
  Whether to skip the prompt and auto-create a new version.
312
+ version_no : bool
313
+ Whether to skip the prompt and not create a new version.
240
314
  now : datetime
241
315
  The current datetime, used for version description.
242
316
 
@@ -247,6 +321,11 @@ def _handle_version_creation(
247
321
  whether to continue with subsequent steps (True if a version is selected or created, False otherwise).
248
322
  """
249
323
 
324
+ # If the user wants to skip version creation, we are done.
325
+ if version_no:
326
+ info("Used option --version-no. Will not create a new version.")
327
+ return "", False
328
+
250
329
  # If the user provides a version, and it exists, we use it directly and we
251
330
  # are done.
252
331
  if version_id is not None and version_id != "":
@@ -103,7 +103,7 @@ def update(
103
103
  "--default-instance-id, or --default-experiment-instance."
104
104
  )
105
105
 
106
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
106
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
107
107
  in_progress(msg="Updating application...")
108
108
  updated_app = cloud_app.update(
109
109
  name=name,
@@ -247,7 +247,7 @@ def create(
247
247
  --runs "$RUN1" --runs "$RUN2" --option-sets "$OPTION_SETS"[/dim]
248
248
  """
249
249
 
250
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
250
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
251
251
 
252
252
  # Build the runs list from the CLI options
253
253
  runs_list = build_runs(runs)
@@ -55,7 +55,7 @@ def delete(
55
55
  info(f"Batch experiment [magenta]{batch_experiment_id}[/magenta] will not be deleted.")
56
56
  return
57
57
 
58
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
58
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
59
59
  cloud_app.delete_batch_experiment(batch_id=batch_experiment_id)
60
60
  success(
61
61
  f"Batch experiment [magenta]{batch_experiment_id}[/magenta] deleted successfully "
@@ -72,7 +72,7 @@ def get(
72
72
  $ [dim]nextmv cloud batch get --app-id hare-app --batch-experiment-id lettuce-routes --profile prod[/dim]
73
73
  """
74
74
 
75
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
75
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
76
76
 
77
77
  # Build the polling options.
78
78
  polling_options = default_polling_options()
@@ -47,7 +47,7 @@ def list(
47
47
  $ [dim]nextmv cloud batch list --app-id hare-app --profile prod[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Listing batch experiments...")
52
52
  batch_experiments = cloud_app.list_batch_experiments()
53
53
  batch_experiments_dict = [exp.to_dict() for exp in batch_experiments]
@@ -51,7 +51,7 @@ def metadata(
51
51
  $ [dim]nextmv cloud batch metadata --app-id hare-app --batch-experiment-id hop-schedule --profile prod[/dim]
52
52
  """
53
53
 
54
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
54
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
55
55
  in_progress(msg="Getting batch experiment metadata...")
56
56
  batch_metadata = cloud_app.batch_experiment_metadata(batch_id=batch_experiment_id)
57
57
  batch_metadata_dict = batch_metadata.to_dict()
@@ -70,7 +70,7 @@ def update(
70
70
  --output updated-batch.json[/dim]
71
71
  """
72
72
 
73
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
73
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
74
74
 
75
75
  in_progress(msg="Updating batch experiment...")
76
76
  batch_experiment = cloud_app.update_batch_experiment(
@@ -100,7 +100,7 @@ def upload(
100
100
  if stdin is None and (input is None or input == ""):
101
101
  error("Input data must be provided via the --input flag or [magenta]stdin[/magenta].")
102
102
 
103
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
103
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
104
104
  data_kwarg = resolve_data_kwarg(
105
105
  stdin=stdin,
106
106
  input=input,
@@ -219,7 +219,7 @@ def create(
219
219
  ] = None,
220
220
  profile: ProfileOption = None,
221
221
  ) -> None:
222
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
222
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
223
223
  in_progress(msg="Creating ensemble definition...")
224
224
 
225
225
  # Build the run groups and rules lists from the CLI options
@@ -54,7 +54,7 @@ def delete(
54
54
  info(f"Ensemble definition [magenta]{ensemble_definition_id}[/magenta] will not be deleted.")
55
55
  return
56
56
 
57
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
57
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
58
58
  cloud_app.delete_ensemble_definition(ensemble_definition_id=ensemble_definition_id)
59
59
  success(
60
60
  f"Ensemble definition [magenta]{ensemble_definition_id}[/magenta] deleted successfully "
@@ -49,7 +49,7 @@ def get(
49
49
  --ensemble-definition-id prod-ensemble --output ensemble.json[/dim]
50
50
  """
51
51
 
52
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
52
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
53
53
  in_progress(msg="Getting ensemble definition...")
54
54
  ensemble_definition = cloud_app.ensemble_definition(ensemble_definition_id=ensemble_definition_id)
55
55
  ensemble_definition_dict = ensemble_definition.to_dict()
@@ -47,7 +47,7 @@ def list(
47
47
  $ [dim]nextmv cloud ensemble list --app-id hare-app --profile prod[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Listing ensemble definitions...")
52
52
  ensembles = cloud_app.list_ensemble_definitions()
53
53
  ensembles_dict = [ensemble.to_dict() for ensemble in ensembles]
@@ -80,7 +80,7 @@ def update(
80
80
  if name is None and description is None:
81
81
  error("Provide at least one option to update: --name or --description.")
82
82
 
83
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
83
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
84
84
  in_progress(msg="Updating ensemble definition...")
85
85
  ensemble_definition = cloud_app.update_ensemble_definition(
86
86
  id=ensemble_definition_id,
@@ -139,7 +139,7 @@ def create(
139
139
  --end-time "2024-01-31T23:59:59Z"[/dim]
140
140
  """
141
141
 
142
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
142
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
143
143
  in_progress(msg="Creating input set...")
144
144
 
145
145
  # Generate a random input set ID if one is not provided.
@@ -55,7 +55,7 @@ def delete(
55
55
  info(f"Input set [magenta]{input_set_id}[/magenta] will not be deleted.")
56
56
  return
57
57
 
58
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
58
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
59
59
  cloud_app.delete_input_set(input_set_id=input_set_id)
60
60
  success(
61
61
  f"Input set [magenta]{input_set_id}[/magenta] deleted successfully "
@@ -47,7 +47,7 @@ def get(
47
47
  --output input-set.json[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Getting input set...")
52
52
  input_set = cloud_app.input_set(input_set_id=input_set_id)
53
53
  input_set_dict = input_set.to_dict()
@@ -47,7 +47,7 @@ def list(
47
47
  $ [dim]nextmv cloud input-set list --app-id hare-app --output input-sets.json[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Listing input sets...")
52
52
  input_sets = cloud_app.list_input_sets()
53
53
  input_sets_dicts = [input_set.to_dict() for input_set in input_sets]
@@ -90,7 +90,7 @@ def update(
90
90
  if name is None and description is None and managed_inputs is None:
91
91
  error("Provide at least one option: --name, --description, or --managed-inputs.")
92
92
 
93
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
93
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
94
94
  in_progress(msg="Updating input set...")
95
95
 
96
96
  managed_input_list = []
@@ -162,7 +162,7 @@ def create(
162
162
  --instance-id prod --options max_duration=30 --options timeout=60[/dim]
163
163
  """
164
164
 
165
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
165
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
166
166
  if exist_ok:
167
167
  in_progress(msg="Creating or getting instance...")
168
168
  else:
@@ -53,7 +53,7 @@ def delete(
53
53
  info(f"Instance [magenta]{instance_id}[/magenta] will not be deleted.")
54
54
  return
55
55
 
56
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
56
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
57
57
  cloud_app.delete_instance(instance_id=instance_id)
58
58
  success(
59
59
  f"Instance [magenta]{instance_id}[/magenta] deleted successfully from application [magenta]{app_id}[/magenta]."
@@ -33,7 +33,7 @@ def exists(
33
33
  $ [dim]nextmv cloud instance exists --app-id hare-app --instance-id prod --profile hare[/dim]
34
34
  """
35
35
 
36
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
36
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
37
37
  in_progress(msg="Checking if instance exists...")
38
38
  ok = cloud_app.instance_exists(instance_id=instance_id)
39
39
  print_json({"exists": ok})
@@ -46,7 +46,7 @@ def get(
46
46
  $ [dim]nextmv cloud instance get --app-id hare-app --instance-id prod --output instance.json[/dim]
47
47
  """
48
48
 
49
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
49
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
50
50
  in_progress(msg="Getting instance...")
51
51
  instance = cloud_app.instance(instance_id=instance_id)
52
52
  instance_dict = instance.to_dict()
@@ -44,7 +44,7 @@ def list(
44
44
  $ [dim]nextmv cloud instance list --app-id hare-app --output instances.json[/dim]
45
45
  """
46
46
 
47
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
47
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
48
48
  in_progress(msg="Listing instances...")
49
49
  instances = cloud_app.list_instances()
50
50
  instances_dicts = [instance.to_dict() for instance in instances]
@@ -184,7 +184,7 @@ def update(
184
184
  "--version-id, or any [magenta]Instance configuration[/magenta] option."
185
185
  )
186
186
 
187
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
187
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
188
188
 
189
189
  # Build configuration if any configuration options were provided.
190
190
  configuration = None
@@ -121,7 +121,7 @@ def create(
121
121
  "or specify an existing run ID."
122
122
  )
123
123
 
124
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
124
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
125
125
 
126
126
  # Build format if content_format is provided
127
127
  format_obj = None
@@ -55,7 +55,7 @@ def delete(
55
55
  info(f"Managed input [magenta]{managed_input_id}[/magenta] will not be deleted.")
56
56
  return
57
57
 
58
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
58
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
59
59
  cloud_app.delete_managed_input(managed_input_id=managed_input_id)
60
60
  success(
61
61
  f"Managed input [magenta]{managed_input_id}[/magenta] deleted successfully "
@@ -47,7 +47,7 @@ def get(
47
47
  --output managed_input.json[/dim]
48
48
  """
49
49
 
50
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
50
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
51
51
  in_progress(msg="Getting managed input...")
52
52
  managed_input = cloud_app.managed_input(managed_input_id=managed_input_id)
53
53
  managed_input_dict = managed_input.to_dict()
@@ -44,7 +44,7 @@ def list(
44
44
  $ [dim]nextmv cloud managed-input list --app-id hare-app --output managed_inputs.json[/dim]
45
45
  """
46
46
 
47
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
47
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
48
48
  in_progress(msg="Listing managed inputs...")
49
49
  managed_inputs = cloud_app.list_managed_inputs()
50
50
  managed_inputs_dicts = [managed_input.to_dict() for managed_input in managed_inputs]
@@ -73,7 +73,7 @@ def update(
73
73
  if name is None and description is None:
74
74
  error("Provide at least one option to update: --name or --description.")
75
75
 
76
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
76
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
77
77
 
78
78
  in_progress(msg="Updating managed input...")
79
79
  updated_managed_input = cloud_app.update_managed_input(
@@ -31,7 +31,7 @@ def cancel(
31
31
  $ [dim]nextmv cloud run cancel --app-id hare-app --run-id burrow-123 --profile hare[/dim]
32
32
  """
33
33
 
34
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
34
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
35
35
  in_progress(msg=f"Canceling run [magenta]{run_id}[/magenta]...")
36
36
  cloud_app.cancel_run(run_id)
37
37
  success(f"Run [magenta]{run_id}[/magenta] canceled.")
@@ -321,7 +321,7 @@ def create(
321
321
  error("Input data must be provided via the --input or --managed-input-id flags, or [magenta]stdin[/magenta].")
322
322
 
323
323
  # Instantiate the basic requirements to start a new run.
324
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
324
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
325
325
  config = build_run_config(
326
326
  run_type=run_type,
327
327
  priority=priority,
@@ -84,7 +84,7 @@ def get(
84
84
  $ [dim]nextmv cloud run get --app-id hare-app --run-id burrow-123 --profile hare[/dim]
85
85
  """
86
86
 
87
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
87
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
88
88
 
89
89
  # Build the polling options.
90
90
  polling_options = default_polling_options()
@@ -52,7 +52,7 @@ def input(
52
52
  $ [dim]nextmv cloud run input --app-id hare-app --run-id burrow-123 --profile hare[/dim]
53
53
  """
54
54
 
55
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
55
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
56
56
  in_progress(msg="Getting run input...")
57
57
 
58
58
  # First get the content type to check what we should do with the input,
@@ -64,7 +64,7 @@ def list(
64
64
  $ [dim]nextmv cloud run list --app-id hare-app --status queued[/dim]
65
65
  """
66
66
 
67
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
67
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
68
68
  in_progress(msg="Listing app runs...")
69
69
  runs = cloud_app.list_runs(status=status)
70
70
  runs_dicts = [run.to_dict() for run in runs]
@@ -81,7 +81,7 @@ def logs(
81
81
  $ [dim]nextmv cloud run logs --app-id hare-app --run-id burrow-123 --profile hare[/dim]
82
82
  """
83
83
 
84
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
84
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
85
85
 
86
86
  # Build the polling options.
87
87
  polling_options = default_polling_options()
@@ -51,7 +51,7 @@ def metadata(
51
51
  $ [dim]nextmv cloud run metadata --app-id hare-app --run-id burrow-123 --profile hare[/dim]
52
52
  """
53
53
 
54
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
54
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
55
55
  in_progress(msg="Getting run metadata...")
56
56
  run_info = cloud_app.run_metadata(run_id)
57
57
  info_dict = run_info.to_dict()
@@ -236,7 +236,7 @@ def track(
236
236
  error("Input data must be provided via the --input flag or [magenta]stdin[/magenta].")
237
237
 
238
238
  # Instantiate the basic requirements to start a new run.
239
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
239
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
240
240
  config = build_run_config(
241
241
  run_type=RunType.EXTERNAL,
242
242
  priority=6,
@@ -272,7 +272,7 @@ def create(
272
272
  nextmv cloud scenario create --app-id hare-app --name "Speed Analysis" --scenarios "$SCENARIO"[/dim]
273
273
  """
274
274
 
275
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
275
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
276
276
 
277
277
  # Build the scenario list from the CLI options
278
278
  scenario_list = build_scenarios(scenarios)
@@ -55,6 +55,6 @@ def delete(
55
55
  info(f"Scenario test [magenta]{scenario_test_id}[/magenta] will not be deleted.")
56
56
  return
57
57
 
58
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
58
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
59
59
  cloud_app.delete_scenario_test(scenario_test_id=scenario_test_id)
60
60
  success(msg=f"Scenario test [magenta]{scenario_test_id}[/magenta] deleted.")
@@ -71,7 +71,7 @@ def get(
71
71
  - Get the scenario test using a specific profile.
72
72
  $ [dim]nextmv cloud scenario get --app-id hare-app --scenario-test-id lettuce-routes --profile prod[/dim]
73
73
  """
74
- cloud_app = build_cloud_app(app_id=app_id, profile=profile)
74
+ cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
75
75
 
76
76
  # Build the polling options.
77
77
  polling_options = default_polling_options()