hcs-cli 0.1.347__tar.gz → 0.1.349__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 (532) hide show
  1. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/PKG-INFO +2 -3
  2. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/__init__.py +1 -1
  3. hcs_cli-0.1.349/hcs_cli/cmds/activity/__init__.py +5 -0
  4. hcs_cli-0.1.349/hcs_cli/cmds/activity/get.py +22 -0
  5. hcs_cli-0.1.349/hcs_cli/cmds/activity/list.py +126 -0
  6. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/license_info.py +4 -1
  7. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/subscription_util.py +27 -2
  8. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/init.py +15 -3
  9. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/list.py +4 -1
  10. hcs_cli-0.1.349/hcs_cli/cmds/log.py +82 -0
  11. hcs_cli-0.1.349/hcs_cli/cmds/mcp.py +14 -0
  12. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/profile/init.py +15 -1
  13. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/task.py +5 -13
  14. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/actions.py +21 -6
  15. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/config/hcs-deployments.yaml +18 -16
  16. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/main.py +18 -1
  17. hcs_cli-0.1.349/hcs_cli/mcp/__init__.py +7 -0
  18. hcs_cli-0.1.349/hcs_cli/mcp/resources/__init__.py +17 -0
  19. hcs_cli-0.1.349/hcs_cli/mcp/resources/ad.py +21 -0
  20. hcs_cli-0.1.349/hcs_cli/mcp/resources/edge.py +21 -0
  21. hcs_cli-0.1.349/hcs_cli/mcp/resources/entitlement.py +21 -0
  22. hcs_cli-0.1.349/hcs_cli/mcp/resources/pool.py +32 -0
  23. hcs_cli-0.1.349/hcs_cli/mcp/resources/provider.py +37 -0
  24. hcs_cli-0.1.349/hcs_cli/mcp/resources/site.py +21 -0
  25. hcs_cli-0.1.349/hcs_cli/mcp/resources/template.py +21 -0
  26. hcs_cli-0.1.349/hcs_cli/mcp/resources/uag.py +21 -0
  27. hcs_cli-0.1.349/hcs_cli/mcp/resources/vm.py +21 -0
  28. hcs_cli-0.1.349/hcs_cli/mcp/server.py +48 -0
  29. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-dedicated.json +5 -5
  30. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-delay-1m-per-vm.json +1 -1
  31. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-delete-template.json +1 -1
  32. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-destroy-onthread.json +1 -1
  33. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-destroy.json +1 -1
  34. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-prepare-onthread.json +1 -1
  35. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-prepare.json +1 -1
  36. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-vm-onthread.json +1 -1
  37. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-fail-vm.json +1 -1
  38. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-floating.json +1 -1
  39. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-legacy.json +1 -1
  40. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-manual.json +1 -1
  41. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-multisession.json +1 -1
  42. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-nanw.json +1 -1
  43. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-new-5k-delay.json +1 -1
  44. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-new-5k.json +1 -1
  45. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-new-snapshot.json +1 -1
  46. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-reuse-vm-id.json +1 -1
  47. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero-with-max-id-offset.json +1 -1
  48. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/zero.json +1 -1
  49. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/__init__.py +27 -25
  50. hcs_cli-0.1.349/hcs_cli/service/activity.py +22 -0
  51. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/inventory/vm.py +2 -1
  52. hcs_cli-0.1.349/hcs_cli/service/task.py +356 -0
  53. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/log/env.py +43 -5
  54. hcs_cli-0.1.349/hcs_cli/support/log/search.py +78 -0
  55. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/profile.py +0 -16
  56. hcs_cli-0.1.349/hcs_cli/support/readonly.py +8 -0
  57. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/pyproject.toml +6 -3
  58. hcs_cli-0.1.347/hcs_cli/cmds/advisor/__init__.py +0 -8
  59. hcs_cli-0.1.347/hcs_cli/cmds/advisor/advisor_utils.py +0 -389
  60. hcs_cli-0.1.347/hcs_cli/cmds/advisor/config/__init__.py +0 -3
  61. hcs_cli-0.1.347/hcs_cli/cmds/advisor/config/advisor_config.py +0 -108
  62. hcs_cli-0.1.347/hcs_cli/cmds/advisor/html_utils.py +0 -719
  63. hcs_cli-0.1.347/hcs_cli/cmds/advisor/org.py +0 -114
  64. hcs_cli-0.1.347/hcs_cli/cmds/advisor/pdf_utils.py +0 -626
  65. hcs_cli-0.1.347/hcs_cli/cmds/advisor/pool.py +0 -83
  66. hcs_cli-0.1.347/hcs_cli/cmds/advisor/recommendation_engine.py +0 -1772
  67. hcs_cli-0.1.347/hcs_cli/cmds/log.py +0 -136
  68. hcs_cli-0.1.347/hcs_cli/service/task.py +0 -523
  69. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/.gitignore +0 -0
  70. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/README.md +0 -0
  71. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/__main__.py +0 -0
  72. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/__init__.py +0 -0
  73. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ad/__init__.py +0 -0
  74. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ad/create.py +0 -0
  75. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ad/delete.py +0 -0
  76. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ad/get.py +0 -0
  77. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ad/list.py +0 -0
  78. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/admin/__init__.py +0 -0
  79. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/admin/azure_infra/__init__.py +0 -0
  80. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/admin/azure_infra/main.py +0 -0
  81. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/api.py +0 -0
  82. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/__init__.py +0 -0
  83. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/create.py +0 -0
  84. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/delete.py +0 -0
  85. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/get.py +0 -0
  86. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/list.py +0 -0
  87. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/update.py +0 -0
  88. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/app/use.py +0 -0
  89. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/__init__.py +0 -0
  90. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/admin/__init__.py +0 -0
  91. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/admin/get_org_idp_map.py +0 -0
  92. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/admin/network/__init__.py +0 -0
  93. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/admin/network/add.py +0 -0
  94. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/user/__init__.py +0 -0
  95. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/auth/user/list.py +0 -0
  96. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/clouddriver/__init__.py +0 -0
  97. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/clouddriver/provider.py +0 -0
  98. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/clouddriver/service.py +0 -0
  99. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/clouddriver/task.py +0 -0
  100. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/credential/__init__.py +0 -0
  101. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/credential/get.py +0 -0
  102. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/cs/__init__.py +0 -0
  103. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/cs/base.py +0 -0
  104. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/__init__.py +0 -0
  105. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/infra/__init__.py +0 -0
  106. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/infra/basic.py +0 -0
  107. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/infra/plan.py +0 -0
  108. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/order/__init__.py +0 -0
  109. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/order/create.py +0 -0
  110. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/order/delete.py +0 -0
  111. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/order/list.py +0 -0
  112. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/order/update.py +0 -0
  113. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/tenant/__init__.py +0 -0
  114. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/tenant/consumption.py +0 -0
  115. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/tenant/create.py +0 -0
  116. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/daas/tenant/plan.py +0 -0
  117. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/debug/__init__.py +0 -0
  118. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/debug/prepare.py +0 -0
  119. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/debug/reset.py +0 -0
  120. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/debug/start.py +0 -0
  121. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/__init__.py +0 -0
  122. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/emqx.py +0 -0
  123. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/__init__.py +0 -0
  124. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/auth.py +0 -0
  125. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/clear.py +0 -0
  126. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/__init__.py +0 -0
  127. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/config.py +0 -0
  128. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/credential_helper.py +0 -0
  129. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/init_steps.py +0 -0
  130. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/jenkins_util.py +0 -0
  131. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/k8s_util.py +0 -0
  132. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/mqtt_certs.py +0 -0
  133. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/required_fields.py +0 -0
  134. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/step_util.py +0 -0
  135. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/helper/util.py +0 -0
  136. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/profiler.py +0 -0
  137. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/__init__.py +0 -0
  138. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/akka.plan.yml +0 -0
  139. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/azsim.plan.yml +0 -0
  140. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/azure.plan.yml +0 -0
  141. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/mqtt-secret.yaml +0 -0
  142. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml +0 -0
  143. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml +0 -0
  144. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json +0 -0
  145. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/fs/tailor.py +0 -0
  146. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/mqtt.py +0 -0
  147. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/onboard.py +0 -0
  148. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/test.py +0 -0
  149. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/util/__init__.py +0 -0
  150. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/util/github_helper.py +0 -0
  151. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/util/log.py +0 -0
  152. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/dev/util/mqtt_helper.py +0 -0
  153. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/diagnostics/__init__.py +0 -0
  154. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/diagnostics/diagnose.py +0 -0
  155. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/__init__.py +0 -0
  156. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/connection_string.py +0 -0
  157. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/create.py +0 -0
  158. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/delete.py +0 -0
  159. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/get.py +0 -0
  160. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/list.py +0 -0
  161. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/log.py +0 -0
  162. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/use.py +0 -0
  163. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/edge/wait.py +0 -0
  164. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/entitlement/__init__.py +0 -0
  165. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/entitlement/delete.py +0 -0
  166. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/entitlement/get.py +0 -0
  167. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/entitlement/list.py +0 -0
  168. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hoc/__init__.py +0 -0
  169. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hoc/search.py +0 -0
  170. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hoc/stats.py +0 -0
  171. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hoc/util/__init__.py +0 -0
  172. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hoc/util/inv_cache.py +0 -0
  173. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/__init__.py +0 -0
  174. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/clean.py +0 -0
  175. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/cloud/__init__.py +0 -0
  176. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/cloud/health.py +0 -0
  177. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/cloud/perf.py +0 -0
  178. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/cloud/scale.py +0 -0
  179. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/installer.py +0 -0
  180. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/key.py +0 -0
  181. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/outpost.py +0 -0
  182. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/probe.py +0 -0
  183. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/report.py +0 -0
  184. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/hst/test.py +0 -0
  185. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/__init__.py +0 -0
  186. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/delete.py +0 -0
  187. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/get.py +0 -0
  188. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/gold_pattern/__init__.py +0 -0
  189. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/gold_pattern/create.py +0 -0
  190. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/gold_pattern/delete.py +0 -0
  191. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/gold_pattern/get.py +0 -0
  192. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/gold_pattern/list.py +0 -0
  193. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/list.py +0 -0
  194. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/list_copies.py +0 -0
  195. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/version/__init__.py +0 -0
  196. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/version/delete.py +0 -0
  197. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/version/get.py +0 -0
  198. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/ims/version/list.py +0 -0
  199. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inspect.py +0 -0
  200. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/__init__.py +0 -0
  201. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/assign.py +0 -0
  202. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/count.py +0 -0
  203. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/deassign.py +0 -0
  204. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/delete.py +0 -0
  205. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/get.py +0 -0
  206. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/logoff.py +0 -0
  207. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/session.py +0 -0
  208. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/inventory/update.py +0 -0
  209. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/iss/__init__.py +0 -0
  210. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/iss/mqtt.py +0 -0
  211. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/__init__.py +0 -0
  212. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/health.py +0 -0
  213. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/provider/__init__.py +0 -0
  214. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/provider/create.py +0 -0
  215. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/provider/delete.py +0 -0
  216. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/provider/get.py +0 -0
  217. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/provider/list.py +0 -0
  218. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/register.py +0 -0
  219. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/__init__.py +0 -0
  220. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/cancel.py +0 -0
  221. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/create.py +0 -0
  222. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/delete.py +0 -0
  223. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/expand.py +0 -0
  224. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/get.py +0 -0
  225. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/health.py +0 -0
  226. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/list.py +0 -0
  227. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/provision.py +0 -0
  228. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/retry.py +0 -0
  229. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/update.py +0 -0
  230. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/use.py +0 -0
  231. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/template/wait.py +0 -0
  232. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/test.py +0 -0
  233. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/__init__.py +0 -0
  234. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/delete.py +0 -0
  235. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/get.py +0 -0
  236. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/pair.py +0 -0
  237. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/pairing_info.py +0 -0
  238. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/power.py +0 -0
  239. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/put.py +0 -0
  240. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/lcm/vm/wait.py +0 -0
  241. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/login.py +0 -0
  242. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/logout.py +0 -0
  243. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/__init__.py +0 -0
  244. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/datacenter/__init__.py +0 -0
  245. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/datacenter/get.py +0 -0
  246. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/datacenter/list.py +0 -0
  247. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/details/__init__.py +0 -0
  248. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/ff.py +0 -0
  249. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/get.py +0 -0
  250. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/list.py +0 -0
  251. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/location.py +0 -0
  252. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/org/use.py +0 -0
  253. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/__init__.py +0 -0
  254. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/ca.py +0 -0
  255. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/cert/__init__.py +0 -0
  256. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/cert/delete.py +0 -0
  257. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/cert/get.py +0 -0
  258. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/sign.py +0 -0
  259. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pki/test.py +0 -0
  260. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/__init__.py +0 -0
  261. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/apply.py +0 -0
  262. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/clear.py +0 -0
  263. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/destroy.py +0 -0
  264. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/graph.py +0 -0
  265. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/input.py +0 -0
  266. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/output.py +0 -0
  267. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/resolve.py +0 -0
  268. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/plan/use.py +0 -0
  269. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/__init__.py +0 -0
  270. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/delete.py +0 -0
  271. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/get.py +0 -0
  272. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/list.py +0 -0
  273. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/update.py +0 -0
  274. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/pool/use.py +0 -0
  275. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/profile/__init__.py +0 -0
  276. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/__init__.py +0 -0
  277. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/create.py +0 -0
  278. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/delete.py +0 -0
  279. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/get.py +0 -0
  280. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/golden_images.py +0 -0
  281. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/list.py +0 -0
  282. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/use.py +0 -0
  283. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/provider/vsphere_dcs.py +0 -0
  284. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/query.py +0 -0
  285. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/__init__.py +0 -0
  286. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/health.py +0 -0
  287. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/operator.py +0 -0
  288. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/plan.py +0 -0
  289. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/recommend.py +0 -0
  290. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/scm/template.py +0 -0
  291. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/__init__.py +0 -0
  292. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/create.py +0 -0
  293. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/delete.py +0 -0
  294. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/get.py +0 -0
  295. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/list.py +0 -0
  296. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/set-edge.py +0 -0
  297. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/site/use.py +0 -0
  298. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/__init__.py +0 -0
  299. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/__init__.py +0 -0
  300. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/create.py +0 -0
  301. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/delete.py +0 -0
  302. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/get.py +0 -0
  303. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/list.py +0 -0
  304. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/outpost/update.py +0 -0
  305. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/__init__.py +0 -0
  306. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/create.py +0 -0
  307. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/delete.py +0 -0
  308. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/get.py +0 -0
  309. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/list.py +0 -0
  310. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/run.py +0 -0
  311. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/probe/update.py +0 -0
  312. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/report/__init__.py +0 -0
  313. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/report/delete.py +0 -0
  314. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/report/get.py +0 -0
  315. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/synt/report/list.py +0 -0
  316. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/__init__.py +0 -0
  317. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/create.py +0 -0
  318. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/delete.py +0 -0
  319. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/expand.py +0 -0
  320. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/fix.py +0 -0
  321. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/get.py +0 -0
  322. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/list.py +0 -0
  323. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/list_usage.py +0 -0
  324. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/update.py +0 -0
  325. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/usage.py +0 -0
  326. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/use.py +0 -0
  327. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/template/wait.py +0 -0
  328. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/test.py +0 -0
  329. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/uag/__init__.py +0 -0
  330. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/uag/delete.py +0 -0
  331. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/uag/get.py +0 -0
  332. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/uag/list.py +0 -0
  333. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/upgrade.py +0 -0
  334. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/__init__.py +0 -0
  335. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/delete.py +0 -0
  336. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/get.py +0 -0
  337. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/list.py +0 -0
  338. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/log.py +0 -0
  339. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/pairing_info.py +0 -0
  340. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/put.py +0 -0
  341. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/use.py +0 -0
  342. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vm/wait.py +0 -0
  343. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmhub/__init__.py +0 -0
  344. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmhub/info.py +0 -0
  345. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmhub/otp/__init__.py +0 -0
  346. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmhub/otp/redeem.py +0 -0
  347. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmhub/otp/request.py +0 -0
  348. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/__init__.py +0 -0
  349. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/restart_vms.py +0 -0
  350. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/rootca_edge_migration_stats.py +0 -0
  351. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/rootca_edge_rotate_certs.py +0 -0
  352. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/rootca_migrate.py +0 -0
  353. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/rootca_migrate_edge.py +0 -0
  354. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/vmm/rootca_template_migration_stats.py +0 -0
  355. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/workflows/__init__.py +0 -0
  356. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/cmds/workflows/mqtt-endpoints.py +0 -0
  357. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/config/__init__.py +0 -0
  358. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/__init__.py +0 -0
  359. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/akka.blueprint.yml +0 -0
  360. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/app/__init__.py +0 -0
  361. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/app/manual.json +0 -0
  362. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/edge/__init__.py +0 -0
  363. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/edge/akka.json +0 -0
  364. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/edge/vsphere.json +0 -0
  365. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/hoc/lcm-capcalc.json.template +0 -0
  366. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/hoc/logs.jsont +0 -0
  367. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/hoc/no-spare.json.template +0 -0
  368. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/inventory/__init__.py +0 -0
  369. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/inventory/assign.json +0 -0
  370. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/inventory/deassign.json +0 -0
  371. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/iss/__init__.py +0 -0
  372. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/__init__.py +0 -0
  373. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/akka.json +0 -0
  374. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/azure-dummy.json +0 -0
  375. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/azure-real.json +0 -0
  376. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/lcm/edge-proxy.json +0 -0
  377. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/__init__.py +0 -0
  378. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/ad-stes-vsphere.json +0 -0
  379. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/akka.json +0 -0
  380. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/azure.json +0 -0
  381. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/edgeproxy.json +0 -0
  382. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/provider/vsphere.json +0 -0
  383. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/scm/starter.json +0 -0
  384. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/__init__.py +0 -0
  385. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/__init__.py +0 -0
  386. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p01-dummy-success.json +0 -0
  387. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p02-dummy-fail.json +0 -0
  388. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p03-dummy-exception.json +0 -0
  389. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p04-dummy-success-repeat.json +0 -0
  390. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p05-dummy-fail-repeat.json +0 -0
  391. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p06-dummy-exception-repeat.json +0 -0
  392. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p07-dummy-delay.json +0 -0
  393. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/core/p08-dummy-property.json +0 -0
  394. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/__init__.py +0 -0
  395. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p20-connect-success.json +0 -0
  396. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p21-connect-fail.json +0 -0
  397. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p30-ssl-success.json +0 -0
  398. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p31-ssl-fail.json +0 -0
  399. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p40-http-success.json +0 -0
  400. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p41-http-fail.json +0 -0
  401. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext/p42-http-status-code.json +0 -0
  402. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext1/__init__.py +0 -0
  403. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext1/p10-ping-success.json +0 -0
  404. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext1/p11-ping-fail.json +0 -0
  405. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/synt/ext1/p12-ping-success-repeat.json +0 -0
  406. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/payload/template/__init__.py +0 -0
  407. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/__init__.py +0 -0
  408. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/__init__.py +0 -0
  409. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/_prepare.py +0 -0
  410. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/ad.py +0 -0
  411. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/av_entitlement.py +0 -0
  412. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/av_fs.py +0 -0
  413. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/cert.py +0 -0
  414. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/edge.py +0 -0
  415. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/entitlement.py +0 -0
  416. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/gold_pattern.py +0 -0
  417. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/identity_provider.py +0 -0
  418. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/image.py +0 -0
  419. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/import_av_app.py +0 -0
  420. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/manual_app.py +0 -0
  421. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/pool_group.py +0 -0
  422. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/pool_template.py +0 -0
  423. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/provider.py +0 -0
  424. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/runtime/__init__.py +0 -0
  425. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/runtime/password.py +0 -0
  426. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/runtime/wait_for.py +0 -0
  427. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/site.py +0 -0
  428. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/provider/hcs/uag.py +0 -0
  429. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/__init__.py +0 -0
  430. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/ad.py +0 -0
  431. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/azure_infra.py +0 -0
  432. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/edge.py +0 -0
  433. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/helper.py +0 -0
  434. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/provider.py +0 -0
  435. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/template.py +0 -0
  436. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/uag.py +0 -0
  437. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/admin/vm.py +0 -0
  438. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/api.py +0 -0
  439. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/app_management/__init__.py +0 -0
  440. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/app_management/manual_app.py +0 -0
  441. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/auth/__init__.py +0 -0
  442. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/auth/admin.py +0 -0
  443. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/av/__init__.py +0 -0
  444. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/av/app.py +0 -0
  445. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/av/avimport.py +0 -0
  446. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/av/entitlements.py +0 -0
  447. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/av/fileshare.py +0 -0
  448. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/clouddriver/__init__.py +0 -0
  449. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/clouddriver/provider.py +0 -0
  450. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/clouddriver/service.py +0 -0
  451. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/credential/__init__.py +0 -0
  452. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/credential/credential.py +0 -0
  453. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/credential/nls.py +0 -0
  454. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/cs/__init__.py +0 -0
  455. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/cs/base.py +0 -0
  456. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/csp.py +0 -0
  457. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/diagnostics/__init__.py +0 -0
  458. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/diagnostics/edge.py +0 -0
  459. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/edge.py +0 -0
  460. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/edgehub/__init__.py +0 -0
  461. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/edgehub/edgecontroller.py +0 -0
  462. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/edgehub/edgetwin.py +0 -0
  463. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/graphql.py +0 -0
  464. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/hoc/__init__.py +0 -0
  465. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/hoc/diagnostic.py +0 -0
  466. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/hoc/es.py +0 -0
  467. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/__init__.py +0 -0
  468. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/gold_pattern.py +0 -0
  469. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/helper.py +0 -0
  470. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/image_copies.py +0 -0
  471. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/images.py +0 -0
  472. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/ims/version.py +0 -0
  473. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/inventory/__init__.py +0 -0
  474. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/inventory/session.py +0 -0
  475. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/iss/__init__.py +0 -0
  476. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/iss/mqtt.py +0 -0
  477. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/lcm/__init__.py +0 -0
  478. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/lcm/health.py +0 -0
  479. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/lcm/provider.py +0 -0
  480. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/lcm/template.py +0 -0
  481. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/lcm/vm.py +0 -0
  482. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/org_service/__init__.py +0 -0
  483. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/org_service/datacenter.py +0 -0
  484. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/org_service/details.py +0 -0
  485. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/org_service/orglocationmapping.py +0 -0
  486. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/pki/__init__.py +0 -0
  487. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/pki/certificate.py +0 -0
  488. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/pool.py +0 -0
  489. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/portal/__init__.py +0 -0
  490. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/portal/entitlement.py +0 -0
  491. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/portal/pool.py +0 -0
  492. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/portal/site.py +0 -0
  493. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/scm/__init__.py +0 -0
  494. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/scm/base.py +0 -0
  495. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/scm/operator.py +0 -0
  496. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/scm/plan.py +0 -0
  497. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/site.py +0 -0
  498. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/synt/__init__.py +0 -0
  499. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/synt/outpost.py +0 -0
  500. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/synt/probe.py +0 -0
  501. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/synt/report.py +0 -0
  502. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/template.py +0 -0
  503. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/tsctl/__init__.py +0 -0
  504. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/tsctl/base.py +0 -0
  505. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/tsctl/task.py +0 -0
  506. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/uag.py +0 -0
  507. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vm.py +0 -0
  508. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmhub/__init__.py +0 -0
  509. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmhub/credentials.py +0 -0
  510. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmhub/mqtt.py +0 -0
  511. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmm/__init__.py +0 -0
  512. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmm/dct.py +0 -0
  513. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/service/vmm/hoc_event.py +0 -0
  514. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/__init__.py +0 -0
  515. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/constant.py +0 -0
  516. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/debug_util.py +0 -0
  517. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/exec_util.py +0 -0
  518. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/inspect_util.py +0 -0
  519. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/log/message_parser.py +0 -0
  520. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/log/query_builder.py +0 -0
  521. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/param_util.py +0 -0
  522. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/patch_util.py +0 -0
  523. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/plan_util.py +0 -0
  524. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/predefined_payload.py +0 -0
  525. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/scm/html_util.py +0 -0
  526. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/scm/plan-editor.html.template +0 -0
  527. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/scm/plan_editor.py +0 -0
  528. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/template_util.py +0 -0
  529. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/test_utils.py +0 -0
  530. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/test_utils2.py +0 -0
  531. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/use_util.py +0 -0
  532. {hcs_cli-0.1.347 → hcs_cli-0.1.349}/hcs_cli/support/vm_table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hcs-cli
