hcs-cli 0.1.339__tar.gz → 0.1.341__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.339 → hcs_cli-0.1.341}/PKG-INFO +2 -2
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/__init__.py +1 -1
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/api.py +7 -2
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/config.py +14 -27
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/init_steps.py +7 -9
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/akka.plan.yml +1 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/mqtt.py +6 -4
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/onboard.py +1 -1
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/util/github_helper.py +5 -4
- hcs_cli-0.1.341/hcs_cli/cmds/log.py +211 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/login.py +2 -2
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/profile/init.py +1 -5
- hcs_cli-0.1.341/hcs_cli/config/hcs-deployments.yaml +271 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/main.py +12 -1
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/site.py +1 -1
- hcs_cli-0.1.341/hcs_cli/support/log/message_parser.py +128 -0
- hcs_cli-0.1.341/hcs_cli/support/log/query_builder.py +94 -0
- hcs_cli-0.1.341/hcs_cli/support/profile.py +191 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/pyproject.toml +1 -1
- hcs_cli-0.1.339/hcs_cli/cmds/hoc/log.py +0 -330
- hcs_cli-0.1.339/hcs_cli/config/hcs-deployments.yaml +0 -309
- hcs_cli-0.1.339/hcs_cli/support/profile.py +0 -187
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/.gitignore +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/README.md +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/__main__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ad/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ad/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ad/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ad/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ad/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/admin/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/admin/azure_infra/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/admin/azure_infra/main.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/advisor_utils.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/config/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/config/advisor_config.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/html_utils.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/org.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/pdf_utils.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/pool.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/advisor/recommendation_engine.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/app/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/admin/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/admin/get_org_idp_map.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/admin/network/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/admin/network/add.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/user/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/auth/user/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/clouddriver/service.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/clouddriver/task.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/credential/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/credential/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/cs/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/cs/base.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/infra/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/infra/basic.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/infra/plan.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/order/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/order/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/order/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/order/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/order/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/tenant/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/tenant/consumption.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/tenant/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/daas/tenant/plan.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/debug/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/debug/prepare.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/debug/reset.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/debug/start.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/emqx.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/auth.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/clear.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/credential_helper.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/jenkins_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/k8s_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/license_info.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/mqtt_certs.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/required_fields.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/step_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/subscription_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/helper/util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/init.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/profiler.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/azsim.plan.yml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/azure.plan.yml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/mqtt-secret.yaml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/mqtt-server-external.yaml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/patch-mqtt-hostname.yml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/provided_files/patch-vernemq-ssl-depth.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/fs/tailor.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/test.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/util/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/util/log.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/dev/util/mqtt_helper.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/diagnostics/diagnose.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/connection_string.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/edge/wait.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/entitlement/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/entitlement/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/entitlement/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/entitlement/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hoc/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hoc/search.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hoc/stats.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hoc/util/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hoc/util/inv_cache.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/clean.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/cloud/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/cloud/health.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/cloud/perf.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/cloud/scale.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/installer.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/key.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/outpost.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/probe.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/report.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/hst/test.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/gold_pattern/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/gold_pattern/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/gold_pattern/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/gold_pattern/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/gold_pattern/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/list_copies.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/version/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/version/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/version/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/ims/version/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inspect.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/assign.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/count.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/deassign.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/logoff.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/session.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/inventory/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/iss/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/iss/mqtt.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/health.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/provider/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/provider/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/provider/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/provider/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/provider/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/register.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/cancel.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/expand.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/health.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/provision.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/retry.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/template/wait.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/test.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/pair.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/power.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/put.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/lcm/vm/wait.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/logout.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/datacenter/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/datacenter/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/datacenter/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/details/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/ff.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/location.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/org/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/ca.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/cert/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/cert/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/cert/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/sign.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pki/test.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/apply.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/clear.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/destroy.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/graph.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/input.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/output.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/resolve.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/plan/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/pool/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/profile/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/golden_images.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/provider/vsphere_dcs.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/query.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/health.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/operator.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/plan.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/recommend.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/scm/template.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/set-edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/site/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/outpost/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/run.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/probe/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/report/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/report/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/report/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/synt/report/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/task.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/create.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/expand.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/fix.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/list_usage.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/update.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/usage.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/template/wait.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/test.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/uag/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/uag/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/uag/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/uag/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/upgrade.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/actions.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/delete.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/get.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/list.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/log.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/pairing_info.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/put.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/use.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vm/wait.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmhub/info.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmhub/otp/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmhub/otp/redeem.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmhub/otp/request.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/restart_vms.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/rootca_edge_migration_stats.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/rootca_edge_rotate_certs.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/rootca_migrate.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/rootca_migrate_edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/vmm/rootca_template_migration_stats.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/workflows/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/cmds/workflows/mqtt-endpoints.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/config/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/akka.blueprint.yml +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/app/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/app/manual.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/edge/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/edge/akka.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/edge/vsphere.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/hoc/lcm-capcalc.json.template +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/hoc/no-spare.json.template +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/inventory/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/inventory/assign.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/inventory/deassign.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/iss/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/akka.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/azure-dummy.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/azure-real.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/edge-proxy.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-dedicated.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-delay-1m-per-vm.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-delete-template.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-destroy-onthread.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-destroy.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-prepare-onthread.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-prepare.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-vm-onthread.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-fail-vm.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-floating.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-legacy.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-manual.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-multisession.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-nanw.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-new-5k-delay.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-new-5k.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-new-snapshot.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-reuse-vm-id.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero-with-max-id-offset.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/lcm/zero.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/ad-stes-vsphere.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/akka.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/azure.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/edgeproxy.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/provider/vsphere.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/scm/starter.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p01-dummy-success.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p02-dummy-fail.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p03-dummy-exception.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p04-dummy-success-repeat.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p05-dummy-fail-repeat.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p06-dummy-exception-repeat.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p07-dummy-delay.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/core/p08-dummy-property.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p20-connect-success.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p21-connect-fail.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p30-ssl-success.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p31-ssl-fail.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p40-http-success.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p41-http-fail.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext/p42-http-status-code.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext1/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext1/p10-ping-success.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext1/p11-ping-fail.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/synt/ext1/p12-ping-success-repeat.json +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/payload/template/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/_prepare.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/ad.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/av_entitlement.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/av_fs.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/cert.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/entitlement.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/gold_pattern.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/identity_provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/image.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/import_av_app.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/manual_app.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/pool_group.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/pool_template.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/runtime/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/runtime/password.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/runtime/wait_for.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/site.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/provider/hcs/uag.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/ad.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/azure_infra.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/helper.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/template.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/uag.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/admin/vm.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/api.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/app_management/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/app_management/manual_app.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/auth/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/auth/admin.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/av/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/av/app.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/av/avimport.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/av/entitlements.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/av/fileshare.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/clouddriver/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/clouddriver/provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/clouddriver/service.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/credential/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/credential/credential.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/credential/nls.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/cs/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/cs/base.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/csp.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/diagnostics/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/diagnostics/edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/edge.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/edgehub/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/edgehub/edgecontroller.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/edgehub/edgetwin.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/graphql.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/hoc/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/hoc/diagnostic.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/hoc/es.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/gold_pattern.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/helper.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/image_copies.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/images.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/ims/version.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/inventory/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/inventory/session.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/inventory/vm.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/iss/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/iss/mqtt.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/lcm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/lcm/health.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/lcm/provider.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/lcm/template.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/lcm/vm.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/org_service/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/org_service/datacenter.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/org_service/details.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/org_service/orglocationmapping.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/pki/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/pki/certificate.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/pool.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/portal/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/portal/entitlement.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/portal/pool.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/portal/site.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/scm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/scm/base.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/scm/operator.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/scm/plan.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/synt/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/synt/outpost.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/synt/probe.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/synt/report.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/task.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/template.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/tsctl/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/tsctl/base.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/tsctl/task.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/uag.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vm.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmhub/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmhub/credentials.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmhub/mqtt.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmm/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmm/dct.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/service/vmm/hoc_event.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/__init__.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/constant.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/debug_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/exec_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/inspect_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/param_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/patch_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/plan_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/predefined_payload.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/scm/html_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/scm/plan-editor.html.template +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/scm/plan_editor.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/template_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/test_utils.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/test_utils2.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/hcs_cli/support/use_util.py +0 -0
- {hcs_cli-0.1.339 → hcs_cli-0.1.341}/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.341
|
|
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.341
|
|
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
|
|
@@ -3,7 +3,9 @@ import sys
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
|
|
5
5
|
import click
|
|
6
|
-
from hcs_core.ctxp import CtxpException
|
|
6
|
+
from hcs_core.ctxp import CtxpException
|
|
7
|
+
from hcs_core.sglib import hdc as hdc_session
|
|
8
|
+
from hcs_core.sglib.client_util import resolve_hcs_base_url
|
|
7
9
|
from hcs_cli.service import api as hcs_api
|
|
8
10
|
|
|
9
11
|
|
|
@@ -148,7 +150,9 @@ def api(
|
|
|
148
150
|
f"Method {method} does not support request body. Use --data or --json or STDIN only with POST, PUT, or PATCH methods."
|
|
149
151
|
)
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
# Command --hdc overrides global session; else session; else hcs.url
|
|
154
|
+
effective_hdc = hdc or hdc_session.active()
|
|
155
|
+
hcs_url = resolve_hcs_base_url(effective_hdc)
|
|
152
156
|
if path.startswith(hcs_url):
|
|
153
157
|
path = path[len(hcs_url) :]
|
|
154
158
|
if not path.startswith("/"):
|
|
@@ -157,6 +161,7 @@ def api(
|
|
|
157
161
|
if not path.startswith("/"):
|
|
158
162
|
raise click.UsageError("Path must start with a '/'. Please provide a valid context path. Provided path=" + path)
|
|
159
163
|
|
|
164
|
+
# Command-level --hdc/--region override session for this invocation
|
|
160
165
|
if region or hdc:
|
|
161
166
|
handler = hcs_api.with_context(hdc=hdc, region=region)
|
|
162
167
|
else:
|
|
@@ -28,7 +28,7 @@ import hcs_cli.cmds.dev.util.github_helper as github_helper
|
|
|
28
28
|
from hcs_cli.cmds.dev.util import log
|
|
29
29
|
from hcs_cli.cmds.dev.util.log import fail
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
NIGHTLY_TESTS_BRANCH = "feature/nanw"
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
def resolve(env_source: Optional[str], env_file: Optional[str], org_source_key: str, org_source_value: str):
|
|
@@ -38,8 +38,7 @@ def resolve(env_source: Optional[str], env_file: Optional[str], org_source_key:
|
|
|
38
38
|
env_path = _from_user_path(env_file)
|
|
39
39
|
elif env_source == "nightly":
|
|
40
40
|
os.environ[org_source_key] = org_source_value
|
|
41
|
-
|
|
42
|
-
env_path = _from_nightly_repo(customer_org)
|
|
41
|
+
env_path = _from_nightly_repo()
|
|
43
42
|
elif env_source == "local":
|
|
44
43
|
os.environ.pop(org_source_key, None)
|
|
45
44
|
env_path = _from_local()
|
|
@@ -69,8 +68,7 @@ def resolve_interactive(org_source_key: str, org_source_value: str) -> str:
|
|
|
69
68
|
|
|
70
69
|
if env_choice == "nightly":
|
|
71
70
|
os.environ[org_source_key] = org_source_value
|
|
72
|
-
|
|
73
|
-
return _from_nightly_repo(customer_org)
|
|
71
|
+
return _from_nightly_repo()
|
|
74
72
|
elif env_choice == "user_specified":
|
|
75
73
|
os.environ.pop(org_source_key, None)
|
|
76
74
|
completer = PathCompleter(expanduser=True)
|
|
@@ -81,35 +79,22 @@ def resolve_interactive(org_source_key: str, org_source_value: str) -> str:
|
|
|
81
79
|
return _from_local()
|
|
82
80
|
|
|
83
81
|
|
|
84
|
-
# --- helpers ---
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
def _resolve_customer_org() -> str:
|
|
88
|
-
"""Return customer org ID: from env if set, otherwise prompt with default."""
|
|
89
|
-
org = os.getenv("ORG_ID")
|
|
90
|
-
if org:
|
|
91
|
-
log.info(f"Target customer ORG_ID={org}")
|
|
92
|
-
return org
|
|
93
|
-
org = prompt("Enter target ORG_ID: ", default=FS_CUSTOMER_ORG_ID).strip()
|
|
94
|
-
os.environ["ORG_ID"] = org
|
|
95
|
-
log.info(f"Target customer ORG_ID={org}")
|
|
96
|
-
return org
|
|
97
|
-
|
|
98
|
-
|
|
99
82
|
# --- source resolvers ---
|
|
100
83
|
|
|
101
84
|
|
|
102
|
-
def _from_nightly_repo(
|
|
85
|
+
def _from_nightly_repo() -> str:
|
|
103
86
|
output_env_file = ".env"
|
|
104
87
|
|
|
105
88
|
github_helper.check_ssh_access()
|
|
106
|
-
with github_helper.repo("git@github.com:euc-eng/horizonv2-sg.nightly-tests.git") as repo:
|
|
107
|
-
config_data = repo.get(
|
|
108
|
-
|
|
89
|
+
with github_helper.repo("git@github.com:euc-eng/horizonv2-sg.nightly-tests.git", branch=NIGHTLY_TESTS_BRANCH) as repo:
|
|
90
|
+
config_data = repo.get(
|
|
91
|
+
"src/test/resources/com/vmware/integration/sg/payloads/onboard/configuration.txt",
|
|
92
|
+
branch=NIGHTLY_TESTS_BRANCH,
|
|
93
|
+
format="json",
|
|
94
|
+
)
|
|
95
|
+
config_props = repo.get("src/test/resources/config.properties", branch=NIGHTLY_TESTS_BRANCH)
|
|
109
96
|
|
|
110
97
|
_write_env_file(config_data, config_props, output_env_file)
|
|
111
|
-
with open(output_env_file, "a") as f:
|
|
112
|
-
f.write(f"\nORG_ID={customer_org}\n")
|
|
113
98
|
_organize_env_file(output_env_file)
|
|
114
99
|
|
|
115
100
|
log.good(f".env file created at: {Path(output_env_file).resolve()}")
|
|
@@ -175,6 +160,7 @@ def _write_env_file(data, props, env_file):
|
|
|
175
160
|
f.write(f"{_to_env_key(key)}={value}\n")
|
|
176
161
|
config_block = f"""HCS_CLIENT_ID={props["csp.service.app.client_id"]}
|
|
177
162
|
HCS_CLIENT_SECRET={props["csp.service.app.client_secret"]}
|
|
163
|
+
CSP_API_TOKEN={props["fs.csp.app.api_token"]}
|
|
178
164
|
IDP_TENANT_DOMAIN=test-sanity-domain
|
|
179
165
|
UAG_FQDN=myuag.fqdn
|
|
180
166
|
DESKTOP_SUBNET_CIDR=10.76.0.0/16
|
|
@@ -201,6 +187,7 @@ IMAGE_PASSWORD={ad_password}
|
|
|
201
187
|
VM_USER_NAME={ad_username}
|
|
202
188
|
VM_PASSWORD={ad_password}
|
|
203
189
|
DEPLOYMENT_ID=az-1
|
|
190
|
+
ORG_ID={props["fs.csp.app.orgId"]}
|
|
204
191
|
"""
|
|
205
192
|
f.write(config_block)
|
|
206
193
|
|
|
@@ -216,7 +203,7 @@ def _to_env_key(key):
|
|
|
216
203
|
def _organize_env_file(env_file):
|
|
217
204
|
group_rules = OrderedDict(
|
|
218
205
|
[
|
|
219
|
-
("Credentials (Optional):", ["HCS_CLIENT_ID", "HCS_CLIENT_SECRET"]),
|
|
206
|
+
("Credentials (Optional):", ["HCS_CLIENT_ID", "HCS_CLIENT_SECRET", "CSP_API_TOKEN"]),
|
|
220
207
|
("Identity Provider (IDP) Configuration", ["IDP_USER_NAME", "IDP_PASSWORD", "IDP_TENANT_DOMAIN"]),
|
|
221
208
|
(
|
|
222
209
|
"AD Configuration",
|
|
@@ -18,7 +18,7 @@ from hcs_core.ctxp.util import error_details
|
|
|
18
18
|
|
|
19
19
|
import hcs_cli.cmds.dev.util.github_helper as github_helper
|
|
20
20
|
import hcs_cli.support.profile as profile_support
|
|
21
|
-
from hcs_cli.cmds.dev.fs.helper import credential_helper, k8s_util, license_info,
|
|
21
|
+
from hcs_cli.cmds.dev.fs.helper import credential_helper, k8s_util, license_info, subscription_util, mqtt_certs
|
|
22
22
|
from hcs_cli.cmds.dev.fs.helper.k8s_util import kubectl
|
|
23
23
|
from hcs_cli.cmds.dev.fs.helper.step_util import step
|
|
24
24
|
from hcs_cli.cmds.dev.util import log
|
|
@@ -369,11 +369,7 @@ def prepare_profile(fs_name: str):
|
|
|
369
369
|
|
|
370
370
|
if profile_org_id:
|
|
371
371
|
if profile_org_id != token_org_id and not use_nightly_test_org:
|
|
372
|
-
log.warn(
|
|
373
|
-
f"Profile orgId ({profile_org_id}) does not match API token org ({token_org_id}). Updating profile to use the API token org."
|
|
374
|
-
)
|
|
375
|
-
profile_data.csp.orgId = token_org_id
|
|
376
|
-
profile.save()
|
|
372
|
+
log.warn(f"Profile orgId ({profile_org_id}) does not match API token org ({token_org_id}). Be careful about such config.")
|
|
377
373
|
else:
|
|
378
374
|
pass
|
|
379
375
|
else:
|
|
@@ -705,8 +701,9 @@ def update_mqtt():
|
|
|
705
701
|
if delete_temp_files and os.path.exists(tmp_secret.name):
|
|
706
702
|
os.remove(tmp_secret.name)
|
|
707
703
|
|
|
708
|
-
|
|
709
|
-
|
|
704
|
+
from hcs_core.sglib.client_util import resolve_regions
|
|
705
|
+
|
|
706
|
+
resolve_regions()[0].mqtt = ip_address
|
|
710
707
|
profile.save()
|
|
711
708
|
log.good("MQTT external IP updated in profile.")
|
|
712
709
|
|
|
@@ -714,10 +711,11 @@ def update_mqtt():
|
|
|
714
711
|
@step
|
|
715
712
|
def test_mqtt():
|
|
716
713
|
import hcs_cli.cmds.dev.util.mqtt_helper as mqtt_helper
|
|
714
|
+
from hcs_core.sglib.client_util import resolve_regions
|
|
717
715
|
|
|
718
716
|
try:
|
|
719
717
|
cert_config = mqtt_helper.prepare_cert(os.getenv("ORG_ID"))
|
|
720
|
-
mqtt_helper.test_mqtt(
|
|
718
|
+
mqtt_helper.test_mqtt(resolve_regions()[0].mqtt, 443, cert_config)
|
|
721
719
|
except Exception as e:
|
|
722
720
|
log.warn("Failed testing MQTT:" + error_details(e))
|
|
723
721
|
|
|
@@ -50,8 +50,9 @@ def test(org: str, **kwargs):
|
|
|
50
50
|
_verify_cert_chain(cert_config["client_cert_chain_legacy_file"])
|
|
51
51
|
_verify_cert_chain(cert_config["client_cert_chain_no_org_file"])
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
from hcs_core.sglib.client_util import resolve_regions
|
|
54
|
+
|
|
55
|
+
for region_config in resolve_regions():
|
|
55
56
|
print(f"---- Testing MQTT (cert from PKI) in region: {region_config.name} -----")
|
|
56
57
|
host = region_config.mqtt
|
|
57
58
|
port = 8883 if _is_feature_stack() else 443
|
|
@@ -78,9 +79,10 @@ def _test_mqtt(host, port, cert_config, cert_name):
|
|
|
78
79
|
|
|
79
80
|
|
|
80
81
|
def test_vmhub_otp(org_id: str):
|
|
81
|
-
|
|
82
|
+
from hcs_core.sglib.client_util import resolve_regions
|
|
83
|
+
|
|
82
84
|
resource_name = "agent1"
|
|
83
|
-
for region_config in
|
|
85
|
+
for region_config in resolve_regions():
|
|
84
86
|
print(f"---- Testing MQTT (cert from VMHub) in region: {region_config.name} -----")
|
|
85
87
|
vmhub.credentials.use_region(region_config.name)
|
|
86
88
|
otp = vmhub.credentials.request(org_id, resource_name)
|
|
@@ -101,7 +101,7 @@ def delete(all: bool, org: str):
|
|
|
101
101
|
url = profile_data.hcs.url
|
|
102
102
|
org = run_cli("hcs org get", output_json=True)
|
|
103
103
|
|
|
104
|
-
click.secho("⚠️ This will
|
|
104
|
+
click.secho("⚠️ This will DELETE ALL RESOURCES in the org.", fg="bright_red")
|
|
105
105
|
click.echo(" Profile name: " + profile.name())
|
|
106
106
|
click.echo(" HCS URL: " + url)
|
|
107
107
|
click.echo(" Org: " + org["orgName"])
|
|
@@ -23,19 +23,20 @@ def check_ssh_access():
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class _RepoReader:
|
|
26
|
-
def __init__(self, git_url: str):
|
|
26
|
+
def __init__(self, git_url: str, branch: str = "master"):
|
|
27
27
|
# url = "https://github.com/euc-eng/horizonv2-sg.nightly-tests.git"
|
|
28
28
|
# url = "git@github.com:euc-eng/horizonv2-sg.nightly-tests.git"
|
|
29
29
|
if git_url.startswith("https://github.com/"):
|
|
30
30
|
git_url = "git@github.com:" + git_url[len("https://github.com/") :]
|
|
31
31
|
self.git_url = git_url
|
|
32
|
+
self.branch = branch
|
|
32
33
|
self.temp_dir = None
|
|
33
34
|
|
|
34
35
|
def __enter__(self):
|
|
35
36
|
# Generate a unique temporary directory name (but don't create it)
|
|
36
37
|
unique_id = str(uuid.uuid4())[:8]
|
|
37
38
|
self.temp_dir = os.path.join(tempfile.gettempdir(), f"repo_reader_{unique_id}")
|
|
38
|
-
cmd = f"git clone --filter=blob:none --no-checkout --depth=1 {self.git_url} {self.temp_dir}"
|
|
39
|
+
cmd = f"git clone --filter=blob:none --no-checkout --depth=1 --branch {self.branch} {self.git_url} {self.temp_dir}"
|
|
39
40
|
exec(cmd, log_error=True, raise_on_error=False, inherit_output=True).stdout
|
|
40
41
|
|
|
41
42
|
return self
|
|
@@ -78,5 +79,5 @@ class _RepoReader:
|
|
|
78
79
|
raise ValueError(f"Unsupported format: {format}")
|
|
79
80
|
|
|
80
81
|
|
|
81
|
-
def repo(git_url: str) -> _RepoReader:
|
|
82
|
-
return _RepoReader(git_url)
|
|
82
|
+
def repo(git_url: str, branch: str = "master") -> _RepoReader:
|
|
83
|
+
return _RepoReader(git_url, branch=branch)
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright © 2025 Omnissa, LLC.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import sys
|
|
7
|
+
from datetime import timezone
|
|
8
|
+
|
|
9
|
+
import click
|
|
10
|
+
import yumako
|
|
11
|
+
from hcs_core.ctxp import util
|
|
12
|
+
from hcs_core.sglib import cli_options as cli
|
|
13
|
+
|
|
14
|
+
from hcs_cli.service import hoc
|
|
15
|
+
from hcs_cli.support import predefined_payload
|
|
16
|
+
from hcs_cli.support.log.message_parser import parse_message
|
|
17
|
+
from hcs_cli.support.log.query_builder import update_query
|
|
18
|
+
|
|
19
|
+
_hdcs = ["US", "EU", "JP"]
|
|
20
|
+
|
|
21
|
+
_regions = [
|
|
22
|
+
"any", # magic flag. Search log of all regional clusters related to the selected HDC. [default]
|
|
23
|
+
"eastus2",
|
|
24
|
+
"westus2",
|
|
25
|
+
"centralus",
|
|
26
|
+
"westcentralus",
|
|
27
|
+
"germanynorth",
|
|
28
|
+
"germanywestcentral",
|
|
29
|
+
"northeurope",
|
|
30
|
+
"uksouth",
|
|
31
|
+
"westeurope",
|
|
32
|
+
"japaneast",
|
|
33
|
+
"japanwest",
|
|
34
|
+
"australiaeast",
|
|
35
|
+
"aussoutheast",
|
|
36
|
+
"centralindia",
|
|
37
|
+
"southindia",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# US
|
|
42
|
+
PROD_US_HDC_WESTUS2 = "prod110-hdc-westus2-cp102-*" # primary
|
|
43
|
+
PROD_US_HDC_CENTRALUS = "prod110-hdc-centralus-cp102-*"
|
|
44
|
+
|
|
45
|
+
PROD_US_R_WESTUS2 = "prod110-r-westus2-cp102-*" # primary
|
|
46
|
+
PROD_US_R_EASTUS2 = "prod110-r-eastus2-cp102-*" # primary
|
|
47
|
+
PROD_US_R_CENTRALUS = "prod110-r-centralus-cp102-*" # standby
|
|
48
|
+
PROD_US_R_WESTCENTRALUS = "prod110-r-westcentralus-cp102-*" # standby
|
|
49
|
+
|
|
50
|
+
# EU
|
|
51
|
+
PROD_EU_HDC_NORTHEUROPE = "prod110-hdc-northeurope-cp102-*" # primary
|
|
52
|
+
PROD_EU_HDC_WESTEUROPE = "prod110-hdc-westeurope-cp102-*"
|
|
53
|
+
|
|
54
|
+
PROD_EU_R_GERMANYNORTH = "prod110-r-germanynorth-cp102-*" # primary
|
|
55
|
+
PROD_EU_R_GERMANYWESTCENTRAL = "prod110-r-germanywestcentral-cp102-*"
|
|
56
|
+
PROD_EU_R_NORTHEUROPE = "prod110-r-northeurope-cp102-*" # primary
|
|
57
|
+
PROD_EU_R_UKSOUTH = "prod110-r-uksouth-cp102-*" # primary
|
|
58
|
+
PROD_EU_R_WESTEUROPE = "prod110-r-westeurope-cp102-*"
|
|
59
|
+
|
|
60
|
+
# JP
|
|
61
|
+
PROD_JP_HDC_JAPANEAST = "prod110-hdc-japaneast-cp102-*" # primary
|
|
62
|
+
PROD_JP_HDC_JAPANWEST = "prod110-hdc-japanwest-cp102-*"
|
|
63
|
+
|
|
64
|
+
PROD_JP_R_JAPANEAST = "prod110-r-japaneast-cp102-*"
|
|
65
|
+
PROD_JP_R_JAPANWEST = "prod110-r-japanwest-cp102-*"
|
|
66
|
+
PROD_AUS_R_AUSTRALIAEAST = "prod110-r-australiaeast-cp102-*"
|
|
67
|
+
PROD_AUS_R_AUSSOUTHEAST = "prod110-r-aussoutheast-cp102-*"
|
|
68
|
+
PROD_IND_R_CENTRALINDIA = "prod110-r-centralindia-cp102-*"
|
|
69
|
+
PROD_IND_R_SOUTHINDIA = "prod110-r-southindia-cp102-*"
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
ANY_HDC_AND_REGION = "prod110-*-*-cp102-*"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@click.command()
|
|
76
|
+
@click.option(
|
|
77
|
+
"--from",
|
|
78
|
+
"from_param",
|
|
79
|
+
type=str,
|
|
80
|
+
required=False,
|
|
81
|
+
default="-24h",
|
|
82
|
+
help="Sepcify the from date. E.g. '-1d', or '-1h35m', or '-1w', or '2023-12-04T00:19:22.854Z'.",
|
|
83
|
+
)
|
|
84
|
+
@click.option(
|
|
85
|
+
"--to",
|
|
86
|
+
type=str,
|
|
87
|
+
required=False,
|
|
88
|
+
default="now",
|
|
89
|
+
help="Sepcify the to date. E.g. 'now', or '-1d', or '-1h35m', or '-1w', or '2023-12-04T00:19:22.854Z'.",
|
|
90
|
+
)
|
|
91
|
+
@click.option("--hdc", required=False, type=click.Choice(_hdcs, case_sensitive=False), help="The HDC location.")
|
|
92
|
+
@click.option("--region", required=False, type=click.Choice(_regions, case_sensitive=False), help="Search log of regional cluster.")
|
|
93
|
+
@click.option(
|
|
94
|
+
"--service",
|
|
95
|
+
required=False,
|
|
96
|
+
help="Filter by kubernetes.pod_labels.app. If multiple apps, use comma to separate, e.g. --service inventory,lcm",
|
|
97
|
+
)
|
|
98
|
+
@click.option(
|
|
99
|
+
"--pod",
|
|
100
|
+
required=False,
|
|
101
|
+
help="Filter by kubernetes.pod_name. If multiple pods, use comma to separate, e.g. --pod clouddriver-statefulset-0,clouddriver-statefulset-1",
|
|
102
|
+
)
|
|
103
|
+
@click.option(
|
|
104
|
+
"--index",
|
|
105
|
+
required=False,
|
|
106
|
+
type=str,
|
|
107
|
+
help="Explicit ES index/index-pattern to query, overriding the --hdc-derived lookup. "
|
|
108
|
+
"E.g. --index 'prod110-r-japaneast-cp102-*' to search precisely for a single regional cluster.",
|
|
109
|
+
)
|
|
110
|
+
@cli.limit(default=500)
|
|
111
|
+
@click.option("--raw", is_flag=True, default=False, help="If raw, output the raw result.")
|
|
112
|
+
@click.argument("query", type=str, required=False)
|
|
113
|
+
def log(
|
|
114
|
+
from_param: str,
|
|
115
|
+
to: str,
|
|
116
|
+
hdc: str,
|
|
117
|
+
region: str,
|
|
118
|
+
service: str,
|
|
119
|
+
pod: str,
|
|
120
|
+
index: str,
|
|
121
|
+
limit: int,
|
|
122
|
+
raw: bool,
|
|
123
|
+
query: str,
|
|
124
|
+
):
|
|
125
|
+
"""Search Kibana Log."""
|
|
126
|
+
|
|
127
|
+
if region and index:
|
|
128
|
+
return util.error_details(ValueError("--region and --index must not be used together.")), 1
|
|
129
|
+
|
|
130
|
+
# ES index pick (orthogonal to profile URL). Global --hdc fills in when command omits --hdc.
|
|
131
|
+
if not hdc:
|
|
132
|
+
from hcs_core.sglib import hdc as hdc_session
|
|
133
|
+
|
|
134
|
+
hdc = hdc_session.active() or "US"
|
|
135
|
+
else:
|
|
136
|
+
hdc = hdc.upper()
|
|
137
|
+
|
|
138
|
+
if index:
|
|
139
|
+
es_logs_search_index = index
|
|
140
|
+
elif region:
|
|
141
|
+
if region == "any":
|
|
142
|
+
# search any HDC and region. still scoped to datasource.
|
|
143
|
+
es_logs_search_index = ANY_HDC_AND_REGION
|
|
144
|
+
else:
|
|
145
|
+
# search only specific region
|
|
146
|
+
es_logs_search_index = f"prod110-r-{region.lower()}-cp102-*"
|
|
147
|
+
else:
|
|
148
|
+
# hdc only
|
|
149
|
+
if hdc == "US":
|
|
150
|
+
es_logs_search_index = PROD_US_HDC_WESTUS2
|
|
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
|
+
raise ValueError("Unknown HDC")
|
|
157
|
+
|
|
158
|
+
text = predefined_payload.load("hoc/logs.jsont")
|
|
159
|
+
replacements = {
|
|
160
|
+
"from": int(yumako.time.of(from_param, tz=timezone.utc).timestamp() * 1000),
|
|
161
|
+
"to": int(yumako.time.of(to, tz=timezone.utc).timestamp() * 1000),
|
|
162
|
+
"query": query or "",
|
|
163
|
+
"es_logs_search_index": es_logs_search_index,
|
|
164
|
+
}
|
|
165
|
+
try:
|
|
166
|
+
text = yumako.template.replace(
|
|
167
|
+
text=text,
|
|
168
|
+
mapping=replacements,
|
|
169
|
+
raise_on_unresolved_vars=True,
|
|
170
|
+
raise_on_unused_vars=True,
|
|
171
|
+
)
|
|
172
|
+
except ValueError as e:
|
|
173
|
+
return util.error_details(e), 1
|
|
174
|
+
|
|
175
|
+
parts = text.split("///", 2)
|
|
176
|
+
try:
|
|
177
|
+
first_line = json.loads(parts[0])
|
|
178
|
+
except Exception as e:
|
|
179
|
+
print(text, file=sys.stderr)
|
|
180
|
+
print(e, file=sys.stderr)
|
|
181
|
+
return
|
|
182
|
+
try:
|
|
183
|
+
second_line = json.loads(parts[1])
|
|
184
|
+
except Exception as e:
|
|
185
|
+
print(text, file=sys.stderr)
|
|
186
|
+
print(e, file=sys.stderr)
|
|
187
|
+
return
|
|
188
|
+
|
|
189
|
+
second_line["size"] = limit
|
|
190
|
+
|
|
191
|
+
update_query(second_line, app_names=service, pod_names=pod)
|
|
192
|
+
|
|
193
|
+
payload_jsonp = json.dumps(first_line) + "\n" + json.dumps(second_line) + "\n"
|
|
194
|
+
|
|
195
|
+
# This will restrict to the specific data source.
|
|
196
|
+
hdc_location_mapping = {
|
|
197
|
+
"US": "US_APM",
|
|
198
|
+
"EU": "EU_APM",
|
|
199
|
+
"JP": "JP_APM",
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
# print(payload_jsonp)
|
|
203
|
+
result = hoc.es.raw_query(payload_jsonp, hdc_location=hdc_location_mapping[hdc])
|
|
204
|
+
if raw:
|
|
205
|
+
return result
|
|
206
|
+
|
|
207
|
+
# format the result to pure message array
|
|
208
|
+
ret = []
|
|
209
|
+
for item in result:
|
|
210
|
+
ret.append(parse_message(item))
|
|
211
|
+
return ret
|
|
@@ -60,13 +60,13 @@ from hcs_cli.support import profile as profile_support
|
|
|
60
60
|
"-r",
|
|
61
61
|
default=False,
|
|
62
62
|
is_flag=True,
|
|
63
|
-
help="Used only in non-interactive mode.
|
|
63
|
+
help="Forcefully refresh the cached access token. Used only in non-interactive mode.",
|
|
64
64
|
)
|
|
65
65
|
@click.option(
|
|
66
66
|
"--service",
|
|
67
67
|
"-s",
|
|
68
68
|
required=False,
|
|
69
|
-
help="
|
|
69
|
+
help="Get the auth details for a target service. Useful if per-service auth override is configured.",
|
|
70
70
|
)
|
|
71
71
|
@click.option(
|
|
72
72
|
"--verbose",
|
|
@@ -57,11 +57,7 @@ def init(name: str, dev: bool, feature_stack: str, org: str, client_id: str, cli
|
|
|
57
57
|
if feature_stack:
|
|
58
58
|
if not name:
|
|
59
59
|
name = feature_stack
|
|
60
|
-
data = profile_support.
|
|
61
|
-
url = f"https://{feature_stack}.fs.devframe.cp.horizon.omnissa.com"
|
|
62
|
-
data["hcs"]["url"] = url
|
|
63
|
-
for r in data["hcs"]["regions"]:
|
|
64
|
-
r["url"] = url
|
|
60
|
+
data = profile_support.create_for_feature_stack(feature_stack)
|
|
65
61
|
elif copy:
|
|
66
62
|
data = profile_support.get_profile_template(copy)
|
|
67
63
|
if not data:
|