hcs-cli 0.1.316__tar.gz → 0.1.318__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 (501) hide show
  1. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/PKG-INFO +2 -2
  2. hcs_cli-0.1.318/hcs_cli/__init__.py +3 -0
  3. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/api.py +5 -3
  4. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/start.py +2 -2
  5. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/license_info.py +36 -12
  6. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/onboard.py +35 -1
  7. hcs_cli-0.1.318/hcs_cli/cmds/inventory/assign.py +145 -0
  8. hcs_cli-0.1.318/hcs_cli/cmds/inventory/deassign.py +64 -0
  9. hcs_cli-0.1.318/hcs_cli/cmds/inventory/logoff.py +110 -0
  10. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/session.py +2 -2
  11. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/operator.py +2 -2
  12. hcs_cli-0.1.318/hcs_cli/cmds/template/expand.py +65 -0
  13. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/edge.py +89 -83
  14. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/uag.py +5 -0
  15. hcs_cli-0.1.318/hcs_cli/service/inventory/__init__.py +2 -0
  16. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/inventory/session.py +23 -7
  17. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/pyproject.toml +1 -1
  18. hcs_cli-0.1.316/hcs_cli/__init__.py +0 -3
  19. hcs_cli-0.1.316/hcs_cli/cmds/inventory/assign.py +0 -99
  20. hcs_cli-0.1.316/hcs_cli/cmds/inventory/deassign.py +0 -47
  21. hcs_cli-0.1.316/hcs_cli/cmds/inventory/logoff.py +0 -32
  22. hcs_cli-0.1.316/hcs_cli/service/inventory/__init__.py +0 -2
  23. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/.gitignore +0 -0
  24. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/README.md +0 -0
  25. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/__main__.py +0 -0
  26. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/__init__.py +0 -0
  27. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/__init__.py +0 -0
  28. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/create.py +0 -0
  29. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/delete.py +0 -0
  30. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/get.py +0 -0
  31. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/list.py +0 -0
  32. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/__init__.py +0 -0
  33. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/azure_infra/__init__.py +0 -0
  34. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/azure_infra/main.py +0 -0
  35. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/__init__.py +0 -0
  36. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/advisor_utils.py +0 -0
  37. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/config/__init__.py +0 -0
  38. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/config/advisor_config.py +0 -0
  39. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/html_utils.py +0 -0
  40. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/org.py +0 -0
  41. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/pdf_utils.py +0 -0
  42. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/pool.py +0 -0
  43. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/recommendation_engine.py +0 -0
  44. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/__init__.py +0 -0
  45. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/create.py +0 -0
  46. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/delete.py +0 -0
  47. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/get.py +0 -0
  48. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/list.py +0 -0
  49. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/update.py +0 -0
  50. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/use.py +0 -0
  51. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/__init__.py +0 -0
  52. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/__init__.py +0 -0
  53. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/get_org_idp_map.py +0 -0
  54. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/network/__init__.py +0 -0
  55. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/network/add.py +0 -0
  56. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/user/__init__.py +0 -0
  57. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/user/list.py +0 -0
  58. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/__init__.py +0 -0
  59. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/provider.py +0 -0
  60. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/summary.py +0 -0
  61. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/task.py +0 -0
  62. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/credential/__init__.py +0 -0
  63. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/credential/get.py +0 -0
  64. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/cs/__init__.py +0 -0
  65. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/cs/base.py +0 -0
  66. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/__init__.py +0 -0
  67. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/__init__.py +0 -0
  68. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/basic.py +0 -0
  69. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/plan.py +0 -0
  70. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/__init__.py +0 -0
  71. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/create.py +0 -0
  72. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/delete.py +0 -0
  73. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/list.py +0 -0
  74. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/update.py +0 -0
  75. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/__init__.py +0 -0
  76. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/consumption.py +0 -0
  77. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/create.py +0 -0
  78. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/plan.py +0 -0
  79. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/__init__.py +0 -0
  80. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/prepare.py +0 -0
  81. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/reset.py +0 -0
  82. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/__init__.py +0 -0
  83. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/emqx.py +0 -0
  84. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/__init__.py +0 -0
  85. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/auth.py +0 -0
  86. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/clear.py +0 -0
  87. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/__init__.py +0 -0
  88. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/credential_helper.py +0 -0
  89. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/jenkins_util.py +0 -0
  90. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/k8s_util.py +0 -0
  91. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/required_fields.py +0 -0
  92. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/step_util.py +0 -0
  93. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/util.py +0 -0
  94. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/init.py +0 -0
  95. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/profiler.py +0 -0
  96. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/__init__.py +0 -0
  97. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/akka.plan.yml +0 -0
  98. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/azsim.plan.yml +0 -0
  99. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/azure.plan.yml +0 -0
  100. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/mqtt-secret.yaml +0 -0
  101. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml +0 -0
  102. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml +0 -0
  103. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json +0 -0
  104. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/tailor.py +0 -0
  105. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/mqtt.py +0 -0
  106. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/test.py +0 -0
  107. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/__init__.py +0 -0
  108. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/github_helper.py +0 -0
  109. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/log.py +0 -0
  110. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/mqtt_helper.py +0 -0
  111. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/diagnostics/__init__.py +0 -0
  112. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/diagnostics/diagnose.py +0 -0
  113. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/__init__.py +0 -0
  114. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/connection_string.py +0 -0
  115. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/create.py +0 -0
  116. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/delete.py +0 -0
  117. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/get.py +0 -0
  118. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/list.py +0 -0
  119. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/use.py +0 -0
  120. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/wait.py +0 -0
  121. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/__init__.py +0 -0
  122. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/delete.py +0 -0
  123. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/get.py +0 -0
  124. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/list.py +0 -0
  125. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/__init__.py +0 -0
  126. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/connect.py +0 -0
  127. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/oncall.py +0 -0
  128. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/org.py +0 -0
  129. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/search.py +0 -0
  130. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/template.py +0 -0
  131. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/util/__init__.py +0 -0
  132. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/util/inv_cache.py +0 -0
  133. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/vm.py +0 -0
  134. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/__init__.py +0 -0
  135. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/clean.py +0 -0
  136. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/__init__.py +0 -0
  137. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/health.py +0 -0
  138. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/perf.py +0 -0
  139. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/scale.py +0 -0
  140. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/installer.py +0 -0
  141. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/key.py +0 -0
  142. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/outpost.py +0 -0
  143. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/probe.py +0 -0
  144. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/report.py +0 -0
  145. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/test.py +0 -0
  146. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/__init__.py +0 -0
  147. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/delete.py +0 -0
  148. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/get.py +0 -0
  149. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/__init__.py +0 -0
  150. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/create.py +0 -0
  151. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/delete.py +0 -0
  152. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/get.py +0 -0
  153. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/list.py +0 -0
  154. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/list.py +0 -0
  155. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/list_copies.py +0 -0
  156. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/__init__.py +0 -0
  157. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/delete.py +0 -0
  158. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/get.py +0 -0
  159. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/list.py +0 -0
  160. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inspect.py +0 -0
  161. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/__init__.py +0 -0
  162. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/count.py +0 -0
  163. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/get.py +0 -0
  164. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/list.py +0 -0
  165. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/update.py +0 -0
  166. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/iss/__init__.py +0 -0
  167. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/iss/mqtt.py +0 -0
  168. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/__init__.py +0 -0
  169. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/health.py +0 -0
  170. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/__init__.py +0 -0
  171. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/create.py +0 -0
  172. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/delete.py +0 -0
  173. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/get.py +0 -0
  174. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/list.py +0 -0
  175. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/register.py +0 -0
  176. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/__init__.py +0 -0
  177. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/cancel.py +0 -0
  178. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/create.py +0 -0
  179. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/delete.py +0 -0
  180. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/get.py +0 -0
  181. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/health.py +0 -0
  182. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/list.py +0 -0
  183. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/provision.py +0 -0
  184. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/retry.py +0 -0
  185. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/update.py +0 -0
  186. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/use.py +0 -0
  187. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/wait.py +0 -0
  188. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/test.py +0 -0
  189. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/__init__.py +0 -0
  190. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/delete.py +0 -0
  191. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/get.py +0 -0
  192. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/pair.py +0 -0
  193. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/pairing_info.py +0 -0
  194. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/power.py +0 -0
  195. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/put.py +0 -0
  196. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/wait.py +0 -0
  197. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/login.py +0 -0
  198. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/logout.py +0 -0
  199. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/__init__.py +0 -0
  200. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/__init__.py +0 -0
  201. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/get.py +0 -0
  202. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/list.py +0 -0
  203. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/details/__init__.py +0 -0
  204. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/ff.py +0 -0
  205. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/get.py +0 -0
  206. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/list.py +0 -0
  207. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/location.py +0 -0
  208. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/use.py +0 -0
  209. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/__init__.py +0 -0
  210. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/ca.py +0 -0
  211. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/__init__.py +0 -0
  212. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/delete.py +0 -0
  213. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/get.py +0 -0
  214. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/sign.py +0 -0
  215. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/test.py +0 -0
  216. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/__init__.py +0 -0
  217. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/apply.py +0 -0
  218. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/clear.py +0 -0
  219. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/destroy.py +0 -0
  220. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/graph.py +0 -0
  221. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/input.py +0 -0
  222. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/output.py +0 -0
  223. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/resolve.py +0 -0
  224. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/use.py +0 -0
  225. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/__init__.py +0 -0
  226. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/delete.py +0 -0
  227. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/get.py +0 -0
  228. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/list.py +0 -0
  229. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/update.py +0 -0
  230. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/use.py +0 -0
  231. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/profile/__init__.py +0 -0
  232. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/profile/init.py +0 -0
  233. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/__init__.py +0 -0
  234. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/create.py +0 -0
  235. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/delete.py +0 -0
  236. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/get.py +0 -0
  237. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/golden_images.py +0 -0
  238. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/list.py +0 -0
  239. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/use.py +0 -0
  240. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/vsphere_dcs.py +0 -0
  241. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/query.py +0 -0
  242. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/__init__.py +0 -0
  243. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/health.py +0 -0
  244. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/plan.py +0 -0
  245. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/template.py +0 -0
  246. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/__init__.py +0 -0
  247. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/create.py +0 -0
  248. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/delete.py +0 -0
  249. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/get.py +0 -0
  250. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/list.py +0 -0
  251. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/set-edge.py +0 -0
  252. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/use.py +0 -0
  253. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/__init__.py +0 -0
  254. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/__init__.py +0 -0
  255. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/create.py +0 -0
  256. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/delete.py +0 -0
  257. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/get.py +0 -0
  258. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/list.py +0 -0
  259. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/update.py +0 -0
  260. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/__init__.py +0 -0
  261. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/create.py +0 -0
  262. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/delete.py +0 -0
  263. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/get.py +0 -0
  264. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/list.py +0 -0
  265. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/run.py +0 -0
  266. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/update.py +0 -0
  267. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/__init__.py +0 -0
  268. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/delete.py +0 -0
  269. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/get.py +0 -0
  270. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/list.py +0 -0
  271. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/task.py +0 -0
  272. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/__init__.py +0 -0
  273. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/create.py +0 -0
  274. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/delete.py +0 -0
  275. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/fix.py +0 -0
  276. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/get.py +0 -0
  277. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/list.py +0 -0
  278. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/list_usage.py +0 -0
  279. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/update.py +0 -0
  280. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/usage.py +0 -0
  281. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/use.py +0 -0
  282. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/wait.py +0 -0
  283. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/test.py +0 -0
  284. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/__init__.py +0 -0
  285. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/delete.py +0 -0
  286. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/get.py +0 -0
  287. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/list.py +0 -0
  288. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/upgrade.py +0 -0
  289. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/__init__.py +0 -0
  290. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/actions.py +0 -0
  291. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/delete.py +0 -0
  292. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/get.py +0 -0
  293. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/list.py +0 -0
  294. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/pairing_info.py +0 -0
  295. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/put.py +0 -0
  296. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/use.py +0 -0
  297. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/wait.py +0 -0
  298. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/__init__.py +0 -0
  299. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/info.py +0 -0
  300. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/__init__.py +0 -0
  301. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/redeem.py +0 -0
  302. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/request.py +0 -0
  303. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/__init__.py +0 -0
  304. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/restart_vms.py +0 -0
  305. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_edge_migration_stats.py +0 -0
  306. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_edge_rotate_certs.py +0 -0
  307. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_migrate.py +0 -0
  308. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_migrate_edge.py +0 -0
  309. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_template_migration_stats.py +0 -0
  310. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/workflows/__init__.py +0 -0
  311. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/workflows/mqtt-endpoints.py +0 -0
  312. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/config/__init__.py +0 -0
  313. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/config/hcs-deployments.yaml +0 -0
  314. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/main.py +0 -0
  315. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/__init__.py +0 -0
  316. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/akka.blueprint.yml +0 -0
  317. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/app/__init__.py +0 -0
  318. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/app/manual.json +0 -0
  319. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/__init__.py +0 -0
  320. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/akka.json +0 -0
  321. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/vsphere.json +0 -0
  322. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/hoc/no-spare.json.template +0 -0
  323. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/__init__.py +0 -0
  324. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/assign.json +0 -0
  325. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/deassign.json +0 -0
  326. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/iss/__init__.py +0 -0
  327. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/__init__.py +0 -0
  328. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/akka.json +0 -0
  329. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-dummy-nt.json +0 -0
  330. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-dummy.json +0 -0
  331. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-real.json +0 -0
  332. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/edge-proxy.json +0 -0
  333. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-dedicated.json +0 -0
  334. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-delay-1m-per-vm.json +0 -0
  335. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-destroy-onthread.json +0 -0
  336. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-destroy.json +0 -0
  337. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-prepare-onthread.json +0 -0
  338. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-prepare.json +0 -0
  339. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-vm-onthread.json +0 -0
  340. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-vm.json +0 -0
  341. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-floating.json +0 -0
  342. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-manual.json +0 -0
  343. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-multisession.json +0 -0
  344. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-nanw.json +0 -0
  345. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-5k-delay.json +0 -0
  346. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-5k.json +0 -0
  347. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-snapshot.json +0 -0
  348. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new.json +0 -0
  349. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-reuse-vm-id.json +0 -0
  350. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-with-max-id-offset.json +0 -0
  351. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero.json +0 -0
  352. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/__init__.py +0 -0
  353. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/ad-stes-vsphere.json +0 -0
  354. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/akka.json +0 -0
  355. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/azure.json +0 -0
  356. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/edgeproxy.json +0 -0
  357. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/vsphere.json +0 -0
  358. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/scm/starter.json +0 -0
  359. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/__init__.py +0 -0
  360. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/__init__.py +0 -0
  361. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p01-dummy-success.json +0 -0
  362. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p02-dummy-fail.json +0 -0
  363. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p03-dummy-exception.json +0 -0
  364. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p04-dummy-success-repeat.json +0 -0
  365. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p05-dummy-fail-repeat.json +0 -0
  366. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p06-dummy-exception-repeat.json +0 -0
  367. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p07-dummy-delay.json +0 -0
  368. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p08-dummy-property.json +0 -0
  369. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/__init__.py +0 -0
  370. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p20-connect-success.json +0 -0
  371. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p21-connect-fail.json +0 -0
  372. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p30-ssl-success.json +0 -0
  373. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p31-ssl-fail.json +0 -0
  374. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p40-http-success.json +0 -0
  375. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p41-http-fail.json +0 -0
  376. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p42-http-status-code.json +0 -0
  377. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/__init__.py +0 -0
  378. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p10-ping-success.json +0 -0
  379. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p11-ping-fail.json +0 -0
  380. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p12-ping-success-repeat.json +0 -0
  381. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/template/__init__.py +0 -0
  382. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/__init__.py +0 -0
  383. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/__init__.py +0 -0
  384. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/_prepare.py +0 -0
  385. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/ad.py +0 -0
  386. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/av_entitlement.py +0 -0
  387. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/av_fs.py +0 -0
  388. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/cert.py +0 -0
  389. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/entitlement.py +0 -0
  390. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/gold_pattern.py +0 -0
  391. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/identity_provider.py +0 -0
  392. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/image.py +0 -0
  393. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/import_av_app.py +0 -0
  394. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/manual_app.py +0 -0
  395. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/pool_group.py +0 -0
  396. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/pool_template.py +0 -0
  397. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/provider.py +0 -0
  398. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/__init__.py +0 -0
  399. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/password.py +0 -0
  400. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/wait_for.py +0 -0
  401. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/site.py +0 -0
  402. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/__init__.py +0 -0
  403. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/__init__.py +0 -0
  404. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/ad.py +0 -0
  405. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/azure_infra.py +0 -0
  406. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/edge.py +0 -0
  407. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/helper.py +0 -0
  408. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/provider.py +0 -0
  409. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/template.py +0 -0
  410. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/uag.py +0 -0
  411. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/vm.py +0 -0
  412. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/app_management/__init__.py +0 -0
  413. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/app_management/manual_app.py +0 -0
  414. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/auth/__init__.py +0 -0
  415. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/auth/admin.py +0 -0
  416. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/__init__.py +0 -0
  417. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/app.py +0 -0
  418. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/avimport.py +0 -0
  419. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/entitlements.py +0 -0
  420. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/fileshare.py +0 -0
  421. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/clouddriver/__init__.py +0 -0
  422. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/clouddriver/provider.py +0 -0
  423. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/__init__.py +0 -0
  424. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/credential.py +0 -0
  425. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/nls.py +0 -0
  426. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/cs/__init__.py +0 -0
  427. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/cs/base.py +0 -0
  428. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/csp.py +0 -0
  429. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/diagnostics/__init__.py +0 -0
  430. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/diagnostics/edge.py +0 -0
  431. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edge.py +0 -0
  432. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/__init__.py +0 -0
  433. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/edgecontroller.py +0 -0
  434. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/edgetwin.py +0 -0
  435. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/graphql.py +0 -0
  436. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/__init__.py +0 -0
  437. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/diagnostic.py +0 -0
  438. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/es.py +0 -0
  439. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/__init__.py +0 -0
  440. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/gold_pattern.py +0 -0
  441. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/helper.py +0 -0
  442. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/image_copies.py +0 -0
  443. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/images.py +0 -0
  444. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/version.py +0 -0
  445. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/inventory/vm.py +0 -0
  446. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/iss/__init__.py +0 -0
  447. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/iss/mqtt.py +0 -0
  448. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/__init__.py +0 -0
  449. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/health.py +0 -0
  450. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/provider.py +0 -0
  451. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/template.py +0 -0
  452. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/vm.py +0 -0
  453. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/__init__.py +0 -0
  454. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/datacenter.py +0 -0
  455. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/details.py +0 -0
  456. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/orglocationmapping.py +0 -0
  457. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pki/__init__.py +0 -0
  458. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pki/certificate.py +0 -0
  459. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pool.py +0 -0
  460. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/__init__.py +0 -0
  461. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/entitlement.py +0 -0
  462. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/pool.py +0 -0
  463. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/site.py +0 -0
  464. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/__init__.py +0 -0
  465. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/base.py +0 -0
  466. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/operator.py +0 -0
  467. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/plan.py +0 -0
  468. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/site.py +0 -0
  469. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/__init__.py +0 -0
  470. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/outpost.py +0 -0
  471. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/probe.py +0 -0
  472. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/report.py +0 -0
  473. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/task.py +0 -0
  474. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/template.py +0 -0
  475. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/__init__.py +0 -0
  476. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/base.py +0 -0
  477. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/task.py +0 -0
  478. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/uag.py +0 -0
  479. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vm.py +0 -0
  480. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/__init__.py +0 -0
  481. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/credentials.py +0 -0
  482. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/mqtt.py +0 -0
  483. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmm/__init__.py +0 -0
  484. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmm/hoc_event.py +0 -0
  485. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/__init__.py +0 -0
  486. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/constant.py +0 -0
  487. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/debug_util.py +0 -0
  488. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/exec_util.py +0 -0
  489. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/inspect_util.py +0 -0
  490. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/param_util.py +0 -0
  491. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/patch_util.py +0 -0
  492. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/plan_util.py +0 -0
  493. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/predefined_payload.py +0 -0
  494. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/profile.py +0 -0
  495. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/html_util.py +0 -0
  496. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/plan-editor.html.template +0 -0
  497. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/plan_editor.py +0 -0
  498. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/template_util.py +0 -0
  499. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/test_utils.py +0 -0
  500. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/use_util.py +0 -0
  501. {hcs_cli-0.1.316 → hcs_cli-0.1.318}/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.316