3
- Version: 0.1.347
3
+ Version: 0.1.349
4
4
  Summary: Horizon Cloud Service CLI.
5
5
  Project-URL: Homepage, https://github.com/euc-eng/hcs-cli
6
6
  Project-URL: Bug Tracker, https://github.com/euc-eng/hcs-cli/issues
@@ -14,9 +14,8 @@ Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
16
  Requires-Python: >=3.9
17
- Requires-Dist: hcs-core>=0.1.347
17
+ Requires-Dist: hcs-core>=0.1.350
18
18
  Requires-Dist: inquirerpy>=0.3.4
19
- Requires-Dist: matplotlib>=3.8.0
20
19
  Requires-Dist: paho-mqtt>=2.1.0
21
20
  Requires-Dist: reportlab>=4.0.0
22
21
  Provides-Extra: dev
@@ -1,3 +1,3 @@
1
- __version__ = "0.1.347"
1
+ __version__ = "0.1.349"
2
2
 
3
3
  from . import service as service # noqa: F401
@@ -0,0 +1,5 @@
1
+ """
2
+ Copyright © 2025-2026 Omnissa, LLC.
3
+ """
4
+
5
+ help = "Activity commands."
@@ -0,0 +1,22 @@
1
+ """
2
+ Copyright © 2025-2026 Omnissa, LLC.
3
+ """
4
+
5
+ import click
6
+ import hcs_core.sglib.cli_options as cli
7
+ from hcs_core.ctxp import recent
8
+
9
+ from hcs_cli.service import activity
10
+
11
+
12
+ @click.command()
13
+ @click.argument("id", type=str, required=False)
14
+ @cli.org_id
15
+ def get(id: str, org: str):
16
+ """Get activity by ID."""
17
+ cli.get_org_id(org)
18
+ id = recent.require("activity", id)
19
+ ret = activity.get(id)
20
+ if ret:
21
+ return ret
22
+ return ret, 1
@@ -0,0 +1,126 @@
1
+ """
2
+ Copyright © 2025-2026 Omnissa, LLC.
3
+ """
4
+
5
+ from datetime import timezone
6
+
7
+ import click
8
+ import hcs_core.sglib.cli_options as cli
9
+ import yumako
10
+ from hcs_core.ctxp import recent
11
+
12
+ from hcs_cli.service import activity
13
+
14
+ _SEARCH_OPTS = (
15
+ ("edge", "edgeId"),
16
+ ("edge_name", "edgeName"),
17
+ ("site", "siteId"),
18
+ ("site_name", "siteName"),
19
+ ("type", "type"),
20
+ ("operation", "operation"),
21
+ ("resource", "resourceId"),
22
+ ("trace", "traceId"),
23
+ ("parent", "parentId"),
24
+ ("status", "status"),
25
+ ("severity", "severity"),
26
+ )
27
+
28
+
29
+ def _format_time(time: str) -> str:
30
+ dt = yumako.time.of(time, tz=timezone.utc)
31
+ return dt.strftime("%Y-%m-%dT%H:%M:%S.") + f"{dt.microsecond // 1000:03d}Z"
32
+
33
+
34
+ def _build_search(**filters):
35
+ parts = []
36
+ for arg, field in _SEARCH_OPTS:
37
+ val = filters.get(arg)
38
+ if val:
39
+ parts.append(f"{field} $eq {val}")
40
+ return " AND ".join(parts) if parts else None
41
+
42
+
43
+ @click.command()
44
+ @click.option(
45
+ "--from",
46
+ "from_param",
47
+ type=str,
48
+ required=False,
49
+ default="-24h",
50
+ help="From date. E.g. '-1d', '-1h35m', '-1w', or '2023-12-04T00:19:22.854Z'.",
51
+ )
52
+ @click.option(
53
+ "--to",
54
+ type=str,
55
+ required=False,
56
+ default="now",
57
+ help="To date. E.g. 'now', '-1d', '-1h35m', '-1w', or '2023-12-04T00:19:22.854Z'.",
58
+ )
59
+ @click.option("--edge", type=str, required=False, help="Filter by edgeId.")
60
+ @click.option("--edge-name", type=str, required=False, help="Filter by edgeName.")
61
+ @click.option("--site", type=str, required=False, help="Filter by siteId.")
62
+ @click.option("--site-name", type=str, required=False, help="Filter by siteName.")
63
+ @click.option("--type", "type", type=str, required=False, help="Filter by type (AUDIT, SYSTEM).")
64
+ @click.option("--operation", type=str, required=False, help="Filter by operation.")
65
+ @click.option("--resource", type=str, required=False, help="Filter by resourceId.")
66
+ @click.option("--trace", type=str, required=False, help="Filter by traceId.")
67
+ @click.option("--parent", type=str, required=False, help="Filter by parentId.")
68
+ @click.option("--status", type=str, required=False, help="Filter by status.")
69
+ @click.option("--severity", type=str, required=False, help="Filter by severity.")
70
+ @cli.limit(default=20)
71
+ @cli.org_id
72
+ @cli.formatter(
73
+ columns={
74
+ "id": "Id",
75
+ "utcTimestamp": "Time",
76
+ "type": "Type",
77
+ "operation": "Operation",
78
+ "status": "Status",
79
+ "severity": "Severity",
80
+ "resourceName": "Resource",
81
+ "edgeName": "Edge",
82
+ "siteName": "Site",
83
+ }
84
+ )
85
+ def list(
86
+ org: str,
87
+ from_param: str,
88
+ to: str,
89
+ edge: str,
90
+ edge_name: str,
91
+ site: str,
92
+ site_name: str,
93
+ type: str,
94
+ operation: str,
95
+ resource: str,
96
+ trace: str,
97
+ parent: str,
98
+ status: str,
99
+ severity: str,
100
+ limit: int,
101
+ ):
102
+ """List activities."""
103
+ org_id = cli.get_org_id(org)
104
+ search = _build_search(
105
+ edge=edge,
106
+ edge_name=edge_name,
107
+ site=site,
108
+ site_name=site_name,
109
+ type=type,
110
+ operation=operation,
111
+ resource=resource,
112
+ trace=trace,
113
+ parent=parent,
114
+ status=status,
115
+ severity=severity,
116
+ )
117
+ kwargs = {
118
+ "start_date": _format_time(from_param),
119
+ "end_date": _format_time(to),
120
+ "limit": limit,
121
+ }
122
+ if search:
123
+ kwargs["search"] = search
124
+ ret = activity.list(org_id, **kwargs)
125
+ recent.helper.default_list(ret, "activity")
126
+ return ret
@@ -22,7 +22,10 @@ Hence we cannot add subscription to the feature stack, work around is to directl
22
22
 
