hcs-cli 0.1.341__tar.gz → 0.1.342__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.341 → hcs_cli-0.1.342}/PKG-INFO +2 -2
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/__init__.py +1 -1
- hcs_cli-0.1.342/hcs_cli/cmds/edge/log.py +145 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hoc/stats.py +6 -6
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/log.py +19 -16
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/edge.py +3 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/edge.py +16 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/pyproject.toml +1 -1
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/.gitignore +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/README.md +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/__main__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ad/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ad/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ad/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ad/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ad/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/admin/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/admin/azure_infra/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/admin/azure_infra/main.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/advisor_utils.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/config/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/config/advisor_config.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/html_utils.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/org.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/pdf_utils.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/pool.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/advisor/recommendation_engine.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/api.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/app/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/admin/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/admin/get_org_idp_map.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/admin/network/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/admin/network/add.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/user/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/auth/user/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/clouddriver/service.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/clouddriver/task.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/credential/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/credential/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/cs/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/cs/base.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/infra/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/infra/basic.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/infra/plan.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/order/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/order/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/order/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/order/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/order/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/tenant/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/tenant/consumption.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/tenant/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/daas/tenant/plan.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/debug/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/debug/prepare.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/debug/reset.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/debug/start.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/emqx.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/auth.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/clear.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/config.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/credential_helper.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/init_steps.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/jenkins_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/k8s_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/license_info.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/mqtt_certs.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/required_fields.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/step_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/subscription_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/helper/util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/init.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/profiler.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/akka.plan.yml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/azsim.plan.yml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/azure.plan.yml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/mqtt-secret.yaml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/tailor.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/mqtt.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/onboard.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/test.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/util/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/util/github_helper.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/util/log.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/util/mqtt_helper.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/diagnostics/diagnose.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/connection_string.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/edge/wait.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/entitlement/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/entitlement/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/entitlement/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/entitlement/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hoc/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hoc/search.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hoc/util/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hoc/util/inv_cache.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/clean.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/cloud/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/cloud/health.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/cloud/perf.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/cloud/scale.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/installer.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/key.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/outpost.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/probe.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/report.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/hst/test.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/gold_pattern/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/gold_pattern/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/gold_pattern/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/gold_pattern/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/gold_pattern/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/list_copies.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/version/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/version/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/version/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/ims/version/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inspect.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/assign.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/count.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/deassign.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/logoff.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/session.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/inventory/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/iss/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/iss/mqtt.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/health.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/provider/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/provider/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/provider/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/provider/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/provider/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/register.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/cancel.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/expand.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/health.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/provision.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/retry.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/template/wait.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/test.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/pair.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/power.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/put.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/lcm/vm/wait.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/login.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/logout.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/datacenter/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/datacenter/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/datacenter/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/details/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/ff.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/location.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/org/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/ca.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/cert/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/cert/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/cert/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/sign.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pki/test.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/apply.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/clear.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/destroy.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/graph.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/input.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/output.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/resolve.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/plan/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/pool/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/profile/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/profile/init.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/golden_images.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/provider/vsphere_dcs.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/query.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/health.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/operator.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/plan.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/recommend.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/scm/template.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/set-edge.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/site/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/outpost/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/run.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/probe/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/report/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/report/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/report/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/synt/report/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/task.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/create.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/expand.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/fix.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/list_usage.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/update.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/usage.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/template/wait.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/test.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/uag/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/uag/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/uag/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/uag/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/upgrade.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/actions.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/delete.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/get.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/list.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/log.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/put.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/use.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vm/wait.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmhub/info.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmhub/otp/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmhub/otp/redeem.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmhub/otp/request.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/restart_vms.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/rootca_edge_migration_stats.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/rootca_edge_rotate_certs.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/rootca_migrate.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/rootca_migrate_edge.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/vmm/rootca_template_migration_stats.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/workflows/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/workflows/mqtt-endpoints.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/config/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/config/hcs-deployments.yaml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/main.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/akka.blueprint.yml +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/app/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/app/manual.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/edge/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/edge/akka.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/edge/vsphere.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/hoc/lcm-capcalc.json.template +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/hoc/no-spare.json.template +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/inventory/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/inventory/assign.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/inventory/deassign.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/iss/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/akka.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/azure-dummy.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/azure-real.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/edge-proxy.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-dedicated.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-delay-1m-per-vm.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-delete-template.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-destroy-onthread.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-destroy.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-prepare-onthread.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-prepare.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-vm-onthread.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-fail-vm.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-floating.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-legacy.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-manual.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-multisession.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-nanw.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-new-5k-delay.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-new-5k.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-new-snapshot.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-reuse-vm-id.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero-with-max-id-offset.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/lcm/zero.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/ad-stes-vsphere.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/akka.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/azure.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/edgeproxy.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/provider/vsphere.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/scm/starter.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p01-dummy-success.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p02-dummy-fail.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p03-dummy-exception.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p04-dummy-success-repeat.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p05-dummy-fail-repeat.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p06-dummy-exception-repeat.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p07-dummy-delay.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/core/p08-dummy-property.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p20-connect-success.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p21-connect-fail.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p30-ssl-success.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p31-ssl-fail.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p40-http-success.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p41-http-fail.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext/p42-http-status-code.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext1/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext1/p10-ping-success.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext1/p11-ping-fail.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/synt/ext1/p12-ping-success-repeat.json +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/payload/template/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/_prepare.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/ad.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/av_entitlement.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/av_fs.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/cert.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/edge.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/entitlement.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/gold_pattern.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/identity_provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/image.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/import_av_app.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/manual_app.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/pool_group.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/pool_template.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/runtime/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/runtime/password.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/runtime/wait_for.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/site.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/provider/hcs/uag.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/ad.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/azure_infra.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/helper.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/template.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/uag.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/admin/vm.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/api.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/app_management/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/app_management/manual_app.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/auth/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/auth/admin.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/av/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/av/app.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/av/avimport.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/av/entitlements.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/av/fileshare.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/clouddriver/service.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/credential/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/credential/credential.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/credential/nls.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/cs/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/cs/base.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/csp.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/diagnostics/edge.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/edgehub/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/edgehub/edgecontroller.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/edgehub/edgetwin.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/graphql.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/hoc/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/hoc/diagnostic.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/hoc/es.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/gold_pattern.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/helper.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/image_copies.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/images.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/ims/version.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/inventory/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/inventory/session.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/inventory/vm.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/iss/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/iss/mqtt.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/lcm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/lcm/health.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/lcm/provider.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/lcm/template.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/lcm/vm.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/org_service/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/org_service/datacenter.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/org_service/details.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/org_service/orglocationmapping.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/pki/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/pki/certificate.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/pool.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/portal/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/portal/entitlement.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/portal/pool.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/portal/site.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/scm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/scm/base.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/scm/operator.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/scm/plan.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/site.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/synt/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/synt/outpost.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/synt/probe.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/synt/report.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/task.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/template.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/tsctl/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/tsctl/base.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/tsctl/task.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/uag.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vm.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmhub/credentials.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmhub/mqtt.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmm/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmm/dct.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/service/vmm/hoc_event.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/__init__.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/constant.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/debug_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/exec_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/inspect_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/log/message_parser.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/log/query_builder.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/param_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/patch_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/plan_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/predefined_payload.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/profile.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/scm/html_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/scm/plan-editor.html.template +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/scm/plan_editor.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/template_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/test_utils.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/test_utils2.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/support/use_util.py +0 -0
- {hcs_cli-0.1.341 → hcs_cli-0.1.342}/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.342
|
|
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.342
|
|
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,145 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright © 2025-2026 Omnissa, LLC.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import os
|
|
7
|
+
import time
|
|
8
|
+
from datetime import datetime, timezone
|
|
9
|
+
|
|
10
|
+
import click
|
|
11
|
+
import httpx
|
|
12
|
+
import hcs_core.sglib.cli_options as cli
|
|
13
|
+
from hcs_core.ctxp import recent
|
|
14
|
+
from hcs_core.util import duration
|
|
15
|
+
|
|
16
|
+
from hcs_cli.service import edge
|
|
17
|
+
|
|
18
|
+
# Confirmed non-terminal value seen in practice; treat anything else that
|
|
19
|
+
# isn't AVAILABLE/FAILED as non-terminal too, since the API may add more.
|
|
20
|
+
_TERMINAL = frozenset({"AVAILABLE", "FAILED"})
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@click.command()
|
|
24
|
+
@click.option(
|
|
25
|
+
"--recreate",
|
|
26
|
+
is_flag=True,
|
|
27
|
+
default=False,
|
|
28
|
+
help="Force a new log collection even if a recent one already exists.",
|
|
29
|
+
)
|
|
30
|
+
@click.option(
|
|
31
|
+
"--max-age",
|
|
32
|
+
default="1D",
|
|
33
|
+
show_default=True,
|
|
34
|
+
help="Reuse the latest AVAILABLE log if it's newer than this (e.g. 1D, 12H). Ignored with --recreate.",
|
|
35
|
+
)
|
|
36
|
+
@click.option(
|
|
37
|
+
"--wait/--no-wait",
|
|
38
|
+
default=True,
|
|
39
|
+
help="Wait for log collection to finish. Collection can take 10+ minutes; --no-wait triggers/checks and returns immediately.",
|
|
40
|
+
)
|
|
41
|
+
@click.option(
|
|
42
|
+
"--wait-timeout",
|
|
43
|
+
default="20M",
|
|
44
|
+
show_default=True,
|
|
45
|
+
help="Max time to wait for log collection to complete.",
|
|
46
|
+
)
|
|
47
|
+
@click.option(
|
|
48
|
+
"--verbose", is_flag=True, default=False, help="Whether to print progress messages. By default, it will print progress messages."
|
|
49
|
+
)
|
|
50
|
+
@click.option(
|
|
51
|
+
"--save-as",
|
|
52
|
+
"save_path",
|
|
53
|
+
type=click.Path(),
|
|
54
|
+
default=None,
|
|
55
|
+
help="Path to save the edge log archive. Defaults to <org_id>_<edge_id>_edge_logs.tgz in the current directory.",
|
|
56
|
+
)
|
|
57
|
+
@click.argument("id", type=str, required=False)
|
|
58
|
+
@cli.org_id
|
|
59
|
+
def log(recreate: bool, max_age: str, wait: bool, wait_timeout: str, verbose: bool, save_path, id: str, org: str):
|
|
60
|
+
"""Download edge log"""
|
|
61
|
+
org_id = cli.get_org_id(org)
|
|
62
|
+
id = recent.require("edge", id)
|
|
63
|
+
|
|
64
|
+
latest = edge.latest_log(id, org_id)
|
|
65
|
+
|
|
66
|
+
need_new = True
|
|
67
|
+
if latest and not recreate:
|
|
68
|
+
status = latest.get("logStatus")
|
|
69
|
+
if status == "AVAILABLE" and _is_fresh(latest.get("createdAt"), max_age):
|
|
70
|
+
need_new = False
|
|
71
|
+
elif status not in _TERMINAL:
|
|
72
|
+
need_new = False # already in flight, just wait on it below
|
|
73
|
+
|
|
74
|
+
if need_new:
|
|
75
|
+
if verbose:
|
|
76
|
+
click.secho(f"Requesting new edge log for {id}...", fg="bright_black")
|
|
77
|
+
info = edge.request_log(id, org_id)
|
|
78
|
+
if verbose:
|
|
79
|
+
click.secho(f"Edge log requested: {json.dumps(info)}", fg="bright_black")
|
|
80
|
+
latest = edge.latest_log(id, org_id)
|
|
81
|
+
|
|
82
|
+
status = latest.get("logStatus") if latest else None
|
|
83
|
+
|
|
84
|
+
if status != "AVAILABLE":
|
|
85
|
+
if not wait:
|
|
86
|
+
return latest
|
|
87
|
+
latest, error = _wait_for_log(id, org_id, wait_timeout, verbose)
|
|
88
|
+
if error:
|
|
89
|
+
return error, 1
|
|
90
|
+
|
|
91
|
+
uri = latest.get("readAccessUri")
|
|
92
|
+
if not uri:
|
|
93
|
+
return "No readAccessUri found on the log entry.", 1
|
|
94
|
+
|
|
95
|
+
if save_path:
|
|
96
|
+
file_path = os.path.abspath(os.path.expanduser(save_path))
|
|
97
|
+
else:
|
|
98
|
+
file_path = os.path.abspath(f"{org_id}_{id}_edge_logs.tgz")
|
|
99
|
+
|
|
100
|
+
if verbose:
|
|
101
|
+
click.secho(f"Downloading edge log from {uri} to {file_path}", fg="bright_black")
|
|
102
|
+
try:
|
|
103
|
+
with httpx.stream("GET", uri, timeout=60) as r:
|
|
104
|
+
r.raise_for_status()
|
|
105
|
+
with open(file_path, "wb") as f:
|
|
106
|
+
for chunk in r.iter_bytes(chunk_size=8192):
|
|
107
|
+
f.write(chunk)
|
|
108
|
+
except Exception as e:
|
|
109
|
+
return f"Failed to download archive: {e}", 1
|
|
110
|
+
|
|
111
|
+
latest["file_path"] = file_path
|
|
112
|
+
|
|
113
|
+
if verbose:
|
|
114
|
+
click.secho("----- Edge log downloaded -----", fg="bright_black")
|
|
115
|
+
return latest
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _is_fresh(created_at: str, max_age: str) -> bool:
|
|
119
|
+
if not created_at:
|
|
120
|
+
return False
|
|
121
|
+
try:
|
|
122
|
+
# createdAt example: "Mon Jul 20 23:51:44 UTC 2026"
|
|
123
|
+
dt = datetime.strptime(created_at.replace(" UTC ", " "), "%a %b %d %H:%M:%S %Y").replace(tzinfo=timezone.utc)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return False
|
|
126
|
+
age_seconds = (datetime.now(timezone.utc) - dt).total_seconds()
|
|
127
|
+
return age_seconds <= duration.to_seconds(max_age)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def _wait_for_log(id: str, org_id: str, timeout: str, verbose: bool):
|
|
131
|
+
deadline = time.time() + duration.to_seconds(timeout)
|
|
132
|
+
while time.time() < deadline:
|
|
133
|
+
info = edge.latest_log(id, org_id)
|
|
134
|
+
if not info:
|
|
135
|
+
return None, "No edge log entry found."
|
|
136
|
+
status = info.get("logStatus")
|
|
137
|
+
if status == "AVAILABLE":
|
|
138
|
+
return info, None
|
|
139
|
+
if status == "FAILED":
|
|
140
|
+
msg = info.get("errorDetail") or "Unknown error"
|
|
141
|
+
return info, f"Edge log collection failed: {msg}"
|
|
142
|
+
if verbose:
|
|
143
|
+
click.secho(f"Edge log status: {status}, waiting...", fg="bright_black")
|
|
144
|
+
time.sleep(20)
|
|
145
|
+
return None, "Timed out waiting for edge log to be ready."
|
|
@@ -8,13 +8,13 @@ from hcs_cli.service import tsctl
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@click.command(name="stats-aggregate-connects")
|
|
11
|
-
@click.argument("from_", type=
|
|
12
|
-
@click.argument("to", type=
|
|
11
|
+
@click.argument("from_", type=str)
|
|
12
|
+
@click.argument("to", type=str)
|
|
13
13
|
@click.option("--wait", type=bool, required=False, is_flag=True, default=False)
|
|
14
14
|
@click.option("--verbose", type=bool, required=False, is_flag=True, default=False)
|
|
15
|
-
def aggregate_connects(from_:
|
|
15
|
+
def aggregate_connects(from_: str, to: str, wait: bool, verbose: bool):
|
|
16
16
|
"""
|
|
17
|
-
Aggregate connect events between FROM_ and TO unix timestamps.
|
|
17
|
+
Aggregate connect events between FROM_ and TO unix timestamps in milliseconds.
|
|
18
18
|
"""
|
|
19
19
|
payload = {"from": from_, "to": to}
|
|
20
20
|
result = diagnostic.aggregateConnects(payload, verbose=verbose)
|
|
@@ -36,8 +36,8 @@ def aggregate_connects_day_before(wait: bool, verbose: bool):
|
|
|
36
36
|
dt_1_day_ago = dt - datetime.timedelta(days=1)
|
|
37
37
|
|
|
38
38
|
print(f"Aggregating connect events from {dt_2_days_ago} to {dt_1_day_ago}")
|
|
39
|
-
from_ = int(dt_2_days_ago.timestamp())
|
|
40
|
-
to = int(dt_1_day_ago.timestamp())
|
|
39
|
+
from_ = str(int(dt_2_days_ago.timestamp() * 1000))
|
|
40
|
+
to = str(int(dt_1_day_ago.timestamp() * 1000))
|
|
41
41
|
payload = {"from": from_, "to": to}
|
|
42
42
|
result = diagnostic.aggregateConnects(payload, verbose=verbose)
|
|
43
43
|
click.echo(result)
|
|
@@ -16,10 +16,11 @@ from hcs_cli.support import predefined_payload
|
|
|
16
16
|
from hcs_cli.support.log.message_parser import parse_message
|
|
17
17
|
from hcs_cli.support.log.query_builder import update_query
|
|
18
18
|
|
|
19
|
-
_hdcs = ["US", "EU", "JP"]
|
|
19
|
+
_hdcs = ["US", "EU", "JP", "JP2"]
|
|
20
20
|
|
|
21
21
|
_regions = [
|
|
22
22
|
"any", # magic flag. Search log of all regional clusters related to the selected HDC. [default]
|
|
23
|
+
"all", # Alias of 'any'
|
|
23
24
|
"eastus2",
|
|
24
25
|
"westus2",
|
|
25
26
|
"centralus",
|
|
@@ -39,8 +40,6 @@ _regions = [
|
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
# US
|
|
42
|
-
PROD_US_HDC_WESTUS2 = "prod110-hdc-westus2-cp102-*" # primary
|
|
43
|
-
PROD_US_HDC_CENTRALUS = "prod110-hdc-centralus-cp102-*"
|
|
44
43
|
|
|
45
44
|
PROD_US_R_WESTUS2 = "prod110-r-westus2-cp102-*" # primary
|
|
46
45
|
PROD_US_R_EASTUS2 = "prod110-r-eastus2-cp102-*" # primary
|
|
@@ -48,8 +47,6 @@ PROD_US_R_CENTRALUS = "prod110-r-centralus-cp102-*" # standby
|
|
|
48
47
|
PROD_US_R_WESTCENTRALUS = "prod110-r-westcentralus-cp102-*" # standby
|
|
49
48
|
|
|
50
49
|
# EU
|
|
51
|
-
PROD_EU_HDC_NORTHEUROPE = "prod110-hdc-northeurope-cp102-*" # primary
|
|
52
|
-
PROD_EU_HDC_WESTEUROPE = "prod110-hdc-westeurope-cp102-*"
|
|
53
50
|
|
|
54
51
|
PROD_EU_R_GERMANYNORTH = "prod110-r-germanynorth-cp102-*" # primary
|
|
55
52
|
PROD_EU_R_GERMANYWESTCENTRAL = "prod110-r-germanywestcentral-cp102-*"
|
|
@@ -59,7 +56,9 @@ PROD_EU_R_WESTEUROPE = "prod110-r-westeurope-cp102-*"
|
|
|
59
56
|
|
|
60
57
|
# JP
|
|
61
58
|
PROD_JP_HDC_JAPANEAST = "prod110-hdc-japaneast-cp102-*" # primary
|
|
62
|
-
PROD_JP_HDC_JAPANWEST = "prod110-hdc-japanwest-cp102-*"
|
|
59
|
+
# PROD_JP_HDC_JAPANWEST = "prod110-hdc-japanwest-cp102-*" # DR. no longer in use
|
|
60
|
+
|
|
61
|
+
PROD_JP_HDC_JAPANEAST_CP103 = "prod110-hdc-japaneast-cp103-*" # JP2
|
|
63
62
|
|
|
64
63
|
PROD_JP_R_JAPANEAST = "prod110-r-japaneast-cp102-*"
|
|
65
64
|
PROD_JP_R_JAPANWEST = "prod110-r-japanwest-cp102-*"
|
|
@@ -68,6 +67,14 @@ PROD_AUS_R_AUSSOUTHEAST = "prod110-r-aussoutheast-cp102-*"
|
|
|
68
67
|
PROD_IND_R_CENTRALINDIA = "prod110-r-centralindia-cp102-*"
|
|
69
68
|
PROD_IND_R_SOUTHINDIA = "prod110-r-southindia-cp102-*"
|
|
70
69
|
|
|
70
|
+
HDC_INDEX_MAPPING = {
|
|
71
|
+
"US": "prod110-hdc-westus2-cp102-*", # primary
|
|
72
|
+
# "US_DR": "prod110-hdc-centralus-cp102-*",
|
|
73
|
+
"EU": "prod110-hdc-northeurope-cp102-*", # primary
|
|
74
|
+
# "EU_DR": "prod110-hdc-westeurope-cp102-*",
|
|
75
|
+
"JP": PROD_JP_HDC_JAPANEAST,
|
|
76
|
+
"JP2": PROD_JP_HDC_JAPANEAST_CP103,
|
|
77
|
+
}
|
|
71
78
|
|
|
72
79
|
ANY_HDC_AND_REGION = "prod110-*-*-cp102-*"
|
|
73
80
|
|
|
@@ -138,28 +145,23 @@ def log(
|
|
|
138
145
|
if index:
|
|
139
146
|
es_logs_search_index = index
|
|
140
147
|
elif region:
|
|
141
|
-
if region == "any":
|
|
142
|
-
# search any HDC and region. still scoped to datasource.
|
|
148
|
+
if region == "any" or region == "all":
|
|
149
|
+
# search any HDC and region. still scoped to datasource so only limited HDC indexes are searched.
|
|
143
150
|
es_logs_search_index = ANY_HDC_AND_REGION
|
|
144
151
|
else:
|
|
145
152
|
# search only specific region
|
|
146
153
|
es_logs_search_index = f"prod110-r-{region.lower()}-cp102-*"
|
|
147
154
|
else:
|
|
148
155
|
# hdc only
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
elif hdc == "EU":
|
|
152
|
-
es_logs_search_index = PROD_EU_HDC_NORTHEUROPE
|
|
153
|
-
elif hdc == "JP":
|
|
154
|
-
es_logs_search_index = PROD_JP_HDC_JAPANEAST
|
|
155
|
-
else:
|
|
156
|
+
es_logs_search_index = HDC_INDEX_MAPPING.get(hdc)
|
|
157
|
+
if not es_logs_search_index:
|
|
156
158
|
raise ValueError("Unknown HDC")
|
|
157
159
|
|
|
158
160
|
text = predefined_payload.load("hoc/logs.jsont")
|
|
159
161
|
replacements = {
|
|
160
162
|
"from": int(yumako.time.of(from_param, tz=timezone.utc).timestamp() * 1000),
|
|
161
163
|
"to": int(yumako.time.of(to, tz=timezone.utc).timestamp() * 1000),
|
|
162
|
-
"query": query or "",
|
|
164
|
+
"query": query or "*",
|
|
163
165
|
"es_logs_search_index": es_logs_search_index,
|
|
164
166
|
}
|
|
165
167
|
try:
|
|
@@ -197,6 +199,7 @@ def log(
|
|
|
197
199
|
"US": "US_APM",
|
|
198
200
|
"EU": "EU_APM",
|
|
199
201
|
"JP": "JP_APM",
|
|
202
|
+
"JP2": "JP_APM",
|
|
200
203
|
}
|
|
201
204
|
|
|
202
205
|
# print(payload_jsonp)
|
|
@@ -10,7 +10,10 @@ from ..edge import delete as delete
|
|
|
10
10
|
from ..edge import get as get
|
|
11
11
|
from ..edge import get_connection_string as get_connection_string
|
|
12
12
|
from ..edge import items as items
|
|
13
|
+
from ..edge import latest_log as latest_log
|
|
13
14
|
from ..edge import list as list
|
|
15
|
+
from ..edge import list_logs as list_logs
|
|
16
|
+
from ..edge import request_log as request_log
|
|
14
17
|
from ..edge import safe_delete as safe_delete
|
|
15
18
|
from ..edge import wait_for as wait_for
|
|
16
19
|
from ..edge import wait_for_deleted as wait_for_deleted
|
|
@@ -155,3 +155,19 @@ def _wait_for_terminal_state(id, org_id, timeout):
|
|
|
155
155
|
def get_connection_string(id: str, org_id: str):
|
|
156
156
|
url = f"{base_context}/{id}/device-connection-string?org_id={org_id}"
|
|
157
157
|
return _client.get(url)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def request_log(id: str, org_id: str):
|
|
161
|
+
url = f"{base_context}/{id}/logs?org_id={org_id}"
|
|
162
|
+
return _client.post(url, {})
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def list_logs(id: str, org_id: str, page: int = 0, size: int = 10):
|
|
166
|
+
url = f"{base_context}/{id}/logs?page={page}&size={size}&sort=createdAt,desc&org_id={org_id}&edgeDeploymentId={id}"
|
|
167
|
+
return _client.get(url)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def latest_log(id: str, org_id: str):
|
|
171
|
+
content = list_logs(id, org_id, page=0, size=1).get("content") or []
|
|
172
|
+
return content[0] if content else None
|
|
173
|
+
# logStatus: ACCEPTED -> AVAILABLE (readAccessUri present) | FAILED (errorDetail present)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml
RENAMED
|
File without changes
|
{hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml
RENAMED
|
File without changes
|
{hcs_cli-0.1.341 → hcs_cli-0.1.342}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|