3
+ Version: 0.1.318
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,7 +14,7 @@ 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.316
17
+ Requires-Dist: hcs-core>=0.1.318
18
18
  Requires-Dist: inquirerpy>=0.3.4
19
19
  Requires-Dist: matplotlib>=3.8.0
20
20
  Requires-Dist: paho-mqtt>=2.1.0
@@ -0,0 +1,3 @@
1
+ __version__ = "0.1.318"
2
+
3
+ from . import service
@@ -134,13 +134,14 @@ def api(
134
134
  f"Method {method} does not support request body. Use --data or --json or STDIN only with POST, PUT, or PATCH methods."
135
135
  )
136
136
 
137
- if path.startswith(profile.current().hcs.url):
138
- path = path[len(profile.current().hcs.url) :]
137
+ hcs_url = profile.current().hcs.url
138
+ if path.startswith(hcs_url):
139
+ path = path[len(hcs_url) :]
139
140
  if not path.startswith("/"):
140
141
  path = "/" + path
141
142
 
142
143
  if not path.startswith("/"):
143
- raise click.UsageError("Path must start with a '/'. Please provide a valid context path.")
144
+ raise click.UsageError("Path must start with a '/'. Please provide a valid context path. Provided path=" + path)
144
145
 
145
146
  service_path = path.split("/")[1]
