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.
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/PKG-INFO +2 -2
- hcs_cli-0.1.318/hcs_cli/__init__.py +3 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/api.py +5 -3
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/start.py +2 -2
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/license_info.py +36 -12
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/onboard.py +35 -1
- hcs_cli-0.1.318/hcs_cli/cmds/inventory/assign.py +145 -0
- hcs_cli-0.1.318/hcs_cli/cmds/inventory/deassign.py +64 -0
- hcs_cli-0.1.318/hcs_cli/cmds/inventory/logoff.py +110 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/session.py +2 -2
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/operator.py +2 -2
- hcs_cli-0.1.318/hcs_cli/cmds/template/expand.py +65 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/edge.py +89 -83
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/uag.py +5 -0
- hcs_cli-0.1.318/hcs_cli/service/inventory/__init__.py +2 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/inventory/session.py +23 -7
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/pyproject.toml +1 -1
- hcs_cli-0.1.316/hcs_cli/__init__.py +0 -3
- hcs_cli-0.1.316/hcs_cli/cmds/inventory/assign.py +0 -99
- hcs_cli-0.1.316/hcs_cli/cmds/inventory/deassign.py +0 -47
- hcs_cli-0.1.316/hcs_cli/cmds/inventory/logoff.py +0 -32
- hcs_cli-0.1.316/hcs_cli/service/inventory/__init__.py +0 -2
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/.gitignore +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/README.md +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/__main__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ad/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/azure_infra/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/admin/azure_infra/main.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/advisor_utils.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/config/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/config/advisor_config.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/html_utils.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/org.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/pdf_utils.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/pool.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/advisor/recommendation_engine.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/app/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/get_org_idp_map.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/network/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/admin/network/add.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/user/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/auth/user/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/summary.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/clouddriver/task.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/credential/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/credential/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/cs/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/cs/base.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/basic.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/infra/plan.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/order/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/consumption.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/daas/tenant/plan.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/prepare.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/debug/reset.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/emqx.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/auth.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/clear.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/credential_helper.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/jenkins_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/k8s_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/required_fields.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/step_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/helper/util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/init.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/profiler.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/akka.plan.yml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/azsim.plan.yml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/azure.plan.yml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/mqtt-secret.yaml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/fs/tailor.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/mqtt.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/test.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/github_helper.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/log.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/dev/util/mqtt_helper.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/diagnostics/diagnose.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/connection_string.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/edge/wait.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/entitlement/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/connect.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/oncall.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/org.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/search.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/util/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/util/inv_cache.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hoc/vm.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/clean.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/health.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/perf.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/cloud/scale.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/installer.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/key.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/outpost.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/probe.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/report.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/hst/test.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/gold_pattern/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/list_copies.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/ims/version/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inspect.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/count.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/inventory/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/iss/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/iss/mqtt.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/health.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/provider/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/register.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/cancel.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/health.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/provision.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/retry.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/template/wait.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/test.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/pair.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/power.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/put.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/lcm/vm/wait.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/login.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/logout.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/datacenter/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/details/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/ff.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/location.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/org/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/ca.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/cert/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/sign.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pki/test.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/apply.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/clear.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/destroy.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/graph.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/input.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/output.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/resolve.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/plan/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/pool/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/profile/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/profile/init.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/golden_images.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/provider/vsphere_dcs.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/query.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/health.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/plan.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/scm/template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/set-edge.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/site/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/outpost/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/run.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/probe/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/synt/report/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/task.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/create.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/fix.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/list_usage.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/update.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/usage.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/template/wait.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/test.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/uag/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/upgrade.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/actions.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/delete.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/get.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/list.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/put.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/use.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vm/wait.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/info.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/redeem.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmhub/otp/request.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/restart_vms.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_edge_migration_stats.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_edge_rotate_certs.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_migrate.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_migrate_edge.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/vmm/rootca_template_migration_stats.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/workflows/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/cmds/workflows/mqtt-endpoints.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/config/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/config/hcs-deployments.yaml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/main.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/akka.blueprint.yml +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/app/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/app/manual.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/akka.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/edge/vsphere.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/hoc/no-spare.json.template +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/assign.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/inventory/deassign.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/iss/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/akka.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-dummy-nt.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-dummy.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/azure-real.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/edge-proxy.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-dedicated.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-delay-1m-per-vm.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-destroy-onthread.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-destroy.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-prepare-onthread.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-prepare.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-vm-onthread.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-fail-vm.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-floating.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-manual.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-multisession.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-nanw.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-5k-delay.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-5k.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new-snapshot.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-new.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-reuse-vm-id.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero-with-max-id-offset.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/lcm/zero.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/ad-stes-vsphere.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/akka.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/azure.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/edgeproxy.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/provider/vsphere.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/scm/starter.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p01-dummy-success.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p02-dummy-fail.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p03-dummy-exception.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p04-dummy-success-repeat.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p05-dummy-fail-repeat.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p06-dummy-exception-repeat.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p07-dummy-delay.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/core/p08-dummy-property.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p20-connect-success.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p21-connect-fail.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p30-ssl-success.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p31-ssl-fail.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p40-http-success.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p41-http-fail.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext/p42-http-status-code.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p10-ping-success.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p11-ping-fail.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/synt/ext1/p12-ping-success-repeat.json +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/payload/template/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/_prepare.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/ad.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/av_entitlement.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/av_fs.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/cert.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/entitlement.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/gold_pattern.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/identity_provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/image.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/import_av_app.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/manual_app.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/pool_group.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/pool_template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/password.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/runtime/wait_for.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/provider/hcs/site.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/ad.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/azure_infra.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/edge.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/helper.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/uag.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/admin/vm.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/app_management/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/app_management/manual_app.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/auth/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/auth/admin.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/app.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/avimport.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/entitlements.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/av/fileshare.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/credential.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/credential/nls.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/cs/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/cs/base.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/csp.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/diagnostics/edge.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edge.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/edgecontroller.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/edgehub/edgetwin.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/graphql.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/diagnostic.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/hoc/es.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/gold_pattern.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/helper.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/image_copies.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/images.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/ims/version.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/inventory/vm.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/iss/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/iss/mqtt.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/health.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/provider.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/lcm/vm.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/datacenter.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/details.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/org_service/orglocationmapping.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pki/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pki/certificate.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/pool.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/entitlement.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/pool.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/portal/site.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/base.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/operator.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/scm/plan.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/site.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/outpost.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/probe.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/synt/report.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/task.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/template.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/base.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/tsctl/task.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/uag.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vm.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/credentials.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmhub/mqtt.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmm/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/service/vmm/hoc_event.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/__init__.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/constant.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/debug_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/exec_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/inspect_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/param_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/patch_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/plan_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/predefined_payload.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/profile.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/html_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/plan-editor.html.template +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/scm/plan_editor.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/template_util.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/test_utils.py +0 -0
- {hcs_cli-0.1.316 → hcs_cli-0.1.318}/hcs_cli/support/use_util.py +0 -0
- {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.
|
|
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.
|
|
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
|
|
@@ -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
|
-
|
|
138
|
-
|
|
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}
|
|
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=
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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=
|
|
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.
|
|
64
|
-
time_completed = ret.
|
|
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
|