23
23
  def createLicenseFeatures():
24
24
  current_profile = profile.current()
25
- org_id = os.getenv("ORG_ID", current_profile.csp.orgId)
25
+ # Prefer the (freshly synced) profile over a raw ORG_ID env var, which can
26
+ # otherwise silently win with a stale value left over from a previous
27
+ # org's onboarding in the same shell.
28
+ org_id = current_profile.csp.orgId or os.getenv("ORG_ID")
26
29
  data = {
27
30
  "licenses": [
28
31
  {
@@ -1,3 +1,4 @@
1
+ import hashlib
1
2
  import os
2
3
  import uuid
3
4
 
@@ -46,6 +47,29 @@ def _get_client():
46
47
  return client, current_profile
47
48
 
48
49
 
50
+ def _resolve_org_id(current_profile) -> str:
51
+ """Resolve the org id, preferring the (freshly synced) profile over a raw
52
+ ORG_ID env var. A shell-exported ORG_ID left over from a previous org's
53
+ onboarding would otherwise silently win here and target the wrong org.
54
+ """
55
+ org_id = current_profile.csp.orgId or os.getenv("ORG_ID")
56
+ log.trivial(f"Using org id: {org_id}")
57
+ return org_id
58
+
59
+
60
+ def _derive_sid(org_id: str) -> str:
61
+ """Derive a stable, subscription-service-unique sid from the org id.
62
+
63
+ The subscription service enforces a unique index on `sid`, so a fixed
64
+ literal here would collide as soon as a second org is onboarded onto the
65
+ same feature stack. Deriving it from org_id keeps reruns for the same org
66
+ idempotent while giving each distinct org its own subscription.
67
+ """
68
+ digest = hashlib.sha256(org_id.encode()).hexdigest()
69
+ numeric = str(int(digest[:12], 16))[-9:].rjust(9, "0")
70
+ return f"M{numeric}"
71
+
72
+
49
73
  def create_subscription():
50
74
  """
51
75
  Step 8.1 – Create a subscription.
@@ -54,11 +78,12 @@ def create_subscription():
54
78
  """
55
79
  client, current_profile = _get_client()
56
80
  namespace = profile.name()
81
+ org_id = _resolve_org_id(current_profile)
57
82
 
58
83
  data = {
59
84
  "customerName": f"{namespace}-dev",
60
85
  "customerType": "INTERNAL",
61
- "sid": "M222222222",
86
+ "sid": _derive_sid(org_id),
62
87
  "eaId": "123456789",
63
88
  "status": "ACTIVE",
64
89
  "region": "NA",
@@ -110,7 +135,7 @@ def create_org_mapping(hcs_subscription_id: str):
110
135
  POST /subscription/v1/subscriptions/{{hcsSubscriptionId}}?action=createOrgMapping
111
136
  """
112
137
  client, current_profile = _get_client()
113
- org_id = os.getenv("ORG_ID", current_profile.csp.orgId)
138
+ org_id = _resolve_org_id(current_profile)
114
139
  ws1_org_id = str(uuid.uuid4())
115
140
 
116
141
  data = {
@@ -64,15 +64,27 @@ ALL_DEPLOY_STEPS = list(DEPLOY_TARGET_STEPS.values())
64
64
  def init(org: str, env_source: str, env_file: str, deploy: str, step: str, fs_name: str, delete_temp_files: bool, **kwargs):
65
65
  """Initialize feature stack with common settings and infrastructure."""
66
66
 
67
- if org:
68
- os.environ["ORG_ID"] = org
69
-
70
67
  if not fs_name:
71
68
  fs_name = profile.name()
72
69
 
73
70
  if fs_name == "default":
74
71
  fail("Usage: hcs dev fs init <YOUR_FEATURE_STACK_ID>")
75
72
 
73
+ if org:
74
+ os.environ["ORG_ID"] = org
75
+ # Keep the profile itself in sync with an explicit --org, so every step
76
+ # (including single-step reruns via --step, which skip prepare_profile)
77
+ # reads the intended org from the profile rather than risking a stale
78
+ # ORG_ID left over in the shell from a previous org onboarding.
79
+ if profile.exists(fs_name):
80
+ if profile.name() != fs_name:
81
+ profile.use(fs_name)
82
+ current = profile.current()
83
+ if current.csp.orgId != org:
84
+ log.warn(f"Updating profile '{fs_name}' orgId to {org} (from --org).")
85
+ current.csp.orgId = org
86
+ profile.save()
87
+
76
88
  steps.set_delete_temp_files(delete_temp_files)
77
89
 
78
90
  if step is None:
@@ -61,14 +61,17 @@ from hcs_cli.support.vm_table import format_vm_table
61
61
  required=False,
62
62
  help="Filter by UEM enrollment status.",
63
63
  )
64
+ @click.option("--include-sessions", "includeSessions", is_flag=True, required=False, help="Include sessions in the response.")
64
65
  @click.argument("template_id", type=str, required=False)
65
66
  @cli.formatter(format_vm_table)
66
- def list(org: str, template_id: str, **kwargs):
67
+ def list(org: str, template_id: str, includeSessions: bool, **kwargs):
67
68
  """List template VMs"""
68
69
  template_id = recent.require("template", template_id)
69
70
  fields = _trick_capture_field_option()
70
71
  if fields:
71
72
  kwargs["fields"] = fields
73
+ if includeSessions:
74
+ kwargs["includeSessions"] = True
72
75
  ret = inventory.list(template_id, cli.get_org_id(org), **kwargs)
73
76
  recent.helper.default_list(ret, "vm")
74
77
  if not ret:
@@ -0,0 +1,82 @@
1
+ """
2
+ Copyright © 2025 Omnissa, LLC.
3
+ """
4
+
5
+ import click
6
+ from hcs_core.sglib import cli_options as cli
7
+
8
+ from hcs_cli.support.log import env
9
+ from hcs_cli.support.log import search as log_search
10
+
11
+
12
+ @click.command()
13
+ @click.option(
14
+ "--from",
15
+ "from_param",
16
+ type=str,
17
+ required=False,
18
+ default="-24h",
19
+ help="Sepcify the from date. E.g. '-1d', or '-1h35m', or '-1w', or '2023-12-04T00:19:22.854Z'.",
20
+ )
21
+ @click.option(
22
+ "--to",
23
+ type=str,
24
+ required=False,
25
+ default="now",
26
+ help="Sepcify the to date. E.g. 'now', or '-1d', or '-1h35m', or '-1w', or '2023-12-04T00:19:22.854Z'.",
27
+ )
28
+ @click.option("--hdc", required=False, type=click.Choice(env.HDCS, case_sensitive=False), help="The HDC location.")
29
+ @click.option(
30
+ "--region",
31
+ required=False,
32
+ type=click.Choice(env.REGIONS, case_sensitive=False),
33
+ help="Search log of regional cluster.",
34
+ )
35
+ @click.option(
36
+ "--service",
37
+ required=False,
38
+ help="Filter by kubernetes.pod_labels.app. If multiple apps, use comma to separate, e.g. --service inventory,lcm",
39
+ )
40
+ @click.option(
41
+ "--pod",
42
+ required=False,
43
+ help="Filter by kubernetes.pod_name. If multiple pods, use comma to separate, e.g. --pod clouddriver-statefulset-0,clouddriver-statefulset-1",
44
+ )
45
+ @click.option(
46
+ "--index",
47
+ required=False,
48
+ type=str,
49
+ help="Explicit ES index/index-pattern to query, overriding the --hdc-derived lookup. "
50
+ "E.g. --index 'prod110-r-japaneast-cp102-*' to search precisely for a single regional cluster.",
51
+ )
52
+ @cli.limit(default=20)
53
+ @click.option("--raw", is_flag=True, default=False, help="If raw, output the raw result.")
54
+ @click.argument("query", type=str, required=False)
55
+ def log(
56
+ from_param: str,
57
+ to: str,
58
+ hdc: str,
59
+ region: str,
60
+ service: str,
61
+ pod: str,
62
+ index: str,
63
+ limit: int,
64
+ raw: bool,
65
+ query: str,
66
+ ):
67
+ """Search Kibana Log."""
68
+ try:
69
+ return log_search.search(
70
+ query=query,
71
+ from_time=from_param,
72
+ to=to,
73
+ hdc=hdc,
74
+ region=region,
75
+ service=service,
76
+ pod=pod,
77
+ index=index,
78
+ limit=limit,
79
+ raw=raw,
80
+ )
81
+ except log_search.Error as e:
82
+ return str(e), 1
@@ -0,0 +1,14 @@
1
+ """
2
+ Copyright © 2025-2026 Omnissa, LLC.
3
+ """
4
+
5
+ import click
6
+
7
+
8
+ @click.command("mcp", hidden=True)
9
+ def mcp():
10
+ """Run HCS MCP server (stdio). Tools: log, <resource>_list, <resource>_get."""
11
+
12
+ from hcs_cli.mcp import server as mcp_server
13
+
14
+ mcp_server.run()
@@ -18,7 +18,19 @@ import hcs_cli.support.profile as profile_support
18
18
  @click.option("--api-token", type=str, required=False, help="Set initial property")
19
19
  @click.option("--basic", type=str, required=False, help="Set initial property")
20
20
  @click.option("--copy", type=str, required=False, help="Copy an existing profile to a new profile with the given name.")
21
- def init(name: str, dev: bool, feature_stack: str, org: str, client_id: str, client_secret: str, api_token: str, basic: str, copy: str):
21
+ @click.option("--readonly", is_flag=True, default=False, help="Set profile readonly=true.")
22
+ def init(
23
+ name: str,
24
+ dev: bool,
25
+ feature_stack: str,
26
+ org: str,
27
+ client_id: str,
28
+ client_secret: str,
29
+ api_token: str,
30
+ basic: str,
31
+ copy: str,
32
+ readonly: bool,
33
+ ):
22
34
  """Init profile.
23
35
 
24
36
  Examples:
@@ -51,6 +63,8 @@ def init(name: str, dev: bool, feature_stack: str, org: str, client_id: str, cli
51
63
  csp["apiToken"] = api_token
52
64
  if basic:
53
65
  csp["basic"] = basic
66
+ if readonly:
67
+ data["readonly"] = True
54
68
  return data
55
69
 
56
70
  data = None
@@ -554,6 +554,9 @@ def get_logs(org: str, namespace: str, group: str, smart_path: str, last: bool,
554
554
  if state and last:
555
555
  return "--state cannot be used with --last.", 1
556
556
 
557
+ if search:
558
+ return "--search is not supported by the tsctl v2 task-logs API. Use --state instead.", 1
559
+
557
560
  if last and org is None:
558
561
  org_id = cli.get_org_id(org)
559
562
  elif org == "all" or org is None:
@@ -562,15 +565,6 @@ def get_logs(org: str, namespace: str, group: str, smart_path: str, last: bool,
562
565
  org_id = cli.get_org_id(org)
563
566
 
564
567
  state_list = _parse_state_values(state)
565
- if state_list:
566
- if search:
567
- if search.find("state $") >= 0:
568
- return "--state cannot be used with state criteria in --search together.", 1
569
- state_search = "state $in " + ",".join(state_list)
570
- if search:
571
- search = f"({search}) AND ({state_search})"
572
- else:
573
- search = state_search
574
568
 
575
569
  if last:
576
570
  t = task.last(org_id, namespace, group, key)
@@ -579,7 +573,7 @@ def get_logs(org: str, namespace: str, group: str, smart_path: str, last: bool,
579
573
  else:
580
574
  return
581
575
  else:
582
- return task.logs(org_id, namespace, group, key, search, **kwargs)
576
+ return task.logs(org_id, namespace, group, key, states=state_list, **kwargs)
583
577
 
584
578
 
585
579
  @task_cmd_group.command()
@@ -721,9 +715,7 @@ def duplicate(org: str, namespace: str, group: str, smart_path: str, at: str, **
721
715
  scheduled_ms = now_ms + int(delta_seconds * 1000)
722
716
 
723
717
  if scheduled_ms > now_ms:
724
- new_task.schedule = task.Schedule(initialDelayMs=scheduled_ms)
725
- else:
726
- new_task.schedule = None # run immediately
718
+ raise CtxpException("--at in the future is not supported: the tsctl v2 submit API has no delay/schedule parameter.")
727
719
 
728
720
  return task.create(org_id, namespace, new_task)
729
721
 
@@ -21,7 +21,8 @@ def poweron(vm_path: str, org: str, wait: str, **kwargs):
21
21
 
22
22
  data = vm.get()
23
23
  if not data:
24
- return "VM not found", 1
24
+ return f"VM {vm_path} not found", 1
25
+
25
26
  state = data["powerState"]
26
27
  if state == "PoweredOn":
27
28
  return data
@@ -45,6 +46,9 @@ def poweroff(vm_path: str, org: str, wait: str, **kwargs):
45
46
  vm = VM(org_id, template_id, vm_id)
46
47
 
47
48
  data = vm.get()
49
+ if not data:
50
+ return f"VM {vm_path} not found", 1
51
+
48
52
  state = data["powerState"]
49
53
  if state == "PoweredOff":
50
54
  return data
@@ -68,7 +72,9 @@ def restart(vm_path: str, org: str, wait: str, **kwargs):
68
72
  org_id = cli.get_org_id(org)
69
73
  vm = VM(org_id, template_id, vm_id)
70
74
 
71
- vm.restart()
75
+ ret = vm.restart()
76
+ if not ret:
77
+ return "", 1
72
78
 
73
79
  if wait != "0":
74
80
  return vm.wait_for_power_state("PoweredOn", timeout=wait)
@@ -85,7 +91,9 @@ def shutdown(vm_path: str, org: str, wait: str, **kwargs):
85
91
  org_id = cli.get_org_id(org)
86
92
  vm = VM(org_id, template_id, vm_id)
87
93
 
88
- vm.shutdown()
94
+ ret = vm.shutdown()
95
+ if not ret:
96
+ return "", 1
89
97
 
90
98
  if wait != "0":
91
99
  return vm.wait_for_power_state("PoweredOff", timeout=wait)
@@ -102,7 +110,9 @@ def resize(vm_path: str, org: str, wait: str, **kwargs):
102
110
  org_id = cli.get_org_id(org)
103
111
  vm = VM(org_id, template_id, vm_id)
104
112
 
105
- vm.resize()
113
+ ret = vm.resize()
114
+ if not ret:
115
+ return "", 1
106
116
 
107
117
  if wait != "0":
108
118
  print("TODO: wait")
@@ -120,7 +130,9 @@ def rebuild(vm_path: str, org: str, wait: str, **kwargs):
120
130
  org_id = cli.get_org_id(org)
121
131
  vm = VM(org_id, template_id, vm_id)
122
132
 
123
- vm.rebuild()
133
+ ret = vm.rebuild()
134
+ if not ret:
135
+ return "", 1
124
136
 
125
137
  if wait != "0":
126
138
  print("TODO: wait")
@@ -137,7 +149,10 @@ def pair(vm_path: str, org: str, wait: str, **kwargs):
137
149
  org_id = cli.get_org_id(org)
138
150
  vm = VM(org_id, template_id, vm_id)
139
151
 
140
- vm.pair()
152
+ ret = vm.pair()
153
+ if not ret:
154
+ return "", 1
155
+
141
156
  if wait != "0":
142
157
  print("TODO: wait")
143
158
 
@@ -5,6 +5,7 @@
5
5
 
6
6
  prod:
7
7
  description: Production
8
+ readonly: false
8
9
  azure-region: WestUS2
9
10
  env: prod-na-cp102
10
11
  portal-url:
@@ -12,8 +13,6 @@ prod:
12
13
  - https://cloud.omnissahorizon.com/
13
14
  hcs:
14
15
  url: https://cloud-sg.horizon.omnissa.com
15
- edgehub:
16
- url: https://hv2-cloud-us-2.horizon.omnissa.com
17
16
  hdcs:
18
17
  US:
19
18
  url: https://cloud-sg-us.horizon.omnissa.com
@@ -108,8 +107,6 @@ stg:
108
107
  - https://staging1-cp102.horizon.omnissa.com/
109
108
  hcs:
110
109
  url: https://staging1-northcentralus-cp102.horizon.omnissa.com/
111
- edgehub:
112
- url: https://test-hv2-cloud-us-2.horizon.omnissa.com
113
110
  hdcs:
114
111
  US:
115
112
  url: https://staging1-northcentralus-cp102.horizon.omnissa.com/
@@ -142,8 +139,6 @@ bat:
142
139
  portal-url: []
143
140
  hcs:
144
141
  url: https://dev1b-westus2-cp102.azcp.horizon.omnissa.com/
145
- edgehub:
146
- url: https://dev-westus2-cp101.azcp.horizon.omnissa.com
147
142
  hdcs:
148
143
  US:
149
144
  url: https://dev1b-westus2-cp102.azcp.horizon.omnissa.com/
@@ -161,8 +156,6 @@ int:
161
156
  portal-url: []
162
157
  hcs:
163
158
  url: https://dev1b-westus2-cp103.azcp.horizon.omnissa.com/
164
- edgehub:
165
- url: https://dev-westus2-cp101.azcp.horizon.omnissa.com
166
159
  hdcs:
167
160
  US:
168
161
  url: https://dev1b-westus2-cp103.azcp.horizon.omnissa.com/
@@ -180,8 +173,6 @@ chaos:
180
173
  portal-url: []
181
174
  hcs:
182
175
  url: https://dev1b-westus2-cp104.azcp.horizon.omnissa.com/
183
- edgehub:
184
- url: https://dev-westus2-cp101.azcp.horizon.omnissa.com
185
176
  hdcs:
186
177
  US:
187
178
  url: https://dev1b-westus2-cp104.azcp.horizon.omnissa.com/
@@ -199,8 +190,6 @@ stress:
199
190
  portal-url: []
200
191
  hcs:
201
192
  url: https://stress1b-westus2-cp102.azcp.horizon.omnissa.com/
202
- edgehub:
203
- url: https://stress1-westus2-cp101.azcp.horizon.omnissa.com
204
193
  hdcs:
205
194
  US:
206
195
  url: https://stress1b-westus2-cp102.azcp.horizon.omnissa.com/
@@ -221,8 +210,6 @@ sg-master:
221
210
  portal-url: []
222
211
  hcs:
223
212
  url: https://horizonv2-sg.devframe.cp.horizon.omnissa.com/
224
- edgehub:
225
- url: https://horizonv2-em.devframe.cp.horizon.omnissa.com/
226
213
  hdcs:
227
214
  US:
228
215
  url: https://horizonv2-sg.devframe.cp.horizon.omnissa.com/
@@ -240,8 +227,6 @@ hm-master:
240
227
  portal-url: []
241
228
  hcs:
242
229
  url: https://horizonv2-monitoring.devframe.cp.horizon.omnissa.com/
243
- edgehub:
244
- url: https://horizonv2-em.devframe.cp.horizon.omnissa.com/
245
230
  hdcs:
246
231
  US:
247
232
  url: https://horizonv2-monitoring.devframe.cp.horizon.omnissa.com/
@@ -252,6 +237,23 @@ hm-master:
252
237
  mqtt:
253
238
  edgehub:
254
239
  url: https://horizonv2-em.devframe.cp.horizon.omnissa.com/
240
+ cps-admin:
241
+ description: Component Stack - Admin
242
+ hcs:
243
+ url: https://admin-component-nightly-tests-component-nightly.devframe.cp.horizon.omnissa.com
244
+ cps-agentmanager:
245
+ description: Component Stack - Agent Manager
246
+ hcs:
247
+ url: https://agentmanager-stack-component-nightly.devframe.cp.horizon.omnissa.com
248
+ cps-connect:
249
+ description: Component Stack - Connect
250
+ hcs:
251
+ url: https://conect-new-test-component-nightly.devframe.cp.horizon.omnissa.com
252
+ cps-lcm:
253
+ description: Component Stack - LCM
254
+ hcs:
255
+ url: https://lcm-stack-component-nightly.devframe.cp.horizon.omnissa.com
256
+
255
257
  hoc:
256
258
  es:
257
259
  us:
@@ -82,12 +82,29 @@ def cli(profile: str, hdc: str, no_upgrade_check: bool, no_telemetry: bool, **kw
82
82
 
83
83
  profile_support.ensure_default_production_profile()
84
84
 
85
+ _apply_readonly()
86
+
87
+
88
+ def _apply_readonly():
89
+ data = ctxp.profile.current(exit_on_failure=False)
90
+ if not data:
91
+ return
92
+ is_readonly = data.get("readonly")
93
+ if isinstance(is_readonly, str):
94
+ is_readonly = is_readonly.strip().lower() in ("1", "true", "yes")
95
+ else:
96
+ is_readonly = bool(is_readonly)
97
+ if is_readonly:
98
+ from hcs_cli.support import readonly as readonly_support
99
+
100
+ ez_client.set_readonly(True, readonly_support.ALLOW_PATHS)
101
+
85
102
 
86
103
  def _check_upgrade():
87
104
  check_flag_from_env = env.bool("HCS_CLI_CHECK_UPGRADE", True)
88
105
  if not check_flag_from_env:
89
106
  return
90
- if len(sys.argv) > 1 and sys.argv[1] == "upgrade":
107
+ if len(sys.argv) > 1 and sys.argv[1] in ("upgrade", "mcp"):
91
108
  return
92
109
  from hcs_core.util.versions import check_upgrade
93
110