146
147
  api_path = path[len(service_path) + 1 :]
@@ -155,6 +156,7 @@ def api(
155
156
  headers = None
156
157
 
157
158
  # print( f"{method} {api_path} text={raw_data} json={json_data}" )
159
+
158
160
  if method == "GET":
159
161
  if all_pages:
160
162
 
@@ -52,7 +52,7 @@ def start(service: str, skip: bool, force: bool, **kwargs):
52
52
 
53
53
  def pod_forwarding(pod_id):
54
54
  print("Start forwarding pod")
55
- pod_forwarding_command = f"kubectl port-forward {pod_id} 10762:10762"
55
+ pod_forwarding_command = f"kubectl port-forward {pod_id} 5005:5005"
56
56
  global _forwarding_process
57
57
  _forwarding_process = subprocess.Popen(shlex.split(pod_forwarding_command), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
58
58
  print("Started forwarding pod. pid:", _forwarding_process.pid)
@@ -60,7 +60,7 @@ def pod_forwarding(pod_id):
60
60
 
61
61
  def run_with_debug(pod_id):
62
62
 
63
- run_app_command = f"kubectl exec -it {pod_id} -c app -- /bin/bash -c 'java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10762 -jar app.jar'"
63
+ run_app_command = f"kubectl exec -it {pod_id} -c app -- /bin/bash -c 'java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar'"
64
64
 
65
65
  # Execute the command
66
66
  process = subprocess.Popen(shlex.split(run_app_command), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -74,18 +74,42 @@ def createLicenseFeatures():
74
74
  log.trivial("Creating license features record for csp org id {}".format(org_id))
75
75
  client_id = os.environ.get("CSP_LICENSE_SVC_CLIENT_ID")
76
76
  client_secret = os.environ.get("CSP_LICENSE_SVC_CLIENT_SECRET")
77
- if not client_id:
78
- print("Using admin service credentials from current profile...") # which has service permission
79
- client_id = current_profile.override["admin"]["client-id"]
80
- client_secret = current_profile.override["admin"]["client-secret"]
81
- client = hcs_client(
82
- current_profile.hcs.url,
83
- {
84
- "url": current_profile.csp.url,
85
- "client_id": client_id,
86
- "client_secret": client_secret,
87
- },
88
- )
77
+ while True:
78
+ if client_id:
79
+ log.trivial("Using credentials from env CSP_LICENSE_SVC_CLIENT_ID")
80
+ break
81
+ override = current_profile.override
82
+ if override:
83
+ license_service_override = current_profile.override.get("license-features")
84
+ if license_service_override:
85
+ log.trivial("Using license-features service override from current profile...")
86
+ client_id = license_service_override["client-id"]
87
+ client_secret = license_service_override["client-secret"]
88
+ break
89
+
90
+ admin_override = current_profile.override.get("admin")
91
+ if admin_override:
92
+ log.trivial("Using admin service override from current profile...")
93
+ client_id = current_profile.override["admin"]["client-id"]
94
+ client_secret = current_profile.override["admin"]["client-secret"]
95
+ break
96
+
97
+ log.warn("No admin override found in current profile. Using default credentials.")
98
+ client_id = None
99
+ break
100
+
101
+ if client_id:
102
+ client = hcs_client(
103
+ current_profile.hcs.url,
104
+ {
105
+ "url": current_profile.csp.url,
106
+ "client_id": client_id,
107
+ "client_secret": client_secret,
108
+ },
109
+ )
110
+ else:
111
+ # default profile
112
+ client = hcs_client(url=current_profile.hcs.url, custom_auth=current_profile.csp)
89
113
  response_data = client.post("/license-features/v1/licenses", json=data)
90
114
  log.good(f"Successfully created license-features: {response_data}")
91
115
 
@@ -1,3 +1,4 @@
1
+ import os
1
2
  from time import sleep, time
2
3
 
3
4
  import click
@@ -8,7 +9,6 @@ from InquirerPy import inquirer
8
9
  from InquirerPy.base import Choice
9
10
 
10
11
  import hcs_cli.cmds.dev.util.github_helper as github_helper
11
- from hcs_cli.cmds.dev.fs.init import _retrieve_config_from_nightly_repo
12
12
  from hcs_cli.cmds.dev.util.log import fail
13
13
  from hcs_cli.support.exec_util import run_cli
14
14
 
@@ -125,6 +125,40 @@ def delete(all: bool, org: str):
125
125
  click.echo("Reset complete.")
126
126
 
127
127
 
128
+ @onboard.command()
129
+ @cli.org_id
130
+ def init_org(org):
131
+ """[Global admin] Init HCS org (org, location, and license)."""
132
+ org_id = cli.get_org_id(org)
133
+ proceed = click.confirm("This only works with non-prod stack. Continue?")
134
+ if not proceed:
135
+ return "", 1
136
+ proceed = click.confirm("This operation requires that the current profile has global admin privileges. Continue?")
137
+ if not proceed:
138
+ return "", 1
139
+ proceed = click.confirm(f"Target org: {org_id}")
140
+ if not proceed:
141
+ return "", 1
142
+ _ensure_org_initialized(org_id, critical=True)
143
+
144
+
145
+ def _ensure_org_initialized(org_id, critical=False):
146
+ os.environ["ORG_ID"] = org_id
147
+ try:
148
+ from hcs_cli.cmds.dev.fs.init import _create_license_info, _create_org_details, _create_org_location_mapping
149
+
150
+ _create_org_details()
151
+ _create_org_location_mapping()
152
+ _create_license_info()
153
+ except Exception as e:
154
+ if critical:
155
+ click.secho(f"Error initializing org: {e}", fg="bright_red")
156
+ else:
157
+ click.secho(
158
+ f"Error initializing org: {e}. If you have already initialized the org, you can ignore this warning.", fg="bright_yellow"
159
+ )
160
+
161
+
128
162
  def _delete_express_onboarding_deployment(org_id: str):
129
163
  deployment = run_cli(f"hcs api /deployment-orchestrator/v1/deployments?org_id={org_id}", output_json=True)
130
164
  if not deployment:
@@ -0,0 +1,145 @@
1
+ """
2
+ Copyright 2023-2023 VMware Inc.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+ """
15
+
16
+ import json
17
+ import sys
18
+ import uuid
19
+
20
+ import click
21
+ import hcs_core.sglib.cli_options as cli
22
+
23
+ from hcs_cli.service import admin, auth, inventory, lcm, portal
24
+ from hcs_cli.support.param_util import parse_vm_path
25
+
26
+
27
+ @click.command()
28
+ @cli.org_id
29
+ @click.argument("vm_path", type=str, required=False)
30
+ def assign(org: str, vm_path: str):
31
+ """Assign user to VM"""
32
+ org_id = cli.get_org_id(org)
33
+ template_id, vm_id = parse_vm_path(vm_path)
34
+
35
+ template = admin.template.get(template_id, org_id)
36
+ if template:
37
+ edge_id = template["edgeDeploymentId"]
38
+ else:
39
+ # try with lcm
40
+ template = lcm.template.get(template_id, org_id)
41
+ edge_id = template["edgeGateway"]["id"]
42
+ if not template:
43
+ return "Template not found: " + template_id, 1
44
+ payload = {
45
+ "id": "dspec1",
46
+ "userId": "user1",
47
+ "clientId": "client-1",
48
+ "entitlementId": "entitlement-1",
49
+ "templateIds": [template_id],
50
+ "allocationPolicy": "ANY",
51
+ "sessionType": "DESKTOP",
52
+ "username": "user1",
53
+ "userPrincipalName": "aduser1@vmwhorizon.com",
54
+ "userSid": "S-1-5-21-2502306595",
55
+ "orgId": org_id,
56
+ "location": template["location"],
57
+ "vmId": vm_id,
58
+ "templateType": template["templateType"],
59
+ "resume": True,
60
+ "clientSessionId": "client-uuid-1",
61
+ }
62
+ # print(json.dumps(payload, indent=4))
63
+ inventory.assignV2(payload)
64
+
65
+ # payload_manual_session = {
66
+ # "templateId": "string",
67
+ # "vmId": "string",
68
+ # "userId": "string",
69
+ # "agentSessionGuid": "string",
70
+ # "agentSessionId": "string",
71
+ # "agentStaticSessionGuid": "string",
72
+ # "sessionType": "DESKTOP",
73
+ # "templateType": "FLOATING",
74
+ # "clientId": "string",
75
+ # "sessionStatus": "string",
76
+ # "lastAssignedTime": "2025-12-16T20:56:08.988Z",
77
+ # "lastLoginTime": "2025-12-16T20:56:08.988Z",
78
+ # "lastStatusUpdateTime": "2025-12-16T20:56:08.988Z",
79
+ # "username": "string",
80
+ # "userPrincipalName": "string",
81
+ # "userSid": "string",
82
+ # "entitlementId": "string",
83
+ # "orgId": "string",
84
+ # "location": "string",
85
+ # "clientSessionId": "UUID string",
86
+ # "agentErrorCode": "AGENT_ERR_FAILURE",
87
+ # "staticCloudSessionId": "UUID string",
88
+ # "hibernated": true,
89
+ # "id": 0,
90
+ # "dspecId": "string"
91
+ # }
92
+ payload_update = {
93
+ "id": "dspec1",
94
+ "agentSessionGuid": "agent-session-guid-1",
95
+ "agentSessionId": "agent-session-1",
96
+ "agentStaticSessionGuid": "agent-static-session-guid-1",
97
+ "sessionStatus": "string",
98
+ "vmId": vm_id,
99
+ "edgeId": edge_id,
100
+ "agentErrorCode": "",
101
+ }
102
+ return inventory.update_session(org_id=org_id, template_id=template_id, payload=payload_update)
103
+
104
+
105
+ @click.command()
106
+ @cli.org_id
107
+ @click.option("-pg", "--pool-group", type=str, required=True)
108
+ @click.option("-p", "--pool", type=str, required=True)
109
+ @click.option("-n", "--num-users", type=str, required=True)
110
+ def bulk_assign(org: str, pool_group: str, pool: str, num_users: int):
111
+ """Assign multiple users to VMs"""
112
+ org_id = cli.get_org_id(org)
113
+ pg = portal.pool.get(pool_group, org_id)
114
+ payload = {
115
+ "id": "",
116
+ "userId": "",
117
+ "entitlementId": pool_group,
118
+ "templateIds": [pool],
119
+ "allocationPolicy": "ANY",
120
+ "sessionType": "DESKTOP",
121
+ "username": "",
122
+ "userPrincipalName": "",
123
+ "userSid": "",
124
+ "orgId": org_id,
125
+ "location": "US",
126
+ "templateType": pg["templateType"],
127
+ "resume": True,
128
+ }
129
+ users = auth.admin.search.users(org_id, {}, -1)
130
+
131
+ num_users = int(num_users)
132
+ if num_users > len(users["users"]):
133
+ print(f'max available users in AD = {len(users["users"])}, set -n less than {len(users["users"])}')
134
+ return
135
+ fu = users["users"][:num_users]
136
+ dspecs = []
137
+ for user in fu:
138
+ payload["id"] = str(uuid.uuid4())
139
+ payload["userId"] = user["id"]
140
+ payload["username"] = user["userName"]
141
+ payload["userPrincipalName"] = user["userPrincipalName"]
142
+ payload["userSid"] = user["userSid"]
143
+ inventory.session.assignV2(payload)
144
+ dspecs.append(payload["id"])
145
+ print(f"created following dspecs - {dspecs}")
@@ -0,0 +1,64 @@
1
+ """
2
+ Copyright 2023-2023 VMware Inc.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+ """
15
+
16
+ import json
17
+ import sys
18
+
19
+ import click
20
+ import hcs_core.sglib.cli_options as cli
21
+
22
+ from hcs_cli.service import admin, inventory, lcm
23
+ from hcs_cli.support.param_util import parse_vm_path
24
+
25
+
26
+ @click.command()
27
+ @cli.org_id
28
+ @click.argument("vm_path", type=str, required=False)
29
+ def deassign(org: str, vm_path: str):
30
+ """Assign user to VM"""
31
+ org_id = cli.get_org_id(org)
32
+ template_id, vm_id = parse_vm_path(vm_path)
33
+ sessions = inventory.sessions(template_id, vm_id, cli.get_org_id(org))
34
+
35
+ template = admin.template.get(template_id, cli.get_org_id(org))
36
+ if template:
37
+ edge_deployment_id = template["edgeDeploymentId"]
38
+ else:
39
+ # try with lcm
40
+ template = lcm.template.get(template_id, cli.get_org_id(org))
41
+ if not template:
42
+ return "Template not found: " + template_id, 1
43
+ edge_deployment_id = template["edgeGateway"]["id"]
44
+
45
+ all_ret = []
46
+ for session in sessions:
47
+ payload = {
48
+ "vmHubName": template["hdc"]["vmHub"]["name"],
49
+ "edgeDeploymentId": edge_deployment_id,
50
+ "vmId": vm_id,
51
+ "entitlementId": session.get("entitlementId"),
52
+ "agentSessionGuid": session.get("agentSessionGuid"),
53
+ "agentSessionId": session.get("agentSessionId"),
54
+ "agentStaticSessionGuid": session.get("agentStaticSessionGuid"),
55
+ "id": session.get("dspecId"),
56
+ "userId": session.get("userId"),
57
+ "type": session.get("sessionType"),
58
+ }
59
+ ret = inventory.deassign(template_id=template_id, org_id=org_id, payload=payload)
60
+ all_ret.append(ret)
61
+
62
+ if len(all_ret) == 1:
63
+ return all_ret[0]
64
+ return all_ret
@@ -0,0 +1,110 @@
1
+ """
2
+ Copyright 2023-2023 VMware Inc.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+ """
15
+
16
+ import click
17
+ import hcs_core.sglib.cli_options as cli
18
+
19
+ from hcs_cli.service import admin, inventory, lcm
20
+ from hcs_cli.support.param_util import parse_vm_path
21
+
22
+
23
+ @click.command()
24
+ @cli.org_id
25
+ @click.argument("vm_path", type=str, required=False)
26
+ def logoff(org: str, vm_path: str):
27
+ """Logoff all sessions on the vm.
28
+
29
+ Example: hcs inventory logoff template_id/vm_id
30
+ """
31
+
32
+ org_id = cli.get_org_id(org)
33
+ template_id, vm_id = parse_vm_path(vm_path)
34
+ sessions = inventory.sessions(template_id, vm_id, cli.get_org_id(org))
35
+ if not sessions:
36
+ return
37
+ # [
38
+ # {
39
+ # "templateId": null,
40
+ # "vmId": "expool000",
41
+ # "userId": "c12b884b-c813-4f73-81f5-df2052de9bc6",
42
+ # "agentSessionGuid": null,
43
+ # "agentSessionId": null,
44
+ # "agentStaticSessionGuid": null,
45
+ # "sessionType": "DESKTOP",
46
+ # "templateType": "FLOATING",
47
+ # "clientId": null,
48
+ # "sessionStatus": "ASSIGNED",
49
+ # "lastAssignedTime": "2025-12-16T18:55:45.078+00:00",
50
+ # "lastLoginTime": null,
51
+ # "lastStatusUpdateTime": "2025-12-16T18:55:45.078+00:00",
52
+ # "username": "u1ad1",
53
+ # "userPrincipalName": "u1ad1@horizonv2dev2.local",
54
+ # "userSid": "S-1-5-21-1840667356-2516272024-4034330832-1104",
55
+ # "releaseSessionOnDeassign": false,
56
+ # "entitlementId": "6941a2bfe79a1b9cef167ad2",
57
+ # "orgId": "7c4f9042-6119-45b6-93f5-24f1a80e2c62",
58
+ # "location": null,
59
+ # "clientSessionId": null,
60
+ # "agentErrorCode": "",
61
+ # "staticCloudSessionId": "dc907d57-85d8-478e-9d0c-028c1acd87f2",
62
+ # "hibernated": null,
63
+ # "id": null,
64
+ # "dspecId": "5722ff4a-7e75-4248-89e9-741d8a7ae91c"
65
+ # }
66
+ # ]
67
+
68
+ template = admin.template.get(template_id, cli.get_org_id(org))
69
+ if template:
70
+ edge_deployment_id = template["edgeDeploymentId"]
71
+ else:
72
+ # try with lcm
73
+ template = lcm.template.get(template_id, cli.get_org_id(org))
74
+ if not template:
75
+ return "Template not found: " + template_id, 1
76
+ edge_deployment_id = template["edgeGateway"]["id"]
77
+
78
+ all_ret = []
79
+ for session in sessions:
80
+ logoff_payload_v1 = {
81
+ "edgeDeploymentId": edge_deployment_id,
82
+ "vmId": vm_id,
83
+ "userId": session.get("userId"),
84
+ "entitlementId": session.get("entitlementId"),
85
+ "vmHubName": template["hdc"]["vmHub"]["name"],
86
+ "sessionType": session.get("sessionType"),
87
+ }
88
+ ret1 = inventory.logoff(template_id=template_id, org_id=org_id, payload=logoff_payload_v1)
89
+ # print("PAYLOADv1: ", logoff_payload_v1)
90
+ # print("RETv1: ", ret1)
91
+ all_ret.append(ret1)
92
+
93
+ logoff_payload_v2 = [
94
+ {
95
+ "agentSessionGuid": session.get("agentSessionGuid"),
96
+ "userId": session.get("userId"),
97
+ "sessionType": session.get("sessionType"),
98
+ "vmHubName": template["hdc"]["vmHub"]["name"],
99
+ "edgeDeploymentId": edge_deployment_id,
100
+ "vmId": vm_id,
101
+ "dspecId": session.get("dspecId"),
102
+ "dtemplateId": template_id,
103
+ }
104
+ ]
105
+ ret2 = inventory.logoffV2(org_id=org_id, payload=logoff_payload_v2)
106
+ # print("PAYLOADv2: ", logoff_payload_v2)
107
+ # print("RETv2: ", ret2)
108
+ all_ret.append(ret2)
109
+
110
+ return all_ret
@@ -16,7 +16,7 @@ limitations under the License.
16
16
  import click
17
17
  import hcs_core.sglib.cli_options as cli
18
18
 
19
- from hcs_cli.service import inventory
19
+ from hcs_cli.service import admin, inventory
20
20
  from hcs_cli.support.param_util import parse_vm_path
21
21
 
22
22
 
@@ -27,7 +27,7 @@ def session():
27
27
 
28
28
  @session.command()
29
29
  @cli.org_id
30
- @click.argument("vm_path", type=str, required=True)
30
+ @click.argument("vm_path", type=str, required=False)
31
31
  def list(org: str, vm_path: str):
32
32
  """List sessions"""
33
33
  template, vm = parse_vm_path(vm_path)
@@ -60,8 +60,8 @@ def _print_error(text: str):
60
60
 
61
61
  def _print_human_readable_log(d: TaskModel):
62
62
  ret = d.log
63
- time_started = ret.time_started
64
- time_completed = ret.time_completed
63
+ time_started = ret.timeStarted
64
+ time_completed = ret.timeCompleted
65
65
 
66
66
  if time_completed:
67
67
  delta = timedelta(milliseconds=time_completed - time_started)
@@ -0,0 +1,65 @@
1
+ """
2
+ Copyright 2023-2023 VMware Inc.
3
+ SPDX-License-Identifier: Apache-2.0
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+ """
15
+
16
+ import click
17
+ import hcs_core.sglib.cli_options as cli
18
+ import hcs_core.util.duration as duration
19
+ from hcs_core.ctxp import recent
20
+
21
+ import hcs_cli.service.admin as admin
22
+
23
+
24
+ @click.command(hidden=True)
25
+ @click.option(
26
+ "--number",
27
+ "-n",
28
+ type=int,
29
+ required=False,
30
+ default=1,
31
+ help="Number of VMs to expand. Use negative number to shrink.",
32
+ )
33
+ @click.argument("template_id", type=str, required=False)
34
+ @cli.org_id
35
+ @cli.wait
36
+ def expand(number: int, template_id: str, org: str, wait: str, **kwargs):
37
+ """Update an existing template"""
38
+
39
+ org_id = cli.get_org_id(org)
40
+
41
+ template_id = recent.require("template", template_id)
42
+ template = admin.template.get(template_id, org_id)
43
+
44
+ if not template:
45
+ return "Template not found: " + template_id
46
+
47
+ spare_policy = template.get("sparePolicy", {})
48
+ patch = {
49
+ "sparePolicy": {
50
+ "min": spare_policy.get("min", 0) + number,
51
+ "max": spare_policy.get("max", 0) + number,
52
+ "limit": spare_policy.get("limit", 0) + number,
53
+ }
54
+ }
55
+ if patch["sparePolicy"]["min"] < 0:
56
+ patch["sparePolicy"]["min"] = 0
57
+ if patch["sparePolicy"]["max"] < 0:
58
+ patch["sparePolicy"]["max"] = 0
59
+ if patch["sparePolicy"]["limit"] < 0:
60
+ patch["sparePolicy"]["limit"] = 0
61
+
62
+ ret = admin.template.update(template_id, org_id, patch)
63
+ if wait != "0":
64
+ ret = admin.template.wait_for_ready(template_id, org_id, duration.to_seconds(wait))
65
+ return ret