diff --git a/src/health-models/HISTORY.rst b/src/health-models/HISTORY.rst index ad2f8661f73..4e772f0fd1f 100644 --- a/src/health-models/HISTORY.rst +++ b/src/health-models/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +1.0.0 ++++++ +* Use the stable ``2026-11-01`` API, remove preview markings, support entity signal aggregation groups and nested recommendation configurations, and remove ``lookBackWindow`` from threshold rules. + 1.0.0b2 ++++++ * Mark the ``az monitor health-models`` command group and all of its commands as preview (``[Preview]``), matching the extension's preview status. diff --git a/src/health-models/README.md b/src/health-models/README.md index 37db47c92cf..5f71041bdf6 100644 --- a/src/health-models/README.md +++ b/src/health-models/README.md @@ -2,6 +2,8 @@ This is the extension for Azure Health Models. Azure Health Models (`Microsoft.CloudHealth`) represent the operational health of a workload as an entity graph. Entities are services or components, edges are parent-child relationships, and each entity carries health signals derived from metrics or logs. Signals roll up through the graph. Alerts can be configured to get notified on health changes. +Version 1.0.0 uses the stable `2026-11-01` API. Entity create and update accept `--signal-aggregation-groups`. Signal recommendations return kind-specific fields under `configuration`, identified by `configuration.signalKind`. Threshold rules no longer accept `lookBackWindow`. + ### How to use ### Install this extension using the below CLI command ``` diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/__cmd_group.py index c9393311d9b..74495d700e7 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Azure Monitor health models. diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_create.py index 7f9899b3c73..1d9ff080cab 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_create.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models create", - is_preview=True, ) class Create(AAZCommand): """Create a HealthModel @@ -23,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01"], ] } @@ -179,7 +178,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_delete.py index 04eb3700940..ff362271560 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01"], ] } @@ -147,7 +146,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_list.py index a212d0e3f63..f72fe99c064 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models list", - is_preview=True, ) class List(AAZCommand): """List HealthModel resources by subscription ID @@ -26,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.cloudhealth/healthmodels", "2026-05-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.cloudhealth/healthmodels", "2026-11-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels", "2026-11-01"], ] } @@ -116,7 +115,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -286,7 +285,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_show.py index 3532082e7fd..5dfc5fa133a 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models show", - is_preview=True, ) class Show(AAZCommand): """Get a HealthModel @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01"], ] } @@ -124,7 +123,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_update.py index 8a785640301..9f2a8250bc6 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_update.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models update", - is_preview=True, ) class Update(AAZCommand): """Update a HealthModel @@ -23,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01"], ] } @@ -157,7 +156,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -256,7 +255,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_wait.py index a58af73d6f0..46664f50754 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01"], ] } @@ -119,7 +119,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/__cmd_group.py index 8912857afc0..c348219e98e 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models authentication-setting", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Authenticationsetting diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_create.py index a9f6dd82f60..b822dddd93f 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_create.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models authentication-setting create", - is_preview=True, ) class Create(AAZCommand): """Create a AuthenticationSetting @@ -23,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-11-01"], ] } @@ -180,7 +179,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_delete.py index b09a8a837ca..a6207232b4b 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models authentication-setting delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-11-01"], ] } @@ -160,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_list.py index 9b2358642bf..3a2bfdb502b 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models authentication-setting list", - is_preview=True, ) class List(AAZCommand): """List AuthenticationSetting resources by HealthModel @@ -23,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings", "2026-11-01"], ] } @@ -125,7 +124,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_show.py index 53b0406f0ce..948a3b585a5 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models authentication-setting show", - is_preview=True, ) class Show(AAZCommand): """Get a AuthenticationSetting @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_update.py index 4c3ae55d528..981ad3675e4 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_update.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models authentication-setting update", - is_preview=True, ) class Update(AAZCommand): """Update a AuthenticationSetting @@ -23,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-11-01"], ] } @@ -181,7 +180,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -284,7 +283,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_wait.py index b6759c8a3ef..bde6bfc1088 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/authentication_setting/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/authenticationsettings/{}", "2026-11-01"], ] } @@ -132,7 +132,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/__cmd_group.py index 7fe96f5c9fd..7cee7a2f182 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models discovery-rule", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Discoveryrule diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_create.py index 3f0ed400875..07950c94ad7 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_create.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models discovery-rule create", - is_preview=True, ) class Create(AAZCommand): """Create a DiscoveryRule @@ -23,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-11-01"], ] } @@ -223,7 +222,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_delete.py index f45e3135404..ac83820adf3 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models discovery-rule delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-11-01"], ] } @@ -160,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_list.py index 466561eaace..e479ec51e19 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models discovery-rule list", - is_preview=True, ) class List(AAZCommand): """List DiscoveryRule resources by HealthModel @@ -23,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules", "2026-11-01"], ] } @@ -135,7 +134,7 @@ def query_parameters(self): "timestamp", self.ctx.args.timestamp, ), **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_show.py index 962821d0682..93f533d65cb 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models discovery-rule show", - is_preview=True, ) class Show(AAZCommand): """Get a DiscoveryRule @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_update.py index 7532dc1286b..50b5874cd69 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_update.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models discovery-rule update", - is_preview=True, ) class Update(AAZCommand): """Update a DiscoveryRule @@ -23,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-11-01"], ] } @@ -223,7 +222,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -326,7 +325,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_wait.py index 990d2fa2a55..72fca874764 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/discovery_rule/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/discoveryrules/{}", "2026-11-01"], ] } @@ -132,7 +132,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/__cmd_group.py index 3fc40da5a12..dc2b437867d 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models entity", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Entity diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_add_data_annotation.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_add_data_annotation.py index e2b4fa3dc50..6ba9a9a6042 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_add_data_annotation.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_add_data_annotation.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity add-data-annotation", - is_preview=True, ) class AddDataAnnotation(AAZCommand): """Add a data annotation to an entity @@ -23,9 +22,9 @@ class AddDataAnnotation(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/adddataannotation", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/adddataannotation", "2026-11-01"], ] } @@ -162,7 +161,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_create.py index 469c511cd86..bd9898e3a1b 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_create.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity create", - is_preview=True, ) class Create(AAZCommand): """Create a Entity @@ -23,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-11-01"], ] } @@ -109,6 +108,15 @@ def _build_arguments_schema(cls, *args, **kwargs): default="Standard", enum={"Limited": "Limited", "Standard": "Standard", "Suppressed": "Suppressed"}, ) + _args_schema.signal_aggregation_groups = AAZListArg( + options=["--signal-aggregation-groups"], + arg_group="Properties", + help="Logical aggregation groups over the signals on this entity. Overlap is allowed: the same signal may appear in more than one group's members. Each group is evaluated independently according to its strategy, and a shared signal can contribute to multiple group states and related per-group telemetry. Group states contribute alongside any ungrouped signals and the dependency-aggregated child health to the entity's overall worst-of composite.", + fmt=AAZListArgFormat( + max_length=20, + min_length=1, + ), + ) _args_schema.signal_groups = AAZObjectArg( options=["--signal-groups"], arg_group="Properties", @@ -163,6 +171,73 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) + signal_aggregation_groups = cls._args_schema.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectArg() + + _element = cls._args_schema.signal_aggregation_groups.Element + _element.aggregation_type = AAZStrArg( + options=["aggregation-type"], + help="Aggregation strategy applied across the members of this group.", + default="WorstOf", + enum={"BestOf": "BestOf", "MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, + ) + _element.degraded_threshold = AAZFloatArg( + options=["degraded-threshold"], + help="Degraded threshold for threshold-bearing strategies (MinHealthy, MaxNotHealthy). For MinHealthy: group is degraded when the healthy member count/percentage falls to or below this value. For MaxNotHealthy: group is degraded when the not-healthy member count/percentage reaches or exceeds this value. Optional — if not set, the group transitions directly between Healthy and Unhealthy. MUST NOT be set when aggregationType is WorstOf or BestOf.", + fmt=AAZFloatArgFormat( + minimum=0.0, + ), + ) + _element.display_name = AAZStrArg( + options=["display-name"], + help="Display name", + fmt=AAZStrArgFormat( + max_length=260, + min_length=1, + ), + ) + _element.ignore_unknown = AAZBoolArg( + options=["ignore-unknown"], + help="If true (default), members reporting Unknown are excluded from the aggregation. For MinHealthy and MaxNotHealthy this flag affects the denominator/count and is meaningful. For WorstOf and BestOf the flag has no observable effect: under WorstOf, Unknown=0 is the lowest severity and can never beat any non-Unknown member in a Max() so filtering it changes nothing observable; under BestOf, Unknown is unconditionally excluded by the strategy itself irrespective of the flag. The flag is retained on the contract for vocabulary symmetry across all four strategies.", + default=True, + ) + _element.members = AAZListArg( + options=["members"], + help="Names of signals on this entity which are members of the group. Members are matched by name; references to signals that do not currently exist on the entity are accepted (typically for pre-declared external signals) and surfaced via 'unresolvedMembers'. A signal may be listed in multiple groups; no duplicates within this list.", + required=True, + fmt=AAZListArgFormat( + max_length=50, + min_length=1, + ), + ) + _element.name = AAZStrArg( + options=["name"], + help="Name of the aggregation group. Unique within the entity.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$", + ), + ) + _element.unhealthy_threshold = AAZFloatArg( + options=["unhealthy-threshold"], + help="Unhealthy threshold for threshold-bearing strategies. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.", + fmt=AAZFloatArgFormat( + minimum=0.0, + ), + ) + _element.unit = AAZStrArg( + options=["unit"], + help="Unit type for the thresholds. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.", + enum={"Absolute": "Absolute", "Percentage": "Percentage"}, + ) + + members = cls._args_schema.signal_aggregation_groups.Element.members + members.Element = AAZStrArg( + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$", + ), + ) + signal_groups = cls._args_schema.signal_groups signal_groups.azure_log_analytics = AAZObjectArg( options=["azure-log-analytics"], @@ -422,7 +497,7 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["dimension-filter"], help="Optional: Dimension filter to apply to the dimension. Must only be set if also Dimension is set.", fmt=AAZStrArgFormat( - max_length=256, + max_length=2048, min_length=1, ), ) @@ -491,7 +566,7 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Aggregation type for child dependencies.", required=True, default="WorstOf", - enum={"MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, + enum={"BestOf": "BestOf", "MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, ) dependencies.degraded_threshold = AAZFloatArg( options=["degraded-threshold"], @@ -601,7 +676,6 @@ def _build_args_evaluation_rule_create(cls, _schema): @classmethod def _build_args_threshold_rule_v2_create(cls, _schema): if cls._args_threshold_rule_v2_create is not None: - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -610,11 +684,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): cls._args_threshold_rule_v2_create = AAZObjectArg() threshold_rule_v2_create = cls._args_threshold_rule_v2_create - threshold_rule_v2_create.look_back_window = AAZStrArg( - options=["look-back-window"], - help="ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic.", - enum={"PT15M": "PT15M", "PT1H": "PT1H", "PT30M": "PT30M", "PT5M": "PT5M"}, - ) threshold_rule_v2_create.operator = AAZStrArg( options=["operator"], help="Operator how to compare the signal value with the threshold", @@ -631,7 +700,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): help="Threshold value", ) - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -721,7 +789,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -756,6 +824,7 @@ def content(self): properties.set_prop("healthObjective", AAZFloatType, ".health_objective") properties.set_prop("icon", AAZObjectType, ".icon") properties.set_prop("impact", AAZStrType, ".impact") + properties.set_prop("signalAggregationGroups", AAZListType, ".signal_aggregation_groups") properties.set_prop("signalGroups", AAZObjectType, ".signal_groups") properties.set_prop("tags", AAZDictType, ".tags") @@ -774,6 +843,25 @@ def content(self): icon.set_prop("customData", AAZStrType, ".custom_data") icon.set_prop("iconName", AAZStrType, ".icon_name", typ_kwargs={"flags": {"required": True}}) + signal_aggregation_groups = _builder.get(".properties.signalAggregationGroups") + if signal_aggregation_groups is not None: + signal_aggregation_groups.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.signalAggregationGroups[]") + if _elements is not None: + _elements.set_prop("aggregationType", AAZStrType, ".aggregation_type") + _elements.set_prop("degradedThreshold", AAZFloatType, ".degraded_threshold") + _elements.set_prop("displayName", AAZStrType, ".display_name") + _elements.set_prop("ignoreUnknown", AAZBoolType, ".ignore_unknown") + _elements.set_prop("members", AAZListType, ".members", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("name", AAZStrType, ".name", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("unhealthyThreshold", AAZFloatType, ".unhealthy_threshold") + _elements.set_prop("unit", AAZStrType, ".unit") + + members = _builder.get(".properties.signalAggregationGroups[].members") + if members is not None: + members.set_elements(AAZStrType, ".") + signal_groups = _builder.get(".properties.signalGroups") if signal_groups is not None: signal_groups.set_prop("azureLogAnalytics", AAZObjectType, ".azure_log_analytics") @@ -929,6 +1017,9 @@ def _build_schema_on_200_201(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.signal_aggregation_groups = AAZListType( + serialized_name="signalAggregationGroups", + ) properties.signal_groups = AAZObjectType( serialized_name="signalGroups", ) @@ -957,6 +1048,47 @@ def _build_schema_on_200_201(cls): flags={"required": True}, ) + signal_aggregation_groups = cls._schema_on_200_201.properties.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.signal_aggregation_groups.Element + _element.aggregated_health_state = AAZStrType( + serialized_name="aggregatedHealthState", + flags={"read_only": True}, + ) + _element.aggregation_type = AAZStrType( + serialized_name="aggregationType", + ) + _element.degraded_threshold = AAZFloatType( + serialized_name="degradedThreshold", + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + ) + _element.ignore_unknown = AAZBoolType( + serialized_name="ignoreUnknown", + ) + _element.members = AAZListType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.unhealthy_threshold = AAZFloatType( + serialized_name="unhealthyThreshold", + ) + _element.unit = AAZStrType() + _element.unresolved_members = AAZListType( + serialized_name="unresolvedMembers", + flags={"read_only": True}, + ) + + members = cls._schema_on_200_201.properties.signal_aggregation_groups.Element.members + members.Element = AAZStrType() + + unresolved_members = cls._schema_on_200_201.properties.signal_aggregation_groups.Element.unresolved_members + unresolved_members.Element = AAZStrType() + signal_groups = cls._schema_on_200_201.properties.signal_groups signal_groups.azure_log_analytics = AAZObjectType( serialized_name="azureLogAnalytics", @@ -1288,7 +1420,6 @@ def _build_schema_evaluation_rule_create(cls, _builder): def _build_schema_threshold_rule_v2_create(cls, _builder): if _builder is None: return - _builder.set_prop("lookBackWindow", AAZStrType, ".look_back_window") _builder.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}}) _builder.set_prop("sensitivity", AAZStrType, ".sensitivity") _builder.set_prop("threshold", AAZFloatType, ".threshold") @@ -1392,7 +1523,6 @@ def _build_schema_signal_status_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -1401,16 +1531,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_delete.py index 5e366c14cf9..8986e708e62 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-11-01"], ] } @@ -160,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_data_annotations.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_data_annotations.py index 5a1d12a82ea..ddf35691ebf 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_data_annotations.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_data_annotations.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity get-data-annotations", - is_preview=True, ) class GetDataAnnotations(AAZCommand): """Retrieve data annotations for an entity @@ -23,9 +22,9 @@ class GetDataAnnotations(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getdataannotations", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getdataannotations", "2026-11-01"], ] } @@ -175,7 +174,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_history.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_history.py index 8e20cf4b7e3..f002191039e 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_history.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_history.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity get-history", - is_preview=True, ) class GetHistory(AAZCommand): """Retrieve the health state transition history for an entity @@ -23,9 +22,9 @@ class GetHistory(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/gethistory", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/gethistory", "2026-11-01"], ] } @@ -175,7 +174,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_history.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_history.py index 7119d9eb347..69cd9418286 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_history.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_history.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity get-signal-history", - is_preview=True, ) class GetSignalHistory(AAZCommand): """Retrieve the time series history for a signal on an entity @@ -23,9 +22,9 @@ class GetSignalHistory(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getsignalhistory", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getsignalhistory", "2026-11-01"], ] } @@ -184,7 +183,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_recommendations.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_recommendations.py index a794773df77..df6d9aa28f8 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_recommendations.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_get_signal_recommendations.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity get-signal-recommendations", - is_preview=True, ) class GetSignalRecommendations(AAZCommand): """Get recommended signal configurations for a given Entity (only applicable for Entities representing Azure resources) @@ -23,9 +22,9 @@ class GetSignalRecommendations(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getsignalrecommendations", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/getsignalrecommendations", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -198,42 +197,117 @@ class _GetSignalRecommendationsHelper: @classmethod def _build_schema_signal_configuration_read(cls, _schema): if cls._schema_signal_configuration_read is not None: - _schema.aggregation_type = cls._schema_signal_configuration_read.aggregation_type - _schema.dimension_filter = cls._schema_signal_configuration_read.dimension_filter + _schema.applicable_resource_types = cls._schema_signal_configuration_read.applicable_resource_types + _schema.configuration = cls._schema_signal_configuration_read.configuration + _schema.data_unit = cls._schema_signal_configuration_read.data_unit + _schema.description = cls._schema_signal_configuration_read.description + _schema.display_name = cls._schema_signal_configuration_read.display_name _schema.evaluation_rules = cls._schema_signal_configuration_read.evaluation_rules - _schema.metric_name = cls._schema_signal_configuration_read.metric_name - _schema.metric_namespace = cls._schema_signal_configuration_read.metric_namespace + _schema.refresh_interval = cls._schema_signal_configuration_read.refresh_interval _schema.signal_id = cls._schema_signal_configuration_read.signal_id - _schema.time_grain = cls._schema_signal_configuration_read.time_grain - _schema.unit = cls._schema_signal_configuration_read.unit return cls._schema_signal_configuration_read = _schema_signal_configuration_read = AAZObjectType() signal_configuration_read = _schema_signal_configuration_read - signal_configuration_read.aggregation_type = AAZStrType( - serialized_name="aggregationType", + signal_configuration_read.applicable_resource_types = AAZListType( + serialized_name="applicableResourceTypes", ) - signal_configuration_read.dimension_filter = AAZStrType( - serialized_name="dimensionFilter", + signal_configuration_read.configuration = AAZObjectType( + flags={"required": True}, + ) + signal_configuration_read.data_unit = AAZStrType( + serialized_name="dataUnit", + ) + signal_configuration_read.description = AAZStrType() + signal_configuration_read.display_name = AAZStrType( + serialized_name="displayName", ) signal_configuration_read.evaluation_rules = AAZObjectType( serialized_name="evaluationRules", ) - signal_configuration_read.metric_name = AAZStrType( + signal_configuration_read.refresh_interval = AAZStrType( + serialized_name="refreshInterval", + ) + signal_configuration_read.signal_id = AAZStrType( + serialized_name="signalId", + flags={"required": True}, + ) + + applicable_resource_types = _schema_signal_configuration_read.applicable_resource_types + applicable_resource_types.Element = AAZStrType() + + configuration = _schema_signal_configuration_read.configuration + configuration.signal_kind = AAZStrType( + serialized_name="signalKind", + flags={"required": True}, + ) + + disc_azure_resource_metric = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "AzureResourceMetric") + disc_azure_resource_metric.aggregation_type = AAZStrType( + serialized_name="aggregationType", + flags={"required": True}, + ) + disc_azure_resource_metric.dimension_filter = AAZStrType( + serialized_name="dimensionFilter", + ) + disc_azure_resource_metric.metric_name = AAZStrType( serialized_name="metricName", + flags={"required": True}, ) - signal_configuration_read.metric_namespace = AAZStrType( + disc_azure_resource_metric.metric_namespace = AAZStrType( serialized_name="metricNamespace", + flags={"required": True}, ) - signal_configuration_read.signal_id = AAZStrType( - serialized_name="signalId", + disc_azure_resource_metric.time_grain = AAZStrType( + serialized_name="timeGrain", + flags={"required": True}, + ) + + disc_log_analytics_query = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "LogAnalyticsQuery") + disc_log_analytics_query.query_text = AAZStrType( + serialized_name="queryText", flags={"required": True}, ) - signal_configuration_read.time_grain = AAZStrType( + disc_log_analytics_query.required_diagnostic_setting_categories = AAZListType( + serialized_name="requiredDiagnosticSettingCategories", + ) + disc_log_analytics_query.required_tables = AAZListType( + serialized_name="requiredTables", + ) + disc_log_analytics_query.time_grain = AAZStrType( serialized_name="timeGrain", ) - signal_configuration_read.unit = AAZStrType() + disc_log_analytics_query.value_column_name = AAZStrType( + serialized_name="valueColumnName", + ) + + required_diagnostic_setting_categories = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "LogAnalyticsQuery").required_diagnostic_setting_categories + required_diagnostic_setting_categories.Element = AAZStrType() + + required_tables = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "LogAnalyticsQuery").required_tables + required_tables.Element = AAZStrType() + + disc_prometheus_metrics_query = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "PrometheusMetricsQuery") + disc_prometheus_metrics_query.query_text = AAZStrType( + serialized_name="queryText", + flags={"required": True}, + ) + disc_prometheus_metrics_query.required_metrics = AAZListType( + serialized_name="requiredMetrics", + ) + disc_prometheus_metrics_query.required_scrape_targets = AAZListType( + serialized_name="requiredScrapeTargets", + ) + disc_prometheus_metrics_query.time_grain = AAZStrType( + serialized_name="timeGrain", + ) + + required_metrics = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "PrometheusMetricsQuery").required_metrics + required_metrics.Element = AAZStrType() + + required_scrape_targets = _schema_signal_configuration_read.configuration.discriminate_by("signal_kind", "PrometheusMetricsQuery").required_scrape_targets + required_scrape_targets.Element = AAZStrType() evaluation_rules = _schema_signal_configuration_read.evaluation_rules evaluation_rules.degraded_rule = AAZObjectType( @@ -246,21 +320,20 @@ def _build_schema_signal_configuration_read(cls, _schema): ) cls._build_schema_threshold_rule_v2_read(evaluation_rules.unhealthy_rule) - _schema.aggregation_type = cls._schema_signal_configuration_read.aggregation_type - _schema.dimension_filter = cls._schema_signal_configuration_read.dimension_filter + _schema.applicable_resource_types = cls._schema_signal_configuration_read.applicable_resource_types + _schema.configuration = cls._schema_signal_configuration_read.configuration + _schema.data_unit = cls._schema_signal_configuration_read.data_unit + _schema.description = cls._schema_signal_configuration_read.description + _schema.display_name = cls._schema_signal_configuration_read.display_name _schema.evaluation_rules = cls._schema_signal_configuration_read.evaluation_rules - _schema.metric_name = cls._schema_signal_configuration_read.metric_name - _schema.metric_namespace = cls._schema_signal_configuration_read.metric_namespace + _schema.refresh_interval = cls._schema_signal_configuration_read.refresh_interval _schema.signal_id = cls._schema_signal_configuration_read.signal_id - _schema.time_grain = cls._schema_signal_configuration_read.time_grain - _schema.unit = cls._schema_signal_configuration_read.unit _schema_threshold_rule_v2_read = None @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -269,16 +342,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_ingest_health_report.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_ingest_health_report.py index e2faf9a978d..7693548506c 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_ingest_health_report.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_ingest_health_report.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity ingest-health-report", - is_preview=True, ) class IngestHealthReport(AAZCommand): """Ingest a health report for a specific signal on an entity (the entity must already exist) @@ -23,9 +22,9 @@ class IngestHealthReport(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/ingesthealthreport", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}/ingesthealthreport", "2026-11-01"], ] } @@ -98,7 +97,7 @@ def _build_arguments_schema(cls, *args, **kwargs): arg_group="Body", help="Health state to report for the signal", required=True, - enum={"Degraded": "Degraded", "Deleted": "Deleted", "Healthy": "Healthy", "Unhealthy": "Unhealthy", "Unknown": "Unknown"}, + enum={"Degraded": "Degraded", "Healthy": "Healthy", "Unhealthy": "Unhealthy", "Unknown": "Unknown"}, ) _args_schema.signal_name = AAZStrArg( options=["--signal-name"], @@ -134,7 +133,6 @@ def _build_arguments_schema(cls, *args, **kwargs): @classmethod def _build_args_threshold_rule_v2_create(cls, _schema): if cls._args_threshold_rule_v2_create is not None: - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -143,11 +141,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): cls._args_threshold_rule_v2_create = AAZObjectArg() threshold_rule_v2_create = cls._args_threshold_rule_v2_create - threshold_rule_v2_create.look_back_window = AAZStrArg( - options=["look-back-window"], - help="ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic.", - enum={"PT15M": "PT15M", "PT1H": "PT1H", "PT30M": "PT30M", "PT5M": "PT5M"}, - ) threshold_rule_v2_create.operator = AAZStrArg( options=["operator"], help="Operator how to compare the signal value with the threshold", @@ -164,7 +157,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): help="Threshold value", ) - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -234,7 +226,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -281,7 +273,6 @@ class _IngestHealthReportHelper: def _build_schema_threshold_rule_v2_create(cls, _builder): if _builder is None: return - _builder.set_prop("lookBackWindow", AAZStrType, ".look_back_window") _builder.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}}) _builder.set_prop("sensitivity", AAZStrType, ".sensitivity") _builder.set_prop("threshold", AAZFloatType, ".threshold") diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_list.py index 8479f400d36..af9e6280009 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity list", - is_preview=True, ) class List(AAZCommand): """List Entity resources by HealthModel @@ -23,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities", "2026-11-01"], ] } @@ -135,7 +134,7 @@ def query_parameters(self): "timestamp", self.ctx.args.timestamp, ), **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -219,6 +218,9 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.signal_aggregation_groups = AAZListType( + serialized_name="signalAggregationGroups", + ) properties.signal_groups = AAZObjectType( serialized_name="signalGroups", ) @@ -247,6 +249,47 @@ def _build_schema_on_200(cls): flags={"required": True}, ) + signal_aggregation_groups = cls._schema_on_200.value.Element.properties.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.signal_aggregation_groups.Element + _element.aggregated_health_state = AAZStrType( + serialized_name="aggregatedHealthState", + flags={"read_only": True}, + ) + _element.aggregation_type = AAZStrType( + serialized_name="aggregationType", + ) + _element.degraded_threshold = AAZFloatType( + serialized_name="degradedThreshold", + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + ) + _element.ignore_unknown = AAZBoolType( + serialized_name="ignoreUnknown", + ) + _element.members = AAZListType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.unhealthy_threshold = AAZFloatType( + serialized_name="unhealthyThreshold", + ) + _element.unit = AAZStrType() + _element.unresolved_members = AAZListType( + serialized_name="unresolvedMembers", + flags={"read_only": True}, + ) + + members = cls._schema_on_200.value.Element.properties.signal_aggregation_groups.Element.members + members.Element = AAZStrType() + + unresolved_members = cls._schema_on_200.value.Element.properties.signal_aggregation_groups.Element.unresolved_members + unresolved_members.Element = AAZStrType() + signal_groups = cls._schema_on_200.value.Element.properties.signal_groups signal_groups.azure_log_analytics = AAZObjectType( serialized_name="azureLogAnalytics", @@ -654,7 +697,6 @@ def _build_schema_signal_status_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -663,16 +705,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_show.py index 3772d675053..248e36b4a1d 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity show", - is_preview=True, ) class Show(AAZCommand): """Get a Entity @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -210,6 +209,9 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.signal_aggregation_groups = AAZListType( + serialized_name="signalAggregationGroups", + ) properties.signal_groups = AAZObjectType( serialized_name="signalGroups", ) @@ -238,6 +240,47 @@ def _build_schema_on_200(cls): flags={"required": True}, ) + signal_aggregation_groups = cls._schema_on_200.properties.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.signal_aggregation_groups.Element + _element.aggregated_health_state = AAZStrType( + serialized_name="aggregatedHealthState", + flags={"read_only": True}, + ) + _element.aggregation_type = AAZStrType( + serialized_name="aggregationType", + ) + _element.degraded_threshold = AAZFloatType( + serialized_name="degradedThreshold", + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + ) + _element.ignore_unknown = AAZBoolType( + serialized_name="ignoreUnknown", + ) + _element.members = AAZListType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.unhealthy_threshold = AAZFloatType( + serialized_name="unhealthyThreshold", + ) + _element.unit = AAZStrType() + _element.unresolved_members = AAZListType( + serialized_name="unresolvedMembers", + flags={"read_only": True}, + ) + + members = cls._schema_on_200.properties.signal_aggregation_groups.Element.members + members.Element = AAZStrType() + + unresolved_members = cls._schema_on_200.properties.signal_aggregation_groups.Element.unresolved_members + unresolved_members.Element = AAZStrType() + signal_groups = cls._schema_on_200.properties.signal_groups signal_groups.azure_log_analytics = AAZObjectType( serialized_name="azureLogAnalytics", @@ -645,7 +688,6 @@ def _build_schema_signal_status_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -654,16 +696,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_update.py index 3e224dba9a8..c1202ab7660 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_update.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models entity update", - is_preview=True, ) class Update(AAZCommand): """Update a Entity @@ -23,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-11-01"], ] } @@ -118,6 +117,16 @@ def _build_arguments_schema(cls, *args, **kwargs): nullable=True, enum={"Limited": "Limited", "Standard": "Standard", "Suppressed": "Suppressed"}, ) + _args_schema.signal_aggregation_groups = AAZListArg( + options=["--signal-aggregation-groups"], + arg_group="Properties", + help="Logical aggregation groups over the signals on this entity. Overlap is allowed: the same signal may appear in more than one group's members. Each group is evaluated independently according to its strategy, and a shared signal can contribute to multiple group states and related per-group telemetry. Group states contribute alongside any ungrouped signals and the dependency-aggregated child health to the entity's overall worst-of composite.", + nullable=True, + fmt=AAZListArgFormat( + max_length=20, + min_length=1, + ), + ) _args_schema.signal_groups = AAZObjectArg( options=["--signal-groups"], arg_group="Properties", @@ -174,6 +183,78 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) + signal_aggregation_groups = cls._args_schema.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectArg( + nullable=True, + ) + + _element = cls._args_schema.signal_aggregation_groups.Element + _element.aggregation_type = AAZStrArg( + options=["aggregation-type"], + help="Aggregation strategy applied across the members of this group.", + nullable=True, + enum={"BestOf": "BestOf", "MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, + ) + _element.degraded_threshold = AAZFloatArg( + options=["degraded-threshold"], + help="Degraded threshold for threshold-bearing strategies (MinHealthy, MaxNotHealthy). For MinHealthy: group is degraded when the healthy member count/percentage falls to or below this value. For MaxNotHealthy: group is degraded when the not-healthy member count/percentage reaches or exceeds this value. Optional — if not set, the group transitions directly between Healthy and Unhealthy. MUST NOT be set when aggregationType is WorstOf or BestOf.", + nullable=True, + fmt=AAZFloatArgFormat( + minimum=0.0, + ), + ) + _element.display_name = AAZStrArg( + options=["display-name"], + help="Display name", + nullable=True, + fmt=AAZStrArgFormat( + max_length=260, + min_length=1, + ), + ) + _element.ignore_unknown = AAZBoolArg( + options=["ignore-unknown"], + help="If true (default), members reporting Unknown are excluded from the aggregation. For MinHealthy and MaxNotHealthy this flag affects the denominator/count and is meaningful. For WorstOf and BestOf the flag has no observable effect: under WorstOf, Unknown=0 is the lowest severity and can never beat any non-Unknown member in a Max() so filtering it changes nothing observable; under BestOf, Unknown is unconditionally excluded by the strategy itself irrespective of the flag. The flag is retained on the contract for vocabulary symmetry across all four strategies.", + nullable=True, + ) + _element.members = AAZListArg( + options=["members"], + help="Names of signals on this entity which are members of the group. Members are matched by name; references to signals that do not currently exist on the entity are accepted (typically for pre-declared external signals) and surfaced via 'unresolvedMembers'. A signal may be listed in multiple groups; no duplicates within this list.", + fmt=AAZListArgFormat( + max_length=50, + min_length=1, + ), + ) + _element.name = AAZStrArg( + options=["name"], + help="Name of the aggregation group. Unique within the entity.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$", + ), + ) + _element.unhealthy_threshold = AAZFloatArg( + options=["unhealthy-threshold"], + help="Unhealthy threshold for threshold-bearing strategies. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.", + nullable=True, + fmt=AAZFloatArgFormat( + minimum=0.0, + ), + ) + _element.unit = AAZStrArg( + options=["unit"], + help="Unit type for the thresholds. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.", + nullable=True, + enum={"Absolute": "Absolute", "Percentage": "Percentage"}, + ) + + members = cls._args_schema.signal_aggregation_groups.Element.members + members.Element = AAZStrArg( + nullable=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{1,258}[a-zA-Z0-9]$", + ), + ) + signal_groups = cls._args_schema.signal_groups signal_groups.azure_log_analytics = AAZObjectArg( options=["azure-log-analytics"], @@ -456,7 +537,7 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Optional: Dimension filter to apply to the dimension. Must only be set if also Dimension is set.", nullable=True, fmt=AAZStrArgFormat( - max_length=256, + max_length=2048, min_length=1, ), ) @@ -528,7 +609,7 @@ def _build_arguments_schema(cls, *args, **kwargs): dependencies.aggregation_type = AAZStrArg( options=["aggregation-type"], help="Aggregation type for child dependencies.", - enum={"MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, + enum={"BestOf": "BestOf", "MaxNotHealthy": "MaxNotHealthy", "MinHealthy": "MinHealthy", "WorstOf": "WorstOf"}, ) dependencies.degraded_threshold = AAZFloatArg( options=["degraded-threshold"], @@ -650,7 +731,6 @@ def _build_args_evaluation_rule_update(cls, _schema): @classmethod def _build_args_threshold_rule_v2_update(cls, _schema): if cls._args_threshold_rule_v2_update is not None: - _schema.look_back_window = cls._args_threshold_rule_v2_update.look_back_window _schema.operator = cls._args_threshold_rule_v2_update.operator _schema.sensitivity = cls._args_threshold_rule_v2_update.sensitivity _schema.threshold = cls._args_threshold_rule_v2_update.threshold @@ -661,12 +741,6 @@ def _build_args_threshold_rule_v2_update(cls, _schema): ) threshold_rule_v2_update = cls._args_threshold_rule_v2_update - threshold_rule_v2_update.look_back_window = AAZStrArg( - options=["look-back-window"], - help="ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic.", - nullable=True, - enum={"PT15M": "PT15M", "PT1H": "PT1H", "PT30M": "PT30M", "PT5M": "PT5M"}, - ) threshold_rule_v2_update.operator = AAZStrArg( options=["operator"], help="Operator how to compare the signal value with the threshold", @@ -684,7 +758,6 @@ def _build_args_threshold_rule_v2_update(cls, _schema): nullable=True, ) - _schema.look_back_window = cls._args_threshold_rule_v2_update.look_back_window _schema.operator = cls._args_threshold_rule_v2_update.operator _schema.sensitivity = cls._args_threshold_rule_v2_update.sensitivity _schema.threshold = cls._args_threshold_rule_v2_update.threshold @@ -771,7 +844,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -874,7 +947,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -942,6 +1015,7 @@ def _update_instance(self, instance): properties.set_prop("healthObjective", AAZFloatType, ".health_objective") properties.set_prop("icon", AAZObjectType, ".icon") properties.set_prop("impact", AAZStrType, ".impact") + properties.set_prop("signalAggregationGroups", AAZListType, ".signal_aggregation_groups") properties.set_prop("signalGroups", AAZObjectType, ".signal_groups") properties.set_prop("tags", AAZDictType, ".tags") @@ -960,6 +1034,25 @@ def _update_instance(self, instance): icon.set_prop("customData", AAZStrType, ".custom_data") icon.set_prop("iconName", AAZStrType, ".icon_name", typ_kwargs={"flags": {"required": True}}) + signal_aggregation_groups = _builder.get(".properties.signalAggregationGroups") + if signal_aggregation_groups is not None: + signal_aggregation_groups.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.signalAggregationGroups[]") + if _elements is not None: + _elements.set_prop("aggregationType", AAZStrType, ".aggregation_type") + _elements.set_prop("degradedThreshold", AAZFloatType, ".degraded_threshold") + _elements.set_prop("displayName", AAZStrType, ".display_name") + _elements.set_prop("ignoreUnknown", AAZBoolType, ".ignore_unknown") + _elements.set_prop("members", AAZListType, ".members", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("name", AAZStrType, ".name", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("unhealthyThreshold", AAZFloatType, ".unhealthy_threshold") + _elements.set_prop("unit", AAZStrType, ".unit") + + members = _builder.get(".properties.signalAggregationGroups[].members") + if members is not None: + members.set_elements(AAZStrType, ".") + signal_groups = _builder.get(".properties.signalGroups") if signal_groups is not None: signal_groups.set_prop("azureLogAnalytics", AAZObjectType, ".azure_log_analytics") @@ -1092,7 +1185,6 @@ def _build_schema_evaluation_rule_update(cls, _builder): def _build_schema_threshold_rule_v2_update(cls, _builder): if _builder is None: return - _builder.set_prop("lookBackWindow", AAZStrType, ".look_back_window") _builder.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}}) _builder.set_prop("sensitivity", AAZStrType, ".sensitivity") _builder.set_prop("threshold", AAZFloatType, ".threshold") @@ -1180,6 +1272,9 @@ def _build_schema_entity_read(cls, _schema): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.signal_aggregation_groups = AAZListType( + serialized_name="signalAggregationGroups", + ) properties.signal_groups = AAZObjectType( serialized_name="signalGroups", ) @@ -1208,6 +1303,47 @@ def _build_schema_entity_read(cls, _schema): flags={"required": True}, ) + signal_aggregation_groups = _schema_entity_read.properties.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectType() + + _element = _schema_entity_read.properties.signal_aggregation_groups.Element + _element.aggregated_health_state = AAZStrType( + serialized_name="aggregatedHealthState", + flags={"read_only": True}, + ) + _element.aggregation_type = AAZStrType( + serialized_name="aggregationType", + ) + _element.degraded_threshold = AAZFloatType( + serialized_name="degradedThreshold", + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + ) + _element.ignore_unknown = AAZBoolType( + serialized_name="ignoreUnknown", + ) + _element.members = AAZListType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.unhealthy_threshold = AAZFloatType( + serialized_name="unhealthyThreshold", + ) + _element.unit = AAZStrType() + _element.unresolved_members = AAZListType( + serialized_name="unresolvedMembers", + flags={"read_only": True}, + ) + + members = _schema_entity_read.properties.signal_aggregation_groups.Element.members + members.Element = AAZStrType() + + unresolved_members = _schema_entity_read.properties.signal_aggregation_groups.Element.unresolved_members + unresolved_members.Element = AAZStrType() + signal_groups = _schema_entity_read.properties.signal_groups signal_groups.azure_log_analytics = AAZObjectType( serialized_name="azureLogAnalytics", @@ -1587,7 +1723,6 @@ def _build_schema_signal_status_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -1596,16 +1731,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_wait.py index 473d6bc669c..996b620124e 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/entity/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/entities/{}", "2026-11-01"], ] } @@ -132,7 +132,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -205,6 +205,9 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.signal_aggregation_groups = AAZListType( + serialized_name="signalAggregationGroups", + ) properties.signal_groups = AAZObjectType( serialized_name="signalGroups", ) @@ -233,6 +236,47 @@ def _build_schema_on_200(cls): flags={"required": True}, ) + signal_aggregation_groups = cls._schema_on_200.properties.signal_aggregation_groups + signal_aggregation_groups.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.signal_aggregation_groups.Element + _element.aggregated_health_state = AAZStrType( + serialized_name="aggregatedHealthState", + flags={"read_only": True}, + ) + _element.aggregation_type = AAZStrType( + serialized_name="aggregationType", + ) + _element.degraded_threshold = AAZFloatType( + serialized_name="degradedThreshold", + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + ) + _element.ignore_unknown = AAZBoolType( + serialized_name="ignoreUnknown", + ) + _element.members = AAZListType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.unhealthy_threshold = AAZFloatType( + serialized_name="unhealthyThreshold", + ) + _element.unit = AAZStrType() + _element.unresolved_members = AAZListType( + serialized_name="unresolvedMembers", + flags={"read_only": True}, + ) + + members = cls._schema_on_200.properties.signal_aggregation_groups.Element.members + members.Element = AAZStrType() + + unresolved_members = cls._schema_on_200.properties.signal_aggregation_groups.Element.unresolved_members + unresolved_members.Element = AAZStrType() + signal_groups = cls._schema_on_200.properties.signal_groups signal_groups.azure_log_analytics = AAZObjectType( serialized_name="azureLogAnalytics", @@ -640,7 +684,6 @@ def _build_schema_signal_status_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -649,16 +692,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/__cmd_group.py index ddfc2874814..39378b6ca81 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models identity", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Identity diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_assign.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_assign.py index 964d5ad114b..dafccbe7f2d 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_assign.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_assign.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models identity assign", - is_preview=True, ) class Assign(AAZCommand): """Assign the user or system managed identities. @@ -23,9 +22,9 @@ class Assign(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview", "identity"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01", "identity"], ] } @@ -167,7 +166,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -266,7 +265,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_remove.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_remove.py index 7c9b7ab3817..eaec9b60ed3 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_remove.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_remove.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models identity remove", - is_preview=True, ) class Remove(AAZCommand): """Remove the user or system managed identities. @@ -23,9 +22,9 @@ class Remove(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview", "identity"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01", "identity"], ] } @@ -167,7 +166,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -266,7 +265,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_show.py index d28bd532a29..1ebfa178da4 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models identity show", - is_preview=True, ) class Show(AAZCommand): """Show the details of managed identities. @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview", "identity"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01", "identity"], ] } @@ -135,7 +134,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_wait.py index a61e5a35425..0badb766e92 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/identity/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-05-01-preview", "identity"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}", "2026-11-01", "identity"], ] } @@ -119,7 +119,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/__cmd_group.py index 85c9309777b..85ef75398bb 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models relationship", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Relationship diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_create.py index 791781877e1..6e01c36807c 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_create.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models relationship create", - is_preview=True, ) class Create(AAZCommand): """Create a Relationship @@ -23,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-11-01"], ] } @@ -193,7 +192,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_delete.py index b81a4465750..1f72f568938 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models relationship delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-11-01"], ] } @@ -160,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_list.py index 05a1c0a8f2b..6c7b485c80f 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models relationship list", - is_preview=True, ) class List(AAZCommand): """List Relationship resources by HealthModel @@ -23,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships", "2026-11-01"], ] } @@ -135,7 +134,7 @@ def query_parameters(self): "timestamp", self.ctx.args.timestamp, ), **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_show.py index c627feca0a8..83b22c4972f 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models relationship show", - is_preview=True, ) class Show(AAZCommand): """Get a Relationship @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_update.py index 68813a2376d..ff67a384eb8 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_update.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models relationship update", - is_preview=True, ) class Update(AAZCommand): """Update a Relationship @@ -23,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-11-01"], ] } @@ -181,7 +180,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -284,7 +283,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_wait.py index acae469afb8..0e37b4e708d 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/relationship/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/relationships/{}", "2026-11-01"], ] } @@ -132,7 +132,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/__cmd_group.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/__cmd_group.py index e9666da1942..7e693ae5c66 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/__cmd_group.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "monitor health-models signal-definition", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Signaldefinition diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_create.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_create.py index 6a10e831114..823a5037a4c 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_create.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_create.py @@ -13,19 +13,18 @@ @register_command( "monitor health-models signal-definition create", - is_preview=True, ) class Create(AAZCommand): """Create a SignalDefinition :example: SignalDefinitions_CreateOrUpdate - az monitor health-models signal-definition create --resource-group rgopenapi --health-model-name myHealthModel --signal-definition-name sig1 --display-name "cpu usage" --refresh-interval PT1M --tags "{key4788:ixfvzsfnpvkkbrce}" --data-unit byte --evaluation-rules "{degraded-rule:{operator:GreaterThan,threshold:70},unhealthy-rule:{operator:Dynamic,sensitivity:Medium,lookBackWindow:PT1H}}" + az monitor health-models signal-definition create --resource-group rgopenapi --health-model-name myHealthModel --signal-definition-name sig1 --display-name "cpu usage" --refresh-interval PT1M --tags "{key4788:ixfvzsfnpvkkbrce}" --data-unit byte --evaluation-rules "{degraded-rule:{operator:GreaterThan,threshold:70},unhealthy-rule:{operator:Dynamic,sensitivity:Medium}}" """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-11-01"], ] } @@ -128,7 +127,7 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["dimension-filter"], help="Optional: Dimension filter to apply to the dimension. Must only be set if also Dimension is set.", fmt=AAZStrArgFormat( - max_length=256, + max_length=2048, min_length=1, ), ) @@ -232,7 +231,6 @@ def _build_arguments_schema(cls, *args, **kwargs): @classmethod def _build_args_threshold_rule_v2_create(cls, _schema): if cls._args_threshold_rule_v2_create is not None: - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -241,11 +239,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): cls._args_threshold_rule_v2_create = AAZObjectArg() threshold_rule_v2_create = cls._args_threshold_rule_v2_create - threshold_rule_v2_create.look_back_window = AAZStrArg( - options=["look-back-window"], - help="ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic.", - enum={"PT15M": "PT15M", "PT1H": "PT1H", "PT30M": "PT30M", "PT5M": "PT5M"}, - ) threshold_rule_v2_create.operator = AAZStrArg( options=["operator"], help="Operator how to compare the signal value with the threshold", @@ -262,7 +255,6 @@ def _build_args_threshold_rule_v2_create(cls, _schema): help="Threshold value", ) - _schema.look_back_window = cls._args_threshold_rule_v2_create.look_back_window _schema.operator = cls._args_threshold_rule_v2_create.operator _schema.sensitivity = cls._args_threshold_rule_v2_create.sensitivity _schema.threshold = cls._args_threshold_rule_v2_create.threshold @@ -352,7 +344,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -566,7 +558,6 @@ class _CreateHelper: def _build_schema_threshold_rule_v2_create(cls, _builder): if _builder is None: return - _builder.set_prop("lookBackWindow", AAZStrType, ".look_back_window") _builder.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}}) _builder.set_prop("sensitivity", AAZStrType, ".sensitivity") _builder.set_prop("threshold", AAZFloatType, ".threshold") @@ -576,7 +567,6 @@ def _build_schema_threshold_rule_v2_create(cls, _builder): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -585,16 +575,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_delete.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_delete.py index 0a24f366082..21e698b85da 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_delete.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_delete.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models signal-definition delete", - is_preview=True, confirmation="Are you sure you want to perform this operation?", ) class Delete(AAZCommand): @@ -24,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-11-01"], ] } @@ -160,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_list.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_list.py index 1a192ac6be0..7f47cc8aad7 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_list.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_list.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models signal-definition list", - is_preview=True, ) class List(AAZCommand): """List SignalDefinition resources by HealthModel @@ -23,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions", "2026-11-01"], ] } @@ -135,7 +134,7 @@ def query_parameters(self): "timestamp", self.ctx.args.timestamp, ), **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -305,7 +304,6 @@ class _ListHelper: @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -314,16 +312,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_show.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_show.py index 22878def208..177a72e5dcf 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_show.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_show.py @@ -13,7 +13,6 @@ @register_command( "monitor health-models signal-definition show", - is_preview=True, ) class Show(AAZCommand): """Get a SignalDefinition @@ -23,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-11-01"], ] } @@ -137,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -296,7 +295,6 @@ class _ShowHelper: @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -305,16 +303,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_update.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_update.py index c22e4a8f1d7..38890b88e9c 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_update.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_update.py @@ -13,19 +13,18 @@ @register_command( "monitor health-models signal-definition update", - is_preview=True, ) class Update(AAZCommand): """Update a SignalDefinition :example: SignalDefinitions_CreateOrUpdate - az monitor health-models signal-definition update --resource-group rgopenapi --health-model-name myHealthModel --signal-definition-name sig1 --display-name "cpu usage" --refresh-interval PT1M --tags "{key4788:ixfvzsfnpvkkbrce}" --data-unit byte --evaluation-rules "{degraded-rule:{operator:GreaterThan,threshold:70},unhealthy-rule:{operator:Dynamic,sensitivity:Medium,lookBackWindow:PT1H}}" + az monitor health-models signal-definition update --resource-group rgopenapi --health-model-name myHealthModel --signal-definition-name sig1 --display-name "cpu usage" --refresh-interval PT1M --tags "{key4788:ixfvzsfnpvkkbrce}" --data-unit byte --evaluation-rules "{degraded-rule:{operator:GreaterThan,threshold:70},unhealthy-rule:{operator:Dynamic,sensitivity:Medium}}" """ _aaz_info = { - "version": "2026-05-01-preview", + "version": "2026-11-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-11-01"], ] } @@ -135,7 +134,7 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Optional: Dimension filter to apply to the dimension. Must only be set if also Dimension is set.", nullable=True, fmt=AAZStrArgFormat( - max_length=256, + max_length=2048, min_length=1, ), ) @@ -239,7 +238,6 @@ def _build_arguments_schema(cls, *args, **kwargs): @classmethod def _build_args_threshold_rule_v2_update(cls, _schema): if cls._args_threshold_rule_v2_update is not None: - _schema.look_back_window = cls._args_threshold_rule_v2_update.look_back_window _schema.operator = cls._args_threshold_rule_v2_update.operator _schema.sensitivity = cls._args_threshold_rule_v2_update.sensitivity _schema.threshold = cls._args_threshold_rule_v2_update.threshold @@ -250,12 +248,6 @@ def _build_args_threshold_rule_v2_update(cls, _schema): ) threshold_rule_v2_update = cls._args_threshold_rule_v2_update - threshold_rule_v2_update.look_back_window = AAZStrArg( - options=["look-back-window"], - help="ISO 8601 duration for the historical look-back window used by dynamic threshold computation. Only applicable when operator is Dynamic.", - nullable=True, - enum={"PT15M": "PT15M", "PT1H": "PT1H", "PT30M": "PT30M", "PT5M": "PT5M"}, - ) threshold_rule_v2_update.operator = AAZStrArg( options=["operator"], help="Operator how to compare the signal value with the threshold", @@ -273,7 +265,6 @@ def _build_args_threshold_rule_v2_update(cls, _schema): nullable=True, ) - _schema.look_back_window = cls._args_threshold_rule_v2_update.look_back_window _schema.operator = cls._args_threshold_rule_v2_update.operator _schema.sensitivity = cls._args_threshold_rule_v2_update.sensitivity _schema.threshold = cls._args_threshold_rule_v2_update.threshold @@ -360,7 +351,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -463,7 +454,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -583,7 +574,6 @@ class _UpdateHelper: def _build_schema_threshold_rule_v2_update(cls, _builder): if _builder is None: return - _builder.set_prop("lookBackWindow", AAZStrType, ".look_back_window") _builder.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}}) _builder.set_prop("sensitivity", AAZStrType, ".sensitivity") _builder.set_prop("threshold", AAZFloatType, ".threshold") @@ -729,7 +719,6 @@ def _build_schema_signal_definition_read(cls, _schema): @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -738,16 +727,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_wait.py b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_wait.py index 5225a48e20d..51515af6c89 100644 --- a/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_wait.py +++ b/src/health-models/azext_health_models/aaz/latest/monitor/health_models/signal_definition/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-05-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cloudhealth/healthmodels/{}/signaldefinitions/{}", "2026-11-01"], ] } @@ -132,7 +132,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2026-05-01-preview", + "api-version", "2026-11-01", required=True, ), } @@ -291,7 +291,6 @@ class _WaitHelper: @classmethod def _build_schema_threshold_rule_v2_read(cls, _schema): if cls._schema_threshold_rule_v2_read is not None: - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold @@ -300,16 +299,12 @@ def _build_schema_threshold_rule_v2_read(cls, _schema): cls._schema_threshold_rule_v2_read = _schema_threshold_rule_v2_read = AAZObjectType() threshold_rule_v2_read = _schema_threshold_rule_v2_read - threshold_rule_v2_read.look_back_window = AAZStrType( - serialized_name="lookBackWindow", - ) threshold_rule_v2_read.operator = AAZStrType( flags={"required": True}, ) threshold_rule_v2_read.sensitivity = AAZStrType() threshold_rule_v2_read.threshold = AAZFloatType() - _schema.look_back_window = cls._schema_threshold_rule_v2_read.look_back_window _schema.operator = cls._schema_threshold_rule_v2_read.operator _schema.sensitivity = cls._schema_threshold_rule_v2_read.sensitivity _schema.threshold = cls._schema_threshold_rule_v2_read.threshold diff --git a/src/health-models/azext_health_models/azext_metadata.json b/src/health-models/azext_health_models/azext_metadata.json index 71889bb136b..3b228c83dd2 100644 --- a/src/health-models/azext_health_models/azext_metadata.json +++ b/src/health-models/azext_health_models/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, + "azext.isPreview": false, "azext.minCliCoreVersion": "2.75.0" } \ No newline at end of file diff --git a/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_crud_cycle.yaml b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_crud_cycle.yaml index d4b36aff8b6..d922effafe1 100644 --- a/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_crud_cycle.yaml +++ b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_crud_cycle.yaml @@ -2,32 +2,24 @@ interactions: - request: body: '{"location": "centralus"}' headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models create - Connection: - - keep-alive - Content-Length: - - '25' - Content-Type: - - application/json - ParameterSetName: - - -g -n --location - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + Content-Length: '25' + Content-Type: application/json + ParameterSetName: -g -n -l + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:30.2950259Z"},"properties":{"provisioningState":"Accepted"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:36.7096338Z"},"properties":{"provisioningState":"Accepted"}}' headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/c766e1b9-bdcf-4880-916a-16ebed920d4d*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539736700710&c=MIIHlTCCBn2gAwIBAgIRANClaz6RLmreUbR9r6zb9WMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgV1VTMiBDQSAwMTAeFw0yNjA0MTAwODE5MzhaFw0yNjEwMDUxNDE5MzhaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3E1D6z1LouZ_KTbiqwoLegZPXxfJtAxSDEzNd5eYoT9Z0mkVt2msmJzCj13_5ZeNe1Zc3emsD0Nva_lxqQqpnd8AFotdRR7SW2RoZL6e0AggjtVdUxBw3arEEVPONhRCC4X4NVXP3cSjKZjoedb5vjiI7gzkBBWu_gld6jaW4bNj5MMfx0_PNVx65CAOf2YmGYzF7zv4k3cn5-QHu9FINZ2XuhjINP6EvIDSw6H-2qVAnJw-mNb5e2KonH1tYO7nlEsUCon2rz_d7bnJURgwh_6MZ5tSOhlvvnEM1BnC_4jnVBCpBhgt-GLaYNMWZfQnMLxuc13rgCkS5b0JKPbMDQIDAQABo4IEkjCCBI4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUz6DzOu55HJGf5hqPqj6oUQtuHzkwHwYDVR0jBBgwFoAUrONy-gOyc549lcjvh1uu3Ruh7WgwggGyBgNVHR8EggGpMIIBpTBpoGegZYZjaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L3dlc3R1czIvY3Jscy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxLzc5L2N1cnJlbnQuY3JsMGugaaBnhmVodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC93ZXN0dXMyL2NybHMvY2NtZXdlc3R1czJwa2kvY2NtZXdlc3R1czJpY2EwMS83OS9jdXJyZW50LmNybDBaoFigVoZUaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3dlc3R1czIvY3Jscy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxLzc5L2N1cnJlbnQuY3JsMG-gbaBrhmlodHRwOi8vY2NtZXdlc3R1czJwa2kud2VzdHVzMi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWV3ZXN0dXMyaWNhMDEvNzkvY3VycmVudC5jcmwwggG3BggrBgEFBQcBAQSCAakwggGlMGwGCCsGAQUFBzAChmBodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvd2VzdHVzMi9jYWNlcnRzL2NjbWV3ZXN0dXMycGtpL2NjbWV3ZXN0dXMyaWNhMDEvY2VydC5jZXIwbgYIKwYBBQUHMAKGYmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L3dlc3R1czIvY2FjZXJ0cy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxL2NlcnQuY2VyMF0GCCsGAQUFBzAChlFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vd2VzdHVzMi9jYWNlcnRzL2NjbWV3ZXN0dXMycGtpL2NjbWV3ZXN0dXMyaWNhMDEvY2VydC5jZXIwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jY21ld2VzdHVzMnBraS53ZXN0dXMyLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZXdlc3R1czJpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEAnQMBcxghl--qhJL4CBD2951WWIqzswBZahCpYCb1uYtvUonEYArDTouihm73A1IMaA1hcof6i4mp4wlOCbJrwBz1o25Urh_E8AVOA1ylZkmsFxeAwRIXEH-HiAwvFsqrylOhL0jJvIDFa0jzjJTNlv5SkoW9fTaN0E16t8hjXVNvgecuZ56mGRaJku-UCWENmbdnq7Tn6ZMhxkpcUo1uXlbRbIWmSrnwBkZu9y949y3djVawgkZL3OzGb25vkxffx3kdRijKTXY3VNuHj9KRJ2mrrPHhFcw867D13Sc9-DVYBiHYW8bb-kvv1J7UCuJTE1jqyfCNTREat4NXicrPcg&s=wetansDSZE_evAfNeMiLaEnC5CKJjI-nbKd26vzCNlSv0dWyHOiUFzXZfCQhmtvFvnVzq38ru--OP-dWpULe0mhcMaQHhkyFWbGKWzsnLJ8B0kssWXH-Wuu-7ymRUB5AxFXi5lTyxIGm7EwSJAnGasWJQVOVfH7THfd38v8ZTmYa-rI5YQE1gB19q6MJbMoMbXasl_zzAr4FrVf4LZgrxNxx-u5HCYYeqnZ30g0b_WhUqDJfMpzMJmjMIVSvx-d_ebcHGBbZWFomoZx1_cKGiHeaSdfSoykR0wWuqncd-pChRmnYAj6eqA01iRXGWKCZtpZ5Gk_Qdk4ys7eMRXjHkA&h=PZljEX9YiRJLVeWGOIBcqrLrPq33EMk2hRgi-ALGuIc + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/efe3de33-67c2-486f-bac0-daf153849980*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h cache-control: - no-cache content-length: @@ -35,13 +27,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:32 GMT + - Tue, 13 Oct 2026 12:25:38 GMT etag: - - '"e100a5b6-0000-0300-0000-6a3067b50000"' + - '"ad0817b7-0000-0300-0000-6ace23420000"' expires: - '-1' - mise-correlation-id: - - 85ff0ff0-2d69-4931-8966-c1554da9985c pragma: - no-cache strict-transport-security: @@ -51,53 +41,87 @@ interactions: x-content-type-options: - nosniff x-ms-async-operation-timeout: - - REDACTED - x-ms-operation-identifier: - - REDACTED + - P6D x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-writes: - '2999' x-ms-ratelimit-remaining-subscription-writes: - '199' x-ms-resource-provider-hint: - - REDACTED + - noPolling x-msedge-ref: - - REDACTED + - 'Ref A: 5BD1C39FE7F34B5CAC4B2FC7E791872A Ref B: MIL221110511052 Ref C: 2026-10-13T12:25:31Z' status: code: 201 message: Created - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models create - Connection: - - keep-alive - ParameterSetName: - - -g -n --location - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + ParameterSetName: -g -n -l + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/c766e1b9-bdcf-4880-916a-16ebed920d4d*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539736700710&c=MIIHlTCCBn2gAwIBAgIRANClaz6RLmreUbR9r6zb9WMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgV1VTMiBDQSAwMTAeFw0yNjA0MTAwODE5MzhaFw0yNjEwMDUxNDE5MzhaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3E1D6z1LouZ_KTbiqwoLegZPXxfJtAxSDEzNd5eYoT9Z0mkVt2msmJzCj13_5ZeNe1Zc3emsD0Nva_lxqQqpnd8AFotdRR7SW2RoZL6e0AggjtVdUxBw3arEEVPONhRCC4X4NVXP3cSjKZjoedb5vjiI7gzkBBWu_gld6jaW4bNj5MMfx0_PNVx65CAOf2YmGYzF7zv4k3cn5-QHu9FINZ2XuhjINP6EvIDSw6H-2qVAnJw-mNb5e2KonH1tYO7nlEsUCon2rz_d7bnJURgwh_6MZ5tSOhlvvnEM1BnC_4jnVBCpBhgt-GLaYNMWZfQnMLxuc13rgCkS5b0JKPbMDQIDAQABo4IEkjCCBI4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUz6DzOu55HJGf5hqPqj6oUQtuHzkwHwYDVR0jBBgwFoAUrONy-gOyc549lcjvh1uu3Ruh7WgwggGyBgNVHR8EggGpMIIBpTBpoGegZYZjaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L3dlc3R1czIvY3Jscy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxLzc5L2N1cnJlbnQuY3JsMGugaaBnhmVodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC93ZXN0dXMyL2NybHMvY2NtZXdlc3R1czJwa2kvY2NtZXdlc3R1czJpY2EwMS83OS9jdXJyZW50LmNybDBaoFigVoZUaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3dlc3R1czIvY3Jscy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxLzc5L2N1cnJlbnQuY3JsMG-gbaBrhmlodHRwOi8vY2NtZXdlc3R1czJwa2kud2VzdHVzMi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWV3ZXN0dXMyaWNhMDEvNzkvY3VycmVudC5jcmwwggG3BggrBgEFBQcBAQSCAakwggGlMGwGCCsGAQUFBzAChmBodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvd2VzdHVzMi9jYWNlcnRzL2NjbWV3ZXN0dXMycGtpL2NjbWV3ZXN0dXMyaWNhMDEvY2VydC5jZXIwbgYIKwYBBQUHMAKGYmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L3dlc3R1czIvY2FjZXJ0cy9jY21ld2VzdHVzMnBraS9jY21ld2VzdHVzMmljYTAxL2NlcnQuY2VyMF0GCCsGAQUFBzAChlFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vd2VzdHVzMi9jYWNlcnRzL2NjbWV3ZXN0dXMycGtpL2NjbWV3ZXN0dXMyaWNhMDEvY2VydC5jZXIwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jY21ld2VzdHVzMnBraS53ZXN0dXMyLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZXdlc3R1czJpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEAnQMBcxghl--qhJL4CBD2951WWIqzswBZahCpYCb1uYtvUonEYArDTouihm73A1IMaA1hcof6i4mp4wlOCbJrwBz1o25Urh_E8AVOA1ylZkmsFxeAwRIXEH-HiAwvFsqrylOhL0jJvIDFa0jzjJTNlv5SkoW9fTaN0E16t8hjXVNvgecuZ56mGRaJku-UCWENmbdnq7Tn6ZMhxkpcUo1uXlbRbIWmSrnwBkZu9y949y3djVawgkZL3OzGb25vkxffx3kdRijKTXY3VNuHj9KRJ2mrrPHhFcw867D13Sc9-DVYBiHYW8bb-kvv1J7UCuJTE1jqyfCNTREat4NXicrPcg&s=wetansDSZE_evAfNeMiLaEnC5CKJjI-nbKd26vzCNlSv0dWyHOiUFzXZfCQhmtvFvnVzq38ru--OP-dWpULe0mhcMaQHhkyFWbGKWzsnLJ8B0kssWXH-Wuu-7ymRUB5AxFXi5lTyxIGm7EwSJAnGasWJQVOVfH7THfd38v8ZTmYa-rI5YQE1gB19q6MJbMoMbXasl_zzAr4FrVf4LZgrxNxx-u5HCYYeqnZ30g0b_WhUqDJfMpzMJmjMIVSvx-d_ebcHGBbZWFomoZx1_cKGiHeaSdfSoykR0wWuqncd-pChRmnYAj6eqA01iRXGWKCZtpZ5Gk_Qdk4ys7eMRXjHkA&h=PZljEX9YiRJLVeWGOIBcqrLrPq33EMk2hRgi-ALGuIc + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/efe3de33-67c2-486f-bac0-daf153849980*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","name":"00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-06-15T20:59:32.0225481Z","endTime":"2026-06-15T20:59:34.3200063Z","properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/efe3de33-67c2-486f-bac0-daf153849980*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","name":"efe3de33-67c2-486f-bac0-daf153849980*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-10-13T12:25:37.302919Z","endTime":"2026-10-13T12:25:38.3231943Z","properties":null}' headers: cache-control: - no-cache content-length: - - '637' + - '636' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:39 GMT + etag: + - '"0200891d-0000-0300-0000-6ace23420000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: D8B80DBF6E974457B56E7710D33D3D40 Ref B: GVA201070812034 Ref C: 2026-10-13T12:25:38Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + ParameterSetName: -g -n -l + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:36.7096338Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '533' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:34 GMT + - Tue, 13 Oct 2026 12:25:40 GMT etag: - - '"8000b333-0000-0300-0000-6a3067b60000"' + - '"e50185d5-0000-0200-0000-6ace23420000"' expires: - '-1' pragma: @@ -108,35 +132,29 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED + x-ms-providerhub-traffic: + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: BC78A4F16ABF44E4B82A4CDBC793F980 Ref B: GVA201070812060 Ref C: 2026-10-13T12:25:40Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models create - Connection: - - keep-alive - ParameterSetName: - - -g -n --location - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models wait + Connection: keep-alive + ParameterSetName: -g -n --created --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:30.2950259Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:36.7096338Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -145,9 +163,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:34 GMT + - Tue, 13 Oct 2026 12:25:41 GMT etag: - - '"1501808e-0000-0200-0000-6a3067b60000"' + - '"e50185d5-0000-0200-0000-6ace23420000"' expires: - '-1' pragma: @@ -159,34 +177,28 @@ interactions: x-content-type-options: - nosniff x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 4E4CE65BB94B4B9893B32C634FECF874 Ref B: GVA201070812060 Ref C: 2026-10-13T12:25:41Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models show + Connection: keep-alive + ParameterSetName: -g -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:30.2950259Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:36.7096338Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -195,9 +207,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:36 GMT + - Tue, 13 Oct 2026 12:25:42 GMT etag: - - '"1501808e-0000-0200-0000-6a3067b60000"' + - '"e50185d5-0000-0200-0000-6ace23420000"' expires: - '-1' pragma: @@ -209,34 +221,28 @@ interactions: x-content-type-options: - nosniff x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 0B5FBAAE72484C5A8650C3D5565E8E3E Ref B: FRA231050415027 Ref C: 2026-10-13T12:25:41Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models update - Connection: - - keep-alive - ParameterSetName: - - -g -n --tags - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models update + Connection: keep-alive + ParameterSetName: -g -n --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:30.2950259Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:36.7096338Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -245,9 +251,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:36 GMT + - Tue, 13 Oct 2026 12:25:42 GMT etag: - - '"1501808e-0000-0200-0000-6a3067b60000"' + - '"e50185d5-0000-0200-0000-6ace23420000"' expires: - '-1' pragma: @@ -259,54 +265,44 @@ interactions: x-content-type-options: - nosniff x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: CA967B5F1CFF4E34AC921B98FBF6A1F0 Ref B: GVA201070811031 Ref C: 2026-10-13T12:25:42Z' status: code: 200 message: OK - request: - body: '{"location": "centralus", "properties": {}, "tags": {"env": "test", "owner": - "cli"}}' + body: '{"location": "centralus", "properties": {}, "tags": {"scenario": "examples", + "environment": "demo"}}' headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models update - Connection: - - keep-alive - Content-Length: - - '84' - Content-Type: - - application/json - ParameterSetName: - - -g -n --tags - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models update + Connection: keep-alive + Content-Length: '100' + Content-Type: application/json + ParameterSetName: -g -n --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{"env":"test","owner":"cli"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:37.4022779Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{"scenario":"examples","environment":"demo"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:43.4893697Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '559' + - '575' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:38 GMT + - Tue, 13 Oct 2026 12:25:43 GMT etag: - - '"e1002eb8-0000-0300-0000-6a3067b90000"' + - '"ad08b6bc-0000-0300-0000-6ace23470000"' expires: - '-1' - mise-correlation-id: - - 6d331880-7931-4650-84f1-3419451fcb26 pragma: - no-cache strict-transport-security: @@ -315,48 +311,40 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-writes: - '2999' x-ms-ratelimit-remaining-subscription-writes: - '199' x-msedge-ref: - - REDACTED + - 'Ref A: B61D22FB4DAD467DAAB5B95189F61727 Ref B: GVA201070812040 Ref C: 2026-10-13T12:25:43Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models list + Connection: keep-alive + ParameterSetName: -g + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels?api-version=2026-11-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{"env":"test","owner":"cli"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:30.2950259Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:37.4022779Z"},"properties":{"provisioningState":"Succeeded"}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{"scenario":"examples","environment":"demo"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:36.7096338Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:43.4893697Z"},"properties":{"provisioningState":"Succeeded"}}]}' headers: cache-control: - no-cache content-length: - - '571' + - '587' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:38 GMT + - Tue, 13 Oct 2026 12:25:43 GMT expires: - '-1' pragma: @@ -368,54 +356,225 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - REDACTED + - fff079f2-c60d-4aee-9712-ebee4af9a427 + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 3C78CFD8121C401D9517977E2F588904 Ref B: GVA201070811040 Ref C: 2026-10-13T12:25:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"lastModifiedAt":"2026-10-13T12:25:37.8960998Z"},"properties":{"displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '444' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 6F962731B57F40E2A73ECB2BE2EA2C00 Ref B: FRA261110506060 Ref C: 2026-10-13T12:25:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"lastModifiedAt":"2026-10-13T12:25:37.8960998Z"},"properties":{"displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '444' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: AC5D1BD7C4C3413FB6B1561DF83535A8 Ref B: GVA201070811062 Ref C: 2026-10-13T12:25:46Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 0.0}, "displayName": + "clihm000002", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '108' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:47.4463038Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:47.4463038Z"},"properties":{"provisioningState":"Succeeded","displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '613' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 16DCB0E1E3DB4C36B54EB5DBE4712905 Ref B: MIL221110118052 Ref C: 2026-10-13T12:25:46Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Web frontend", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity create + Connection: keep-alive + Content-Length: '111' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.3491983Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '618' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 2576175558C3484790EFABE9CB6BB8B2 Ref B: GVA201070811036 Ref C: 2026-10-13T12:25:48Z' status: code: 200 message: OK - request: - body: '{"properties": {"displayName": "CLI Test Entity", "impact": "Standard"}}' + body: '{"properties": {"childEntityName": "client000003", "displayName": "Checkout + depends on frontend", "parentEntityName": "clihm000002"}}' headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models entity create - Connection: - - keep-alive - Content-Length: - - '72' - Content-Type: - - application/json - ParameterSetName: - - -g --health-model-name -n --display-name --impact - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '133' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:39.6385728Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:39.6385728Z"},"properties":{"provisioningState":"Succeeded","displayName":"CLI - Test Entity","impact":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:49.417639Z"},"properties":{"provisioningState":"Succeeded","displayName":"Checkout + depends on frontend","parentEntityName":"clihm000002","childEntityName":"client000003"}}' headers: cache-control: - no-cache content-length: - - '584' + - '651' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:39 GMT + - Tue, 13 Oct 2026 12:25:49 GMT expires: - '-1' - mise-correlation-id: - - 2520c84a-7a21-480e-9e91-e9af7078f2ed pragma: - no-cache strict-transport-security: @@ -424,53 +583,43 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-writes: - '2999' x-ms-ratelimit-remaining-subscription-writes: - '199' x-msedge-ref: - - REDACTED + - 'Ref A: C6477F2ADD384E87B8FF8CA2C7B57E1F Ref B: GVA201070812054 Ref C: 2026-10-13T12:25:49Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models entity show - Connection: - - keep-alive - ParameterSetName: - - -g --health-model-name -n - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:39.6385728Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:39.9571595Z"},"properties":{"provisioningState":"Succeeded","displayName":"CLI - Test Entity","impact":"Standard","healthState":"Unknown"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.5547312Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' headers: cache-control: - no-cache content-length: - - '608' + - '642' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:41 GMT + - Tue, 13 Oct 2026 12:25:50 GMT expires: - '-1' - mise-correlation-id: - - 2b12e884-f295-480b-981d-4459ccefc73e pragma: - no-cache strict-transport-security: @@ -479,51 +628,41 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 4E525CEFA50B403F97DB32B68DEEF46E Ref B: MIL221110118025 Ref C: 2026-10-13T12:25:50Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models entity list - Connection: - - keep-alive - ParameterSetName: - - -g --health-model-name - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-15T20:59:39.6385728Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-15T20:59:39.9571595Z"},"properties":{"provisioningState":"Succeeded","displayName":"CLI - Test Entity","impact":"Standard","healthState":"Unknown"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"lastModifiedAt":"2026-06-15T20:59:32.9645412Z"},"properties":{"displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","healthState":"Unknown"}}]}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:49.6432611Z"},"properties":{"provisioningState":"Succeeded","displayName":"Checkout + depends on frontend","parentEntityName":"clihm000002","childEntityName":"client000003"}}' headers: cache-control: - no-cache content-length: - - '1065' + - '652' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:42 GMT + - Tue, 13 Oct 2026 12:25:50 GMT expires: - '-1' - mise-correlation-id: - - b3b11bac-4a95-4460-ba5c-bab397397840 pragma: - no-cache strict-transport-security: @@ -532,50 +671,41 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 8CB5FB8C555A42289B40FEB301F7F078 Ref B: GVA201070812062 Ref C: 2026-10-13T12:25:50Z' status: code: 200 message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models entity delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g --health-model-name -n --yes - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-05-01-preview + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:49.6432611Z"},"properties":{"provisioningState":"Succeeded","displayName":"Checkout + depends on frontend","parentEntityName":"clihm000002","childEntityName":"client000003"}}' headers: cache-control: - no-cache + content-length: + - '652' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:44 GMT + - Tue, 13 Oct 2026 12:25:51 GMT expires: - '-1' - mise-correlation-id: - - 7774de18-4f75-42ec-9487-ff2bf03caee4 pragma: - no-cache strict-transport-security: @@ -584,62 +714,41 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED - x-ms-ratelimit-remaining-subscription-deletes: - - '199' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '2999' + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 6A4970B6D0C740A0A628E4888E3DFD99 Ref B: FRA261071507036 Ref C: 2026-10-13T12:25:51Z' status: - code: 204 - message: No Content + code: 200 + message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n --yes - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-05-01-preview + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 response: body: - string: 'null' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:49.6432611Z"},"properties":{"provisioningState":"Succeeded","displayName":"Checkout + depends on frontend","parentEntityName":"clihm000002","childEntityName":"client000003"}}' headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/735b7a95-4d18-4b85-9d90-658e5bd89319*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539868352076&c=MIIHxDCCBqygAwIBAgIRAMRpkKdRWhWugxycwJTrwE0wDQYJKoZIhvcNAQELBQAwNTEzMDEGA1UEAxMqQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgQ1VTIENBIDAxMB4XDTI2MDQwNjIxMTYzOVoXDTI2MTAwMjAzMTYzOVowQDE-MDwGA1UEAxM1YXN5bmNvcGVyYXRpb25zaWduaW5nY2VydGlmaWNhdGUubWFuYWdlbWVudC5henVyZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7Xc9AeQtjVzLBsmb02CAFQe0eb8_tS42dpPi7CRyNLajzokRblc2MXPl_-aAo65BzBZRSRFe29NOERHKda7m3Kdyjj9xeeKfMe4Stf-G8aGI83Q1QhKKOjYx1I1Gb7Ues4WldpcNNn9w42SV8nWE29bx_Lqq6w3oQTFQrf2mnGRegsVTNjOMIxsfPNA-t32pG4zsnkxTfs66UokpdlfI5K-V8rUw3FYytQGqD_7kidQ_4WQFXa1H7DIqv14ePhIpEloUr3uwcgwovYQylI2jnSpds866jxx8jDyWqKI_dQhtKzGePIPMcKiEZLWZSMBYf34Dxoh52SLiIKB__IpytAgMBAAGjggTCMIIEvjCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwDAYDVR0TAQH_BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH_BAQDAgWgMB0GA1UdDgQWBBSr5bqFBCOJYj3_8ROJAAzOtTntDzAfBgNVHSMEGDAWgBT85FoKL4UO50S5B3N44NREB6IZETCCAcoGA1UdHwSCAcEwggG9MG-gbaBrhmlodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwcaBvoG2Ga2h0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2NlbnRyYWx1cy9jcmxzL2NjbWVjZW50cmFsdXNwa2kvY2NtZWNlbnRyYWx1c2ljYTAxLzc2L2N1cnJlbnQuY3JsMGCgXqBchlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwdaBzoHGGb2h0dHA6Ly9jY21lY2VudHJhbHVzcGtpLmNlbnRyYWx1cy5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWVjZW50cmFsdXNpY2EwMS83Ni9jdXJyZW50LmNybDCCAc8GCCsGAQUFBwEBBIIBwTCCAb0wcgYIKwYBBQUHMAKGZmh0dHA6Ly9wcmltYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjB0BggrBgEFBQcwAoZoaHR0cDovL3NlY29uZGFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NhY2VydHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvY2VydC5jZXIwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjBsBggrBgEFBQcwAoZgaHR0cDovL2NjbWVjZW50cmFsdXNwa2kuY2VudHJhbHVzLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWNlbnRyYWx1c2ljYTAxMA0GCSqGSIb3DQEBCwUAA4IBAQBqPSAHbf_opPyMLbk1VzVSfRHW5DA7ieRh55DJH1hCGV-WPAw145BaFgXxNjHdle_NsF4WFxq0n2nhJtERb4q9P9OEUxUuxpO9rRZcGpDQQHn3Fexp-Fj1917PYHXC-dqfTyYqcPdZqdxij1MQkl34_Bi9sONorQc9aavBvQtI8HYjUJTY3c-55pAUVkiqF2rpz3y1MLtVXgwyAiXZw7duzgDsj6_jPvM3jlnPYMRbAX0R6qQjhwQKNwpSWU4E6teiydGvoMIjtxre0xNg2FjtoaTkOGXSQswIBr00PbgBfTIWRvvGo6yG7nOl1U8izZBVxEaHIGI6CJy9wLRFxhfL&s=JS6V_Tkqk6TDf81Y4DtUveGCINSltwBMg1TrMWIVxsfHLqUZWl1WwMQeg3aLJNT8FjnzgYpzI_YYfaPJVlFXptpkahZmil9aBrMsElLHe3drk2H1WGdd0mlpJ0N_LWUj4MBbZCCcKHjS691gzBYYFB82xT3GiBduDDZ970k2yYw_aa6BMfxTW6MCGqxEsuDiDjPgX4Vhc7n5CRXMq_NocWulrJoOxto5GUjnkDpxS_-KDGNRTaoEGsU1gkPWbB0yj63zlbo4fO4iKMIiu-hHqhIVI9AwWN4VN9b516eccsNrjdyKI0z-Hm4BDYyyv95cSUOCYjuQhOOycEl9R5EKHQ&h=iO_kqBZ91kRxcLfZnFea4OPKi2cIfdH5gNCcZZBUgqw cache-control: - no-cache content-length: - - '4' + - '652' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:46 GMT - etag: - - '"e100acbb-0000-0300-0000-6a3067c20000"' + - Tue, 13 Oct 2026 12:25:51 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/735b7a95-4d18-4b85-9d90-658e5bd89319*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539868352076&c=MIIHxDCCBqygAwIBAgIRAMRpkKdRWhWugxycwJTrwE0wDQYJKoZIhvcNAQELBQAwNTEzMDEGA1UEAxMqQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgQ1VTIENBIDAxMB4XDTI2MDQwNjIxMTYzOVoXDTI2MTAwMjAzMTYzOVowQDE-MDwGA1UEAxM1YXN5bmNvcGVyYXRpb25zaWduaW5nY2VydGlmaWNhdGUubWFuYWdlbWVudC5henVyZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7Xc9AeQtjVzLBsmb02CAFQe0eb8_tS42dpPi7CRyNLajzokRblc2MXPl_-aAo65BzBZRSRFe29NOERHKda7m3Kdyjj9xeeKfMe4Stf-G8aGI83Q1QhKKOjYx1I1Gb7Ues4WldpcNNn9w42SV8nWE29bx_Lqq6w3oQTFQrf2mnGRegsVTNjOMIxsfPNA-t32pG4zsnkxTfs66UokpdlfI5K-V8rUw3FYytQGqD_7kidQ_4WQFXa1H7DIqv14ePhIpEloUr3uwcgwovYQylI2jnSpds866jxx8jDyWqKI_dQhtKzGePIPMcKiEZLWZSMBYf34Dxoh52SLiIKB__IpytAgMBAAGjggTCMIIEvjCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwDAYDVR0TAQH_BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH_BAQDAgWgMB0GA1UdDgQWBBSr5bqFBCOJYj3_8ROJAAzOtTntDzAfBgNVHSMEGDAWgBT85FoKL4UO50S5B3N44NREB6IZETCCAcoGA1UdHwSCAcEwggG9MG-gbaBrhmlodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwcaBvoG2Ga2h0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2NlbnRyYWx1cy9jcmxzL2NjbWVjZW50cmFsdXNwa2kvY2NtZWNlbnRyYWx1c2ljYTAxLzc2L2N1cnJlbnQuY3JsMGCgXqBchlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwdaBzoHGGb2h0dHA6Ly9jY21lY2VudHJhbHVzcGtpLmNlbnRyYWx1cy5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWVjZW50cmFsdXNpY2EwMS83Ni9jdXJyZW50LmNybDCCAc8GCCsGAQUFBwEBBIIBwTCCAb0wcgYIKwYBBQUHMAKGZmh0dHA6Ly9wcmltYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjB0BggrBgEFBQcwAoZoaHR0cDovL3NlY29uZGFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NhY2VydHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvY2VydC5jZXIwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjBsBggrBgEFBQcwAoZgaHR0cDovL2NjbWVjZW50cmFsdXNwa2kuY2VudHJhbHVzLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWNlbnRyYWx1c2ljYTAxMA0GCSqGSIb3DQEBCwUAA4IBAQBqPSAHbf_opPyMLbk1VzVSfRHW5DA7ieRh55DJH1hCGV-WPAw145BaFgXxNjHdle_NsF4WFxq0n2nhJtERb4q9P9OEUxUuxpO9rRZcGpDQQHn3Fexp-Fj1917PYHXC-dqfTyYqcPdZqdxij1MQkl34_Bi9sONorQc9aavBvQtI8HYjUJTY3c-55pAUVkiqF2rpz3y1MLtVXgwyAiXZw7duzgDsj6_jPvM3jlnPYMRbAX0R6qQjhwQKNwpSWU4E6teiydGvoMIjtxre0xNg2FjtoaTkOGXSQswIBr00PbgBfTIWRvvGo6yG7nOl1U8izZBVxEaHIGI6CJy9wLRFxhfL&s=JS6V_Tkqk6TDf81Y4DtUveGCINSltwBMg1TrMWIVxsfHLqUZWl1WwMQeg3aLJNT8FjnzgYpzI_YYfaPJVlFXptpkahZmil9aBrMsElLHe3drk2H1WGdd0mlpJ0N_LWUj4MBbZCCcKHjS691gzBYYFB82xT3GiBduDDZ970k2yYw_aa6BMfxTW6MCGqxEsuDiDjPgX4Vhc7n5CRXMq_NocWulrJoOxto5GUjnkDpxS_-KDGNRTaoEGsU1gkPWbB0yj63zlbo4fO4iKMIiu-hHqhIVI9AwWN4VN9b516eccsNrjdyKI0z-Hm4BDYyyv95cSUOCYjuQhOOycEl9R5EKHQ&h=iO_kqBZ91kRxcLfZnFea4OPKi2cIfdH5gNCcZZBUgqw - mise-correlation-id: - - 14f4a182-6e15-4212-bfe0-9d94f95ae29f pragma: - no-cache strict-transport-security: @@ -648,52 +757,87 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED x-ms-providerhub-traffic: - - REDACTED - x-ms-ratelimit-remaining-subscription-deletes: - - '199' - x-ms-ratelimit-remaining-subscription-global-deletes: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 91D6A6D44E474BA19FCBE767FC9FEF19 Ref B: GVA201070811060 Ref C: 2026-10-13T12:25:52Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "client000003", "displayName": "Frontend + dependency", "parentEntityName": "clihm000002"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + Content-Length: '124' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:52.9713336Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:52.9713336Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + dependency","parentEntityName":"clihm000002","childEntityName":"client000003"}}' + headers: + cache-control: + - no-cache + content-length: + - '644' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: - '2999' - x-ms-resource-provider-hint: - - REDACTED + x-ms-ratelimit-remaining-subscription-writes: + - '199' x-msedge-ref: - - REDACTED + - 'Ref A: 253C66E1D006423E8FEB1CFB033D6486 Ref B: MIL221110511042 Ref C: 2026-10-13T12:25:52Z' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models delete - Connection: - - keep-alive - ParameterSetName: - - -g -n --yes - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/735b7a95-4d18-4b85-9d90-658e5bd89319*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539868352076&c=MIIHxDCCBqygAwIBAgIRAMRpkKdRWhWugxycwJTrwE0wDQYJKoZIhvcNAQELBQAwNTEzMDEGA1UEAxMqQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgQ1VTIENBIDAxMB4XDTI2MDQwNjIxMTYzOVoXDTI2MTAwMjAzMTYzOVowQDE-MDwGA1UEAxM1YXN5bmNvcGVyYXRpb25zaWduaW5nY2VydGlmaWNhdGUubWFuYWdlbWVudC5henVyZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7Xc9AeQtjVzLBsmb02CAFQe0eb8_tS42dpPi7CRyNLajzokRblc2MXPl_-aAo65BzBZRSRFe29NOERHKda7m3Kdyjj9xeeKfMe4Stf-G8aGI83Q1QhKKOjYx1I1Gb7Ues4WldpcNNn9w42SV8nWE29bx_Lqq6w3oQTFQrf2mnGRegsVTNjOMIxsfPNA-t32pG4zsnkxTfs66UokpdlfI5K-V8rUw3FYytQGqD_7kidQ_4WQFXa1H7DIqv14ePhIpEloUr3uwcgwovYQylI2jnSpds866jxx8jDyWqKI_dQhtKzGePIPMcKiEZLWZSMBYf34Dxoh52SLiIKB__IpytAgMBAAGjggTCMIIEvjCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwDAYDVR0TAQH_BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH_BAQDAgWgMB0GA1UdDgQWBBSr5bqFBCOJYj3_8ROJAAzOtTntDzAfBgNVHSMEGDAWgBT85FoKL4UO50S5B3N44NREB6IZETCCAcoGA1UdHwSCAcEwggG9MG-gbaBrhmlodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwcaBvoG2Ga2h0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2NlbnRyYWx1cy9jcmxzL2NjbWVjZW50cmFsdXNwa2kvY2NtZWNlbnRyYWx1c2ljYTAxLzc2L2N1cnJlbnQuY3JsMGCgXqBchlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwdaBzoHGGb2h0dHA6Ly9jY21lY2VudHJhbHVzcGtpLmNlbnRyYWx1cy5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWVjZW50cmFsdXNpY2EwMS83Ni9jdXJyZW50LmNybDCCAc8GCCsGAQUFBwEBBIIBwTCCAb0wcgYIKwYBBQUHMAKGZmh0dHA6Ly9wcmltYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjB0BggrBgEFBQcwAoZoaHR0cDovL3NlY29uZGFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NhY2VydHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvY2VydC5jZXIwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjBsBggrBgEFBQcwAoZgaHR0cDovL2NjbWVjZW50cmFsdXNwa2kuY2VudHJhbHVzLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWNlbnRyYWx1c2ljYTAxMA0GCSqGSIb3DQEBCwUAA4IBAQBqPSAHbf_opPyMLbk1VzVSfRHW5DA7ieRh55DJH1hCGV-WPAw145BaFgXxNjHdle_NsF4WFxq0n2nhJtERb4q9P9OEUxUuxpO9rRZcGpDQQHn3Fexp-Fj1917PYHXC-dqfTyYqcPdZqdxij1MQkl34_Bi9sONorQc9aavBvQtI8HYjUJTY3c-55pAUVkiqF2rpz3y1MLtVXgwyAiXZw7duzgDsj6_jPvM3jlnPYMRbAX0R6qQjhwQKNwpSWU4E6teiydGvoMIjtxre0xNg2FjtoaTkOGXSQswIBr00PbgBfTIWRvvGo6yG7nOl1U8izZBVxEaHIGI6CJy9wLRFxhfL&s=JS6V_Tkqk6TDf81Y4DtUveGCINSltwBMg1TrMWIVxsfHLqUZWl1WwMQeg3aLJNT8FjnzgYpzI_YYfaPJVlFXptpkahZmil9aBrMsElLHe3drk2H1WGdd0mlpJ0N_LWUj4MBbZCCcKHjS691gzBYYFB82xT3GiBduDDZ970k2yYw_aa6BMfxTW6MCGqxEsuDiDjPgX4Vhc7n5CRXMq_NocWulrJoOxto5GUjnkDpxS_-KDGNRTaoEGsU1gkPWbB0yj63zlbo4fO4iKMIiu-hHqhIVI9AwWN4VN9b516eccsNrjdyKI0z-Hm4BDYyyv95cSUOCYjuQhOOycEl9R5EKHQ&h=iO_kqBZ91kRxcLfZnFea4OPKi2cIfdH5gNCcZZBUgqw + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","name":"00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-06-15T20:59:46.2592915Z","endTime":"2026-06-15T20:59:48.5613435Z","properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.5547312Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' headers: cache-control: - no-cache content-length: - - '637' + - '642' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:49 GMT - etag: - - '"8000b639-0000-0300-0000-6a3067c40000"' + - Tue, 13 Oct 2026 12:25:53 GMT expires: - '-1' pragma: @@ -704,46 +848,42 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED + x-ms-providerhub-traffic: + - 'True' x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: C6FF2D7972304667BBA307C74D6CB34D Ref B: GVA201070812042 Ref C: 2026-10-13T12:25:53Z' status: code: 200 message: OK - request: - body: null + body: '{"properties": {"canvasPosition": {"x": 250.0, "y": 200.0}, "displayName": + "Background worker", "impact": "Standard"}}' headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models delete - Connection: - - keep-alive - ParameterSetName: - - -g -n --yes - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/735b7a95-4d18-4b85-9d90-658e5bd89319*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1?api-version=2026-05-01-preview&t=639171539868352076&c=MIIHxDCCBqygAwIBAgIRAMRpkKdRWhWugxycwJTrwE0wDQYJKoZIhvcNAQELBQAwNTEzMDEGA1UEAxMqQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgQ1VTIENBIDAxMB4XDTI2MDQwNjIxMTYzOVoXDTI2MTAwMjAzMTYzOVowQDE-MDwGA1UEAxM1YXN5bmNvcGVyYXRpb25zaWduaW5nY2VydGlmaWNhdGUubWFuYWdlbWVudC5henVyZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7Xc9AeQtjVzLBsmb02CAFQe0eb8_tS42dpPi7CRyNLajzokRblc2MXPl_-aAo65BzBZRSRFe29NOERHKda7m3Kdyjj9xeeKfMe4Stf-G8aGI83Q1QhKKOjYx1I1Gb7Ues4WldpcNNn9w42SV8nWE29bx_Lqq6w3oQTFQrf2mnGRegsVTNjOMIxsfPNA-t32pG4zsnkxTfs66UokpdlfI5K-V8rUw3FYytQGqD_7kidQ_4WQFXa1H7DIqv14ePhIpEloUr3uwcgwovYQylI2jnSpds866jxx8jDyWqKI_dQhtKzGePIPMcKiEZLWZSMBYf34Dxoh52SLiIKB__IpytAgMBAAGjggTCMIIEvjCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwDAYDVR0TAQH_BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH_BAQDAgWgMB0GA1UdDgQWBBSr5bqFBCOJYj3_8ROJAAzOtTntDzAfBgNVHSMEGDAWgBT85FoKL4UO50S5B3N44NREB6IZETCCAcoGA1UdHwSCAcEwggG9MG-gbaBrhmlodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwcaBvoG2Ga2h0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2NlbnRyYWx1cy9jcmxzL2NjbWVjZW50cmFsdXNwa2kvY2NtZWNlbnRyYWx1c2ljYTAxLzc2L2N1cnJlbnQuY3JsMGCgXqBchlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vY2VudHJhbHVzL2NybHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvNzYvY3VycmVudC5jcmwwdaBzoHGGb2h0dHA6Ly9jY21lY2VudHJhbHVzcGtpLmNlbnRyYWx1cy5wa2kuY29yZS53aW5kb3dzLm5ldC9jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzL2NjbWVjZW50cmFsdXNpY2EwMS83Ni9jdXJyZW50LmNybDCCAc8GCCsGAQUFBwEBBIIBwTCCAb0wcgYIKwYBBQUHMAKGZmh0dHA6Ly9wcmltYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjB0BggrBgEFBQcwAoZoaHR0cDovL3NlY29uZGFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvY2VudHJhbHVzL2NhY2VydHMvY2NtZWNlbnRyYWx1c3BraS9jY21lY2VudHJhbHVzaWNhMDEvY2VydC5jZXIwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9jZW50cmFsdXMvY2FjZXJ0cy9jY21lY2VudHJhbHVzcGtpL2NjbWVjZW50cmFsdXNpY2EwMS9jZXJ0LmNlcjBsBggrBgEFBQcwAoZgaHR0cDovL2NjbWVjZW50cmFsdXNwa2kuY2VudHJhbHVzLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWNlbnRyYWx1c2ljYTAxMA0GCSqGSIb3DQEBCwUAA4IBAQBqPSAHbf_opPyMLbk1VzVSfRHW5DA7ieRh55DJH1hCGV-WPAw145BaFgXxNjHdle_NsF4WFxq0n2nhJtERb4q9P9OEUxUuxpO9rRZcGpDQQHn3Fexp-Fj1917PYHXC-dqfTyYqcPdZqdxij1MQkl34_Bi9sONorQc9aavBvQtI8HYjUJTY3c-55pAUVkiqF2rpz3y1MLtVXgwyAiXZw7duzgDsj6_jPvM3jlnPYMRbAX0R6qQjhwQKNwpSWU4E6teiydGvoMIjtxre0xNg2FjtoaTkOGXSQswIBr00PbgBfTIWRvvGo6yG7nOl1U8izZBVxEaHIGI6CJy9wLRFxhfL&s=JS6V_Tkqk6TDf81Y4DtUveGCINSltwBMg1TrMWIVxsfHLqUZWl1WwMQeg3aLJNT8FjnzgYpzI_YYfaPJVlFXptpkahZmil9aBrMsElLHe3drk2H1WGdd0mlpJ0N_LWUj4MBbZCCcKHjS691gzBYYFB82xT3GiBduDDZ970k2yYw_aa6BMfxTW6MCGqxEsuDiDjPgX4Vhc7n5CRXMq_NocWulrJoOxto5GUjnkDpxS_-KDGNRTaoEGsU1gkPWbB0yj63zlbo4fO4iKMIiu-hHqhIVI9AwWN4VN9b516eccsNrjdyKI0z-Hm4BDYyyv95cSUOCYjuQhOOycEl9R5EKHQ&h=iO_kqBZ91kRxcLfZnFea4OPKi2cIfdH5gNCcZZBUgqw + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity create + Connection: keep-alive + Content-Length: '118' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000004?api-version=2026-11-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","name":"00000000-0000-0000-0000-000000000001*83EE300613B9B0FD22FBB0BA8554A8BE8F9CE9C1EEA5C5E277C023E05C3453F1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-06-15T20:59:46.2592915Z","endTime":"2026-06-15T20:59:48.5613435Z","properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000004","name":"client000004","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:54.5163744Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:54.5163744Z"},"properties":{"provisioningState":"Succeeded","displayName":"Background + worker","canvasPosition":{"x":250.0,"y":200.0},"impact":"Standard"}}' headers: cache-control: - no-cache content-length: - - '637' + - '625' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:59:49 GMT - etag: - - '"8000b639-0000-0300-0000-6a3067c40000"' + - Tue, 13 Oct 2026 12:25:54 GMT expires: - '-1' pragma: @@ -754,13 +894,2258 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-operation-identifier: - - REDACTED - x-ms-ratelimit-remaining-subscription-global-reads: - - '3749' + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' x-msedge-ref: - - REDACTED + - 'Ref A: 5B6DB6D09B3B49F7AD0A7B020C2DC973 Ref B: GVA201070811062 Ref C: 2026-10-13T12:25:54Z' status: code: 200 message: OK +- request: + body: '{"properties": {"childEntityName": "client000004", "displayName": "Root + to child", "parentEntityName": "clihm000002"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '118' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:56.0932093Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:56.0932093Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000004"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 732CF2B84A2B47BB9FFDBBA8E4F41967 Ref B: GVA201070811060 Ref C: 2026-10-13T12:25:55Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:56.0932093Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:56.2767496Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000004"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 04ADE8569E614455BF73DB4EB2E3E8B9 Ref B: GVA201070811034 Ref C: 2026-10-13T12:25:56Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:56.0932093Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:56.2767496Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000004"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 830B7E03022D41E08421BE9DCD6FD315 Ref B: GVA201070811054 Ref C: 2026-10-13T12:25:57Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "client000004", "displayName": "Connected + top-level entity", "parentEntityName": "clihm000002"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + Content-Length: '131' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:57.8925167Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:57.8925167Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000004"}}' + headers: + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: B0D7FCDB40CE4FD79E202ABFB3739F34 Ref B: GVA201070811052 Ref C: 2026-10-13T12:25:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000004?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000004","name":"client000004","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:54.5163744Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:54.7206242Z"},"properties":{"provisioningState":"Succeeded","displayName":"Background + worker","canvasPosition":{"x":250.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '649' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 2C5E4A41834C40C9B6BCFE73C20D4F4D Ref B: MIL221110509040 Ref C: 2026-10-13T12:25:58Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 500.0, "y": 200.0}, "displayName": + "Data storage", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity create + Connection: keep-alive + Content-Length: '113' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000005?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000005","name":"client000005","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:58.9289392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:58.9289392Z"},"properties":{"provisioningState":"Succeeded","displayName":"Data + storage","canvasPosition":{"x":500.0,"y":200.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '620' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:25:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 05F246E1029D476487ECDA52197C3965 Ref B: GVA201070812054 Ref C: 2026-10-13T12:25:58Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "client000005", "displayName": "Root + to child", "parentEntityName": "clihm000002"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '118' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:00.3376987Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:00.3376987Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000005"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 208BA99929FF44F6B80D03EAF58C59A4 Ref B: MIL221091017054 Ref C: 2026-10-13T12:25:59Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:00.3376987Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:00.8708745Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000005"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: A37D354719F84A1A9A18C9CA98D65B70 Ref B: GVA201070812040 Ref C: 2026-10-13T12:26:01Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:00.3376987Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:00.8708745Z"},"properties":{"provisioningState":"Succeeded","displayName":"Root + to child","parentEntityName":"clihm000002","childEntityName":"client000005"}}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: A64286BED68840A8B2668338ECF88FBA Ref B: GVA201070812023 Ref C: 2026-10-13T12:26:01Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "client000005", "displayName": "Connected + top-level entity", "parentEntityName": "clihm000002"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship update + Connection: keep-alive + Content-Length: '131' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:02.9251884Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:02.9251884Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000005"}}' + headers: + cache-control: + - no-cache + content-length: + - '651' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: F7A3D33641C34087A68361A16DF0CAB5 Ref B: FRA261110503062 Ref C: 2026-10-13T12:26:02Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000005?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000005","name":"client000005","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:58.9289392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:59.1754868Z"},"properties":{"provisioningState":"Succeeded","displayName":"Data + storage","canvasPosition":{"x":500.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '644' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 4250C7FBB2824D16B7A84373C99DC112 Ref B: GVA201070811052 Ref C: 2026-10-13T12:26:04Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --signal-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"lastModifiedAt":"2026-10-13T12:25:37.8960998Z"},"properties":{"displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '444' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: FCC4D8DB311042DC9C7FC3773F61907E Ref B: GVA201070811040 Ref C: 2026-10-13T12:26:05Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 0.0}, "displayName": + "clihm000002", "impact": "Standard", "signalGroups": {"dependencies": {"aggregationType": + "WorstOf"}}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '174' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --signal-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:06.0572187Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:06.0572187Z"},"properties":{"provisioningState":"Succeeded","displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","signalGroups":{"dependencies":{"aggregationType":"WorstOf","ignoreUnknown":true}}}}' + headers: + cache-control: + - no-cache + content-length: + - '696' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 531584F0C51C4C538546A4E2EF067646 Ref B: GVA201070812036 Ref C: 2026-10-13T12:26:05Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 400.0}, "displayName": + "Frontend API", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity create + Connection: keep-alive + Content-Length: '111' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009","name":"cliapi000009","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:07.0591531Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:07.0591531Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + API","canvasPosition":{"x":0.0,"y":400.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '618' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: F96825365BE140E2A38CB0DC6BEBEB20 Ref B: FRA231050415017 Ref C: 2026-10-13T12:26:06Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "cliapi000009", "parentEntityName": + "client000003"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '87' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000010?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000010","name":"clirel000010","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:08.1859905Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:08.1859905Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"client000003","childEntityName":"cliapi000009"}}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: A8A36682C3FA471EB4D929673C5B02C1 Ref B: GVA201070811029 Ref C: 2026-10-13T12:26:07Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/cliapi000009","name":"cliapi000009","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:07.0591531Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:07.2765742Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + API","canvasPosition":{"x":0.0,"y":400.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '642' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 993417CF1D33473294EBC427A697DD4B Ref B: FRA231050414051 Ref C: 2026-10-13T12:26:08Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 400.0}, "displayName": + "Frontend API", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '111' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009","name":"cliapi000009","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:10.4127822Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:10.4127822Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + API","canvasPosition":{"x":0.0,"y":400.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '618' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: DBDABD1002954FF2B9EA35ACC6004747 Ref B: MIL221110511029 Ref C: 2026-10-13T12:26:10Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/cliapi000009","name":"cliapi000009","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:07.0591531Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:07.2765742Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + API","canvasPosition":{"x":0.0,"y":400.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '642' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3748' + x-msedge-ref: + - 'Ref A: 32088A7B6BA342D893337B1329C1FA7C Ref B: GVA201070811040 Ref C: 2026-10-13T12:26:10Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:53.1416733Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + dependency","parentEntityName":"clihm000002","childEntityName":"client000003"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:56.0932093Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:58.0726272Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000004"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000010","name":"clirel000010","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:08.1859905Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:08.3697402Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"client000003","childEntityName":"cliapi000009"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:00.3376987Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:03.5059376Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000005"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2569' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: E6967E098D5942C180638CFF7E40E7C6 Ref B: GVA201070812042 Ref C: 2026-10-13T12:26:11Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.5547312Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '642' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 4F235BEC3B044E4A89421C3B89C580F0 Ref B: MIL221091017054 Ref C: 2026-10-13T12:26:11Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/cliapi000009","name":"cliapi000009","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:07.0591531Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:07.2765742Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + API","canvasPosition":{"x":0.0,"y":400.0},"impact":"Standard","healthState":"Unknown"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000005","name":"client000005","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:58.9289392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:59.1754868Z"},"properties":{"provisioningState":"Succeeded","displayName":"Data + storage","canvasPosition":{"x":500.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.5547312Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000004","name":"client000004","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:54.5163744Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:54.7206242Z"},"properties":{"provisioningState":"Succeeded","displayName":"Background + worker","canvasPosition":{"x":250.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/clihm000002","name":"clihm000002","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:06.2714358Z"},"properties":{"provisioningState":"Succeeded","displayName":"clihm000002","canvasPosition":{"x":0.0,"y":0.0},"impact":"Standard","signalGroups":{"dependencies":{"aggregationType":"WorstOf","ignoreUnknown":true}},"healthState":"Unknown"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3216' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 631FC501B9C04321839E71C1FEFCDEC5 Ref B: GVA201070811025 Ref C: 2026-10-13T12:26:12Z' + status: + code: 200 + message: OK +- request: + body: '{"annotationDetails": {"environment": "demo", "deploymentId": "release-001"}, + "description": "Frontend deployment"}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity add-data-annotation + Connection: keep-alive + Content-Length: '115' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --description --annotation-details + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/addDataAnnotation?api-version=2026-11-01 + response: + body: + string: '{"annotationId":"008fdb17-4d0b-4d70-bda5-5ea85fe6dcf2","createdAt":"2026-10-13T12:26:13.0068939+00:00","annotationDetails":{"environment":"demo","deploymentId":"release-001"},"description":"Frontend + deployment"}' + headers: + cache-control: + - no-cache + content-length: + - '211' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: F5BCA6F62347440986426B715DE4938E Ref B: GVA201070811042 Ref C: 2026-10-13T12:26:12Z' + status: + code: 200 + message: OK +- request: + body: '{"additionalContext": "Synthetic availability check", "expiresInMinutes": + 60, "healthState": "Healthy", "signalName": "availability", "value": 100.0}' + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity ingest-health-report + Connection: keep-alive + Content-Length: '149' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --signal-name --health-state + --value --expires-in-minutes --additional-context + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/ingestHealthReport?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 323FE2DD1B84404FA96E80F77C7AFBB9 Ref B: MIL221091017031 Ref C: 2026-10-13T12:26:13Z' + status: + code: 204 + message: No Content +- request: + body: '{"expiresInMinutes": 60, "healthState": "Healthy", "signalName": "primary", + "value": 100.0}' + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity ingest-health-report + Connection: keep-alive + Content-Length: '91' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --signal-name --value + --health-state --expires-in-minutes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/ingestHealthReport?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: BA87151B91DB4DFE808E30D20231591D Ref B: GVA201070812029 Ref C: 2026-10-13T12:26:14Z' + status: + code: 204 + message: No Content +- request: + body: '{"expiresInMinutes": 60, "healthState": "Degraded", "signalName": "backup", + "value": 80.0}' + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity ingest-health-report + Connection: keep-alive + Content-Length: '90' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --signal-name --value + --health-state --expires-in-minutes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/ingestHealthReport?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 140B4BA6388B43A28CEFB3DC4E33F929 Ref B: MIL221091017040 Ref C: 2026-10-13T12:26:14Z' + status: + code: 204 + message: No Content +- request: + body: '{"expiresInMinutes": 60, "healthState": "Healthy", "signalName": "canary", + "value": 100.0}' + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity ingest-health-report + Connection: keep-alive + Content-Length: '90' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --signal-name --value + --health-state --expires-in-minutes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/ingestHealthReport?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: AF6316E1B2B74681B4AD9C544348523F Ref B: GVA201070812062 Ref C: 2026-10-13T12:26:15Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:48.5547312Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{"external":{"signals":[{"signalKind":"External","name":"availability","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:13.7300119+00:00","additionalContext":"Synthetic + availability check"}},{"signalKind":"External","name":"primary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:14.3961889+00:00"}},{"signalKind":"External","name":"backup","status":{"healthState":"Degraded","value":80.0,"reportedAt":"2026-10-13T12:26:15.1128515+00:00"}},{"signalKind":"External","name":"canary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:15.8074694+00:00"}}]}},"healthState":"Degraded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1303' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: B03D168C9CE54A29854E834DF4CEACED Ref B: GVA201070811042 Ref C: 2026-10-13T12:26:16Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Web frontend", "impact": "Standard", "signalAggregationGroups": [{"aggregationType": + "BestOf", "members": ["primary", "backup"], "name": "redundancy"}], "signalGroups": + {}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '247' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:16.5303467Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:16.5303467Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{},"signalAggregationGroups":[{"name":"redundancy","aggregationType":"BestOf","members":["primary","backup"],"ignoreUnknown":true}]}}' + headers: + cache-control: + - no-cache + content-length: + - '765' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2998' + x-ms-ratelimit-remaining-subscription-writes: + - '198' + x-msedge-ref: + - 'Ref A: 6FE721D3C18E43FE8DBE8CD4773AC2EB Ref B: GVA201070811029 Ref C: 2026-10-13T12:26:16Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:16.7036277Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{"external":{"signals":[{"signalKind":"External","name":"availability","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:13.7300119+00:00","additionalContext":"Synthetic + availability check"}},{"signalKind":"External","name":"primary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:14.3961889+00:00"}},{"signalKind":"External","name":"backup","status":{"healthState":"Degraded","value":80.0,"reportedAt":"2026-10-13T12:26:15.1128515+00:00"}},{"signalKind":"External","name":"canary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:15.8074694+00:00"}}]}},"signalAggregationGroups":[{"name":"redundancy","aggregationType":"BestOf","members":["primary","backup"],"ignoreUnknown":true,"aggregatedHealthState":"Healthy","unresolvedMembers":[]}],"healthState":"Healthy"}}' + headers: + cache-control: + - no-cache + content-length: + - '1488' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 887D90244BDB4B99A8C24A0BCC7AEC6C Ref B: GVA201070811025 Ref C: 2026-10-13T12:26:17Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Web frontend", "impact": "Standard", "signalAggregationGroups": [{"aggregationType": + "MinHealthy", "degradedThreshold": 2.0, "ignoreUnknown": false, "members": ["primary", + "backup", "canary"], "name": "quorum", "unhealthyThreshold": 1.0, "unit": "Absolute"}], + "signalGroups": {}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '354' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:17.6116943Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:17.6116943Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{},"signalAggregationGroups":[{"name":"quorum","aggregationType":"MinHealthy","members":["primary","backup","canary"],"degradedThreshold":2.0,"unhealthyThreshold":1.0,"unit":"Absolute","ignoreUnknown":false}]}}' + headers: + cache-control: + - no-cache + content-length: + - '842' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: D09C43B971044501B870A80B6A962DB7 Ref B: GVA201070812060 Ref C: 2026-10-13T12:26:17Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:17.8047147Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{"external":{"signals":[{"signalKind":"External","name":"availability","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:13.7300119+00:00","additionalContext":"Synthetic + availability check"}},{"signalKind":"External","name":"primary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:14.3961889+00:00"}},{"signalKind":"External","name":"backup","status":{"healthState":"Degraded","value":80.0,"reportedAt":"2026-10-13T12:26:15.1128515+00:00"}},{"signalKind":"External","name":"canary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:15.8074694+00:00"}}]}},"signalAggregationGroups":[{"name":"quorum","aggregationType":"MinHealthy","members":["primary","backup","canary"],"degradedThreshold":2.0,"unhealthyThreshold":1.0,"unit":"Absolute","ignoreUnknown":false,"aggregatedHealthState":"Degraded","unresolvedMembers":[]}],"healthState":"Degraded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1567' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 964FA6B039D240948161A25724EB7D8D Ref B: FRA261110504054 Ref C: 2026-10-13T12:26:18Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Web frontend", "impact": "Standard", "signalAggregationGroups": [{"aggregationType": + "MaxNotHealthy", "degradedThreshold": 30.0, "ignoreUnknown": false, "members": + ["primary", "backup", "canary"], "name": "failure-budget", "unhealthyThreshold": + 60.0, "unit": "Percentage"}], "signalGroups": {}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '369' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --signal-aggregation-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:18.9195172Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:18.9195172Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{},"signalAggregationGroups":[{"name":"failure-budget","aggregationType":"MaxNotHealthy","members":["primary","backup","canary"],"degradedThreshold":30.0,"unhealthyThreshold":60.0,"unit":"Percentage","ignoreUnknown":false}]}}' + headers: + cache-control: + - no-cache + content-length: + - '857' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 143C01955BB24F46B69992B2C0BE88FB Ref B: GVA201070811042 Ref C: 2026-10-13T12:26:18Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/entities/client000003","name":"client000003","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:48.3491983Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:19.1475428Z"},"properties":{"provisioningState":"Succeeded","displayName":"Web + frontend","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{"external":{"signals":[{"signalKind":"External","name":"availability","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:13.7300119+00:00","additionalContext":"Synthetic + availability check"}},{"signalKind":"External","name":"primary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:14.3961889+00:00"}},{"signalKind":"External","name":"backup","status":{"healthState":"Degraded","value":80.0,"reportedAt":"2026-10-13T12:26:15.1128515+00:00"}},{"signalKind":"External","name":"canary","status":{"healthState":"Healthy","value":100.0,"reportedAt":"2026-10-13T12:26:15.8074694+00:00"}}]}},"signalAggregationGroups":[{"name":"failure-budget","aggregationType":"MaxNotHealthy","members":["primary","backup","canary"],"degradedThreshold":30.0,"unhealthyThreshold":60.0,"unit":"Percentage","ignoreUnknown":false,"aggregatedHealthState":"Degraded","unresolvedMembers":[]}],"healthState":"Degraded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1582' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 3B3AA7BE103C4DC9AAF04668527F6B55 Ref B: GVA201070812034 Ref C: 2026-10-13T12:26:19Z' + status: + code: 200 + message: OK +- request: + body: '{"top": 10}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity get-history + Connection: keep-alive + Content-Length: '11' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --top + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/getHistory?api-version=2026-11-01 + response: + body: + string: '{"entityName":"client000003","history":[{"previousState":"Healthy","newState":"Degraded","occurredAt":"2026-10-13T12:26:17.8289573+00:00","reason":"SignalAggregationConfigChanged"},{"previousState":"Degraded","newState":"Healthy","occurredAt":"2026-10-13T12:26:16.7272561+00:00","reason":"SignalAggregationConfigChanged"},{"previousState":"Healthy","newState":"Degraded","occurredAt":"2026-10-13T12:26:15.3595933+00:00","reason":"SignalTransition"},{"previousState":"Unknown","newState":"Healthy","occurredAt":"2026-10-13T12:26:13.9836526+00:00","reason":"SignalTransition"}]}' + headers: + cache-control: + - no-cache + content-length: + - '576' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3748' + x-msedge-ref: + - 'Ref A: 9967B23A0C7141E8AB4AAB04C53E1308 Ref B: GVA201070812023 Ref C: 2026-10-13T12:26:20Z' + status: + code: 200 + message: OK +- request: + body: '{"signalName": "availability", "top": 10}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity get-signal-history + Connection: keep-alive + Content-Length: '41' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name --signal-name --top + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/getSignalHistory?api-version=2026-11-01 + response: + body: + string: '{"entityName":"client000003","signalName":"availability","history":[{"occurredAt":"2026-10-13T12:26:13.7300119+00:00","value":100.0,"healthState":"Healthy","additionalContext":"Synthetic + availability check"}]}' + headers: + cache-control: + - no-cache + content-length: + - '209' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: B6FFE05B7C4546AE9E3EE740E52ED9BA Ref B: FRA231050416047 Ref C: 2026-10-13T12:26:20Z' + status: + code: 200 + message: OK +- request: + body: '{"top": 100}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity get-data-annotations + Connection: keep-alive + Content-Length: '12' + Content-Type: application/json + ParameterSetName: -g --health-model-name --entity-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003/getDataAnnotations?api-version=2026-11-01 + response: + body: + string: '{"entityName":"client000003","annotations":[{"annotationId":"008fdb17-4d0b-4d70-bda5-5ea85fe6dcf2","createdAt":"2026-10-13T12:26:13.0068939+00:00","annotationDetails":{"environment":"demo","deploymentId":"release-001"},"description":"Frontend + deployment"}]}' + headers: + cache-control: + - no-cache + content-length: + - '257' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 10DD32DB6A4E4905BF22D2A79F3CAA1A Ref B: GVA201070812036 Ref C: 2026-10-13T12:26:21Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000006","name":"clirel000006","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:49.417639Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:53.1416733Z"},"properties":{"provisioningState":"Succeeded","displayName":"Frontend + dependency","parentEntityName":"clihm000002","childEntityName":"client000003"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000007","name":"clirel000007","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:25:56.0932093Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:25:58.0726272Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000004"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000010","name":"clirel000010","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:08.1859905Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:08.3697402Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"client000003","childEntityName":"cliapi000009"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_crud000001/providers/microsoft.cloudhealth/healthmodels/clihm000002/relationships/clirel000008","name":"clirel000008","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:26:00.3376987Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:26:03.5059376Z"},"properties":{"provisioningState":"Succeeded","displayName":"Connected + top-level entity","parentEntityName":"clihm000002","childEntityName":"client000005"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2569' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 4DF5280ACA6949AA93CB7E4AD32644D9 Ref B: GVA201070811040 Ref C: 2026-10-13T12:26:22Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000006?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: CCA7D6F9C6294090B54E6733241B2CCA Ref B: MIL221110510052 Ref C: 2026-10-13T12:26:22Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000007?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 382E68B39C03426C91AA5A0A5C927978 Ref B: GVA201070812062 Ref C: 2026-10-13T12:26:23Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000010?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:26 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: A5AA7178C6DE4D3390F0D58C92E1FCF5 Ref B: FRA261110502031 Ref C: 2026-10-13T12:26:24Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 8C9371A949E747609F6C26EA68B6C66C Ref B: FRA231050415009 Ref C: 2026-10-13T12:26:27Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000003?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 793380E51D414ADCA81E425A6A294C05 Ref B: FRA231050413027 Ref C: 2026-10-13T12:26:28Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000004?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 6BC945EB923348B292A7A45F4A536911 Ref B: GVA201070811023 Ref C: 2026-10-13T12:26:29Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/client000005?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 00180C47229D43A88401607A82954A1A Ref B: MIL221110509052 Ref C: 2026-10-13T12:26:30Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002/entities/cliapi000009?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:26:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 4B98EFFE9A2F44D1B71F5D1580CB32F7 Ref B: GVA201070811025 Ref C: 2026-10-13T12:26:31Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 + response: + body: + string: 'null' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:33 GMT + etag: + - '"ad088ce9-0000-0300-0000-6ace23790000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-ms-resource-provider-hint: + - noPolling + x-msedge-ref: + - 'Ref A: 530E77D3980E4BABB3B9D7A1F964496B Ref B: GVA201070812036 Ref C: 2026-10-13T12:26:32Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","name":"9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Deleting","startTime":"2026-10-13T12:26:33.2482771Z"}' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/centralus/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + cache-control: + - no-cache + content-length: + - '577' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:26:34 GMT + etag: + - '"02008d23-0000-0300-0000-6ace23790000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/centralus/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-ms-resource-provider-hint: + - noPolling + x-msedge-ref: + - 'Ref A: CCAEFF2C4B244BBEB2650C48BA0AD646 Ref B: GVA201070812054 Ref C: 2026-10-13T12:26:33Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","name":"9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-10-13T12:26:33.2482771Z","endTime":"2026-10-13T12:26:34.4345243Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '637' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:04 GMT + etag: + - '"0200b723-0000-0300-0000-6ace237a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 87C7A9674555468EBED9E2B52B79251D Ref B: FRA231050411037 Ref C: 2026-10-13T12:27:04Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/CENTRALUS/operationStatuses/9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","name":"9d4fb812-656d-4017-a52f-57856cb55556*5891F61A21FFD9C30907A2D47BA1B5E5052249D9D93149069124846539722C9A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002","status":"Succeeded","startTime":"2026-10-13T12:26:33.2482771Z","endTime":"2026-10-13T12:26:34.4345243Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '637' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:05 GMT + etag: + - '"0200b723-0000-0300-0000-6ace237a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: D255AD3024AE4A508FEDC4822AF9D8B1 Ref B: GVA201070811054 Ref C: 2026-10-13T12:27:05Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models show + Connection: keep-alive + ParameterSetName: -g -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_crud000001/providers/Microsoft.CloudHealth/healthmodels/clihm000002?api-version=2026-11-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.CloudHealth/healthmodels/clihm000002'' + under resource group ''cli_test_healthmodel_crud000001'' was not found. For + more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + x-msedge-ref: + - 'Ref A: 4795DAC043E4427D8DA8CBC35F50ABBD Ref B: GVA201070811025 Ref C: 2026-10-13T12:27:06Z' + status: + code: 404 + message: Not Found version: 1 diff --git a/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_list_recorded.yaml b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_list_recorded.yaml index 4a4ecfb63bf..d1098b0924b 100644 --- a/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_list_recorded.yaml +++ b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_list_recorded.yaml @@ -2,38 +2,25 @@ interactions: - request: body: null headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - monitor health-models list - Connection: - - keep-alive - User-Agent: - - AZURECLI/2.85.0 azsdk-python-core/1.39.0 Python/3.14.6 (macOS-15.7.7-arm64-arm-64bit-Mach-O) + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models list + Connection: keep-alive + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/healthmodels?api-version=2026-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/healthmodels?api-version=2026-11-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-007/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-009","name":"cli-test-hm-009","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-29T12:23:21.1666232Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-29T12:23:21.1666232Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned"},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-008/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-004","name":"cli-test-hm-004","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-04T06:29:32.6992562Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-04T06:29:32.6992562Z"},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-008/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-003":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-008/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-008","name":"cli-test-hm-008","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-04T06:30:08.3685028Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-04T06:30:08.3685028Z"},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-008/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-003":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-008/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-003","name":"cli-test-hm-003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-04T06:30:41.8785625Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-04T06:30:41.8785625Z"},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-008/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-003":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-008/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-005","name":"cli-test-hm-005","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-06-04T06:31:16.5793907Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-06-04T06:31:16.5793907Z"},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-008/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-003":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-009/providers/Microsoft.CloudHealth/healthModels/cli-test-hm-007","name":"cli-test-hm-007","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-16T20:16:38.5927375Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-16T20:33:57.0658123Z"},"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-009/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-004":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-004/providers/Microsoft.CloudHealth/healthModels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-24T06:04:54.7985544Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-24T20:35:40.6134877Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-004/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-005/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-25T05:58:12.1747047Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-25T06:03:46.9038358Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-005/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-006/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-25T05:58:30.5040701Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-26T09:35:58.3570597Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-006/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-003/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-25T05:58:38.9357849Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-26T12:46:09.1881113Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-003/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-002/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-25T05:59:36.3793977Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-25T05:59:36.3793977Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-002/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-001/providers/Microsoft.CloudHealth/healthmodels/cli-test-hm-006","name":"cli-test-hm-006","type":"microsoft.cloudhealth/healthmodels","location":"centralus","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-25T06:04:11.5522441Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-25T06:04:11.5522441Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-001/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-002":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-009/providers/Microsoft.CloudHealth/healthModels/cli-test-hm-001","name":"cli-test-hm-001","type":"microsoft.cloudhealth/healthmodels","location":"swedencentral","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-05-19T13:59:11.1756793Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-19T13:59:11.1756793Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-009/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-005":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-test-rg-010/providers/Microsoft.CloudHealth/healthModels/cli-test-hm-002","name":"cli-test-hm-002","type":"microsoft.cloudhealth/healthmodels","location":"swedencentral","tags":{},"systemData":{"lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-05-20T14:40:26.7336092Z"},"identity":{"principalId":"00000000-0000-0000-0000-000000000001","tenantId":"00000000-0000-0000-0000-000000000001","type":"SystemAssigned, - UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli-test-rg-010/providers/microsoft.managedidentity/userassignedidentities/cli-test-mi-001":{"principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001"}}},"properties":{"provisioningState":"Succeeded"}}]}' + string: '{"value":[]}' headers: cache-control: - no-cache content-length: - - '12619' + - '12' content-type: - application/json; charset=utf-8 date: - - Mon, 15 Jun 2026 20:04:07 GMT + - Tue, 13 Oct 2026 12:27:09 GMT expires: - '-1' pragma: @@ -44,12 +31,10 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-original-request-ids: - - REDACTED x-ms-ratelimit-remaining-subscription-global-reads: - '3749' x-msedge-ref: - - REDACTED + - 'Ref A: 6CD10AA4BCAC468D91D368E18E9315E4 Ref B: GVA201070812052 Ref C: 2026-10-13T12:27:08Z' status: code: 200 message: OK diff --git a/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_signal_auth_discovery.yaml b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_signal_auth_discovery.yaml new file mode 100644 index 00000000000..5ba24dfd8ac --- /dev/null +++ b/src/health-models/azext_health_models/tests/latest/recordings/test_healthmodel_signal_auth_discovery.yaml @@ -0,0 +1,2984 @@ +interactions: +- request: + body: '{"location": "uksouth"}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: identity create + Connection: keep-alive + Content-Length: '23' + Content-Type: application/json + ParameterSetName: -g -n -l + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/climi000004?api-version=2025-05-31-preview + response: + body: + string: '{"location":"uksouth","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/climi000004","name":"climi000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"isolationScope":"None","assignmentRestrictions":{"providers":[]},"tenantId":"11111111-1111-1111-1111-000000000002","principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}' + headers: + cache-control: + - no-cache + content-length: + - '525' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:43 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/climi000004 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: E56FDE7124374EA0B656AF59C135DBAB Ref B: FRA261071505060 Ref C: 2026-10-13T12:27:39Z' + status: + code: 201 + message: Created +- request: + body: '{"identity": {"userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/climi000004": + {}}, "type": "SystemAssigned,UserAssigned"}, "location": "uksouth", "tags": + {"scenario": "examples"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + Content-Length: '318' + Content-Type: application/json + ParameterSetName: -g -n -l --mi-system-assigned --mi-user-assigned --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:27:47.3411478Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Accepted"}}' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + cache-control: + - no-cache + content-length: + - '1015' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:50 GMT + etag: + - '"7b00033a-0000-1000-0000-6ace23c70000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - P6D + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-ms-resource-provider-hint: + - noPolling + x-msedge-ref: + - 'Ref A: 331995A6610E43819193A7221727850E Ref B: GVA201070811023 Ref C: 2026-10-13T12:27:44Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + ParameterSetName: -g -n -l --mi-system-assigned --mi-user-assigned --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","name":"df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","status":"Accepted","startTime":"2026-10-13T12:27:49.1918637Z"}' + headers: + cache-control: + - no-cache + content-length: + - '578' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:27:51 GMT + etag: + - '"8e001f17-0000-1000-0000-6ace23c50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 9691BA4507594B449A91252AC8F90D99 Ref B: MIL221110510042 Ref C: 2026-10-13T12:27:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + ParameterSetName: -g -n -l --mi-system-assigned --mi-user-assigned --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","name":"df622443-a635-4106-873f-3c695ab7de6d*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","status":"Succeeded","startTime":"2026-10-13T12:27:49.1918637Z","endTime":"2026-10-13T12:27:52.0905979Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:21 GMT + etag: + - '"8e00ca17-0000-1000-0000-6ace23c80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 68190B2FAC254FB39C5EA439A72CEA0A Ref B: GVA201070811054 Ref C: 2026-10-13T12:28:22Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models create + Connection: keep-alive + ParameterSetName: -g -n -l --mi-system-assigned --mi-user-assigned --tags + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:27:47.3411478Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:22 GMT + etag: + - '"3d000e2e-0000-1100-0000-6ace23c80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 9E9F2A873269413799286E6BAC039AF4 Ref B: GVA201070811023 Ref C: 2026-10-13T12:28:22Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: group show + Connection: keep-alive + ParameterSetName: -g + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001","name":"cli_test_healthmodel_signals000001","type":"Microsoft.Resources/resourceGroups","location":"uksouth","tags":{"product":"azurecli","cause":"automation","test":"test_healthmodel_signal_auth_discovery","date":"2026-10-13T12:27:10Z","module":"health-models"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 89C50144C3BC4568A8AEC19F3F47AAF1 Ref B: GVA201070812042 Ref C: 2026-10-13T12:28:24Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: role assignment create + Connection: keep-alive + ParameterSetName: --assignee-object-id --assignee-principal-type --role --scope + --name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Authorization/roleDefinitions?api-version=2022-05-01-preview&$filter=roleName%20eq%20%27Reader%27 + response: + body: + string: '{"value":[{"properties":{"roleName":"Reader","type":"BuiltInRole","description":"View + all resources, but does not allow you to make any changes.","assignableScopes":["/"],"permissions":[{"actions":["*/read"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:47.8628684Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","type":"Microsoft.Authorization/roleDefinitions","name":"acdd72a7-3385-48ef-bd42-f606fba81ae7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '627' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 1B999497FA514B34A845FDDBAE972324 Ref B: GVA201070812036 Ref C: 2026-10-13T12:28:24Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalId": "11111111-1111-1111-1111-000000000004", "principalType": "ServicePrincipal"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: role assignment create + Connection: keep-alive + Content-Length: '270' + Content-Type: application/json + ParameterSetName: --assignee-object-id --assignee-principal-type --role --scope + --name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2022-04-01 + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"11111111-1111-1111-1111-000000000004","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001","condition":null,"conditionVersion":null,"createdOn":"2026-10-13T12:28:25.9292526Z","updatedOn":"2026-10-13T12:28:26.7175746Z","createdBy":null,"updatedBy":"4231cd32-6315-4ab2-8e25-d942259ade14","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + headers: + cache-control: + - no-cache + content-length: + - '923' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: A396F7FBEFFE4957B7201F4DE9954754 Ref B: MIL221091016025 Ref C: 2026-10-13T12:28:25Z' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity show + Connection: keep-alive + ParameterSetName: -g -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:27:47.3411478Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:28 GMT + etag: + - '"3d000e2e-0000-1100-0000-6ace23c80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: BC35990CAB5F492582A041EDF1757D71 Ref B: FRA261110502062 Ref C: 2026-10-13T12:28:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity assign + Connection: keep-alive + ParameterSetName: -g -n --system-assigned --user-assigned + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:27:47.3411478Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:29 GMT + etag: + - '"3d000e2e-0000-1100-0000-6ace23c80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: BF6D33B169CE4D7A8DE9D7B1C9ACE0A7 Ref B: GVA201070812042 Ref C: 2026-10-13T12:28:29Z' + status: + code: 200 + message: OK +- request: + body: '{"identity": {"userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004": + {}}, "type": "SystemAssigned,UserAssigned"}, "location": "uksouth", "properties": + {}, "tags": {"scenario": "examples"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity assign + Connection: keep-alive + Content-Length: '336' + Content-Type: application/json + ParameterSetName: -g -n --system-assigned --user-assigned + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:30.5154827Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:30 GMT + etag: + - '"7b008d4c-0000-1000-0000-6ace23ef0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 4637950EB0A74A21A9569BBB40446999 Ref B: MIL221110511060 Ref C: 2026-10-13T12:28:30Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity wait + Connection: keep-alive + ParameterSetName: -g -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:30.5154827Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:31 GMT + etag: + - '"7b008d4c-0000-1000-0000-6ace23ef0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 4BB3FB779DB94ADFA5D057D9258CE182 Ref B: GVA201070811025 Ref C: 2026-10-13T12:28:31Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"authenticationKind": "ManagedIdentity", "displayName": + "Model identity", "managedIdentityName": "SystemAssigned"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting create + Connection: keep-alive + Content-Length: '131' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --managed-identity + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"microsoft.cloudhealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:32.2455871Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:32.2455871Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Model + identity"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 1212F0AF144347498DC252181FBCCA1C Ref B: GVA201070812060 Ref C: 2026-10-13T12:28:32Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"Microsoft.CloudHealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:32.2455871Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:32.8250597Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Model + identity"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: F0C03C7E73774730ABBFAEAD9DE00506 Ref B: GVA201070811054 Ref C: 2026-10-13T12:28:33Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"Microsoft.CloudHealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:32.2455871Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:32.8250597Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Model + identity"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: EBF9D6D464D34028A403744840301D25 Ref B: GVA201070811042 Ref C: 2026-10-13T12:28:33Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"Microsoft.CloudHealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:32.2455871Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:32.8250597Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Model + identity"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: F1B01F4C02894103AD83A25DE353CB85 Ref B: FRA261110508062 Ref C: 2026-10-13T12:28:34Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"authenticationKind": "ManagedIdentity", "displayName": + "Telemetry identity", "managedIdentityName": "SystemAssigned"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting update + Connection: keep-alive + Content-Length: '135' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"microsoft.cloudhealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:36.2648353Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:36.2648353Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Telemetry + identity"}}' + headers: + cache-control: + - no-cache + content-length: + - '678' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 71144E000A164F2FADE55C1ABB90CAD1 Ref B: FRA231050413033 Ref C: 2026-10-13T12:28:35Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/authenticationsettings/cliauth000006","name":"cliauth000006","type":"Microsoft.CloudHealth/healthmodels/authenticationsettings","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:32.2455871Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:36.491701Z"},"properties":{"authenticationKind":"ManagedIdentity","managedIdentityName":"SystemAssigned","provisioningState":"Succeeded","displayName":"Telemetry + identity"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '689' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 9BC3593C539645BBB48BCD52BE7896B4 Ref B: MIL221110119042 Ref C: 2026-10-13T12:28:37Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Percent", "displayName": "Storage availability", + "evaluationRules": {"degradedRule": {"operator": "LessThan", "threshold": 99.9}, + "unhealthyRule": {"operator": "LessThan", "threshold": 99.0}}, "refreshInterval": + "PT1M", "signalKind": "AzureResourceMetric", "aggregationType": "Average", "metricName": + "Availability", "metricNamespace": "Microsoft.Storage/storageAccounts", "timeGrain": + "PT1H"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition create + Connection: keep-alive + Content-Length: '423' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --azure-resource-metric --display-name + --refresh-interval --data-unit --evaluation-rules + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:37.7712633Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Storage + availability","refreshInterval":"PT1M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '949' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: A79E8EC463774FEA86F9AE4961DD1B68 Ref B: GVA201070811025 Ref C: 2026-10-13T12:28:37Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:38.1697825Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Storage + availability","refreshInterval":"PT1M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '949' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: B4AA39E5AE0C4E32BB7EAEFD62BA44B4 Ref B: GVA201070812029 Ref C: 2026-10-13T12:28:38Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:38.1697825Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Storage + availability","refreshInterval":"PT1M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '949' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 98AC570090F54DCC95FF9A42AA7C0827 Ref B: GVA201070811036 Ref C: 2026-10-13T12:28:39Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:38.1697825Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Storage + availability","refreshInterval":"PT1M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '949' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 149C50D46DFE4B8F8FD7E2E47295069D Ref B: GVA201070811025 Ref C: 2026-10-13T12:28:40Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Percent", "displayName": "Updated reusable + signal", "evaluationRules": {"degradedRule": {"operator": "LessThan", "threshold": + 99.9}, "unhealthyRule": {"operator": "LessThan", "threshold": 99.0}}, "refreshInterval": + "PT5M", "signalKind": "AzureResourceMetric", "aggregationType": "Average", "metricName": + "Availability", "metricNamespace": "Microsoft.Storage/storageAccounts", "timeGrain": + "PT1H"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + Content-Length: '426' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:41.0142798Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:41.0142798Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '952' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 8FBAE7E6677D4296B8ECE64B1D8DBE54 Ref B: GVA201070812060 Ref C: 2026-10-13T12:28:40Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Count", "displayName": "Reusable signal", + "evaluationRules": {"degradedRule": {"operator": "GreaterThan", "threshold": + 1.0}, "unhealthyRule": {"operator": "GreaterThan", "threshold": 5.0}}, "refreshInterval": + "PT1M", "signalKind": "LogAnalyticsQuery", "queryText": "AppRequests | summarize + failures=countif(Success == false)", "timeGrain": "PT5M", "valueColumnName": + "failures"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition create + Connection: keep-alive + Content-Length: '408' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --log-analytics-query --display-name + --refresh-interval --data-unit --evaluation-rules + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures","name":"request-failures","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:41.8959787Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:41.8959787Z"},"properties":{"signalKind":"LogAnalyticsQuery","queryText":"AppRequests + | summarize failures=countif(Success == false)","timeGrain":"PT5M","valueColumnName":"failures","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":1.0},"unhealthyRule":{"operator":"GreaterThan","threshold":5.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '928' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: A31E9AB69B954F6D8C77CA9D07F855D8 Ref B: FRA261110507040 Ref C: 2026-10-13T12:28:41Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/request-failures","name":"request-failures","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:41.8959787Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:42.2494347Z"},"properties":{"signalKind":"LogAnalyticsQuery","queryText":"AppRequests + | summarize failures=countif(Success == false)","timeGrain":"PT5M","valueColumnName":"failures","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":1.0},"unhealthyRule":{"operator":"GreaterThan","threshold":5.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '928' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 7AA6877635A444F0ACCCE463BBAE3E14 Ref B: GVA201070811034 Ref C: 2026-10-13T12:28:42Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/request-failures","name":"request-failures","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:41.8959787Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:42.2494347Z"},"properties":{"signalKind":"LogAnalyticsQuery","queryText":"AppRequests + | summarize failures=countif(Success == false)","timeGrain":"PT5M","valueColumnName":"failures","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":1.0},"unhealthyRule":{"operator":"GreaterThan","threshold":5.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '928' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 483F509747324DE5B30D0391E866D54C Ref B: GVA201070812060 Ref C: 2026-10-13T12:28:43Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Count", "displayName": "Updated reusable signal", + "evaluationRules": {"degradedRule": {"operator": "GreaterThan", "threshold": + 1.0}, "unhealthyRule": {"operator": "GreaterThan", "threshold": 5.0}}, "refreshInterval": + "PT5M", "signalKind": "LogAnalyticsQuery", "queryText": "AppRequests | summarize + failures=countif(Success == false)", "timeGrain": "PT5M", "valueColumnName": + "failures"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + Content-Length: '416' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures","name":"request-failures","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:44.3408215Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:44.3408215Z"},"properties":{"signalKind":"LogAnalyticsQuery","queryText":"AppRequests + | summarize failures=countif(Success == false)","timeGrain":"PT5M","valueColumnName":"failures","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Count","evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":1.0},"unhealthyRule":{"operator":"GreaterThan","threshold":5.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '936' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: B1EBE187DD4C41DF8E4EF61840A0B845 Ref B: GVA201070812025 Ref C: 2026-10-13T12:28:44Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Count", "displayName": "Reusable signal", + "evaluationRules": {"unhealthyRule": {"operator": "LessThan", "threshold": 1.0}}, + "refreshInterval": "PT1M", "signalKind": "PrometheusMetricsQuery", "queryText": + "up", "timeGrain": "PT1M"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition create + Connection: keep-alive + Content-Length: '260' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --prometheus-metrics-query --display-name + --refresh-interval --data-unit --evaluation-rules + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability","name":"scrape-availability","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:45.8466755Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:45.8466755Z"},"properties":{"signalKind":"PrometheusMetricsQuery","queryText":"up","timeGrain":"PT1M","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"unhealthyRule":{"operator":"LessThan","threshold":1.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 710B11ACFB1B4BEAAD1505FD4C351D2C Ref B: FRA261110504025 Ref C: 2026-10-13T12:28:45Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/scrape-availability","name":"scrape-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:45.8466755Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:46.0308941Z"},"properties":{"signalKind":"PrometheusMetricsQuery","queryText":"up","timeGrain":"PT1M","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"unhealthyRule":{"operator":"LessThan","threshold":1.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: EFB2F39E8370477689947CFBAB18EB2C Ref B: GVA201070812031 Ref C: 2026-10-13T12:28:46Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/scrape-availability","name":"scrape-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:45.8466755Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:46.0308941Z"},"properties":{"signalKind":"PrometheusMetricsQuery","queryText":"up","timeGrain":"PT1M","provisioningState":"Succeeded","displayName":"Reusable + signal","refreshInterval":"PT1M","dataUnit":"Count","evaluationRules":{"unhealthyRule":{"operator":"LessThan","threshold":1.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 114C58C7CAC54B56B66FD5962A2C870E Ref B: GVA201070812042 Ref C: 2026-10-13T12:28:47Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Count", "displayName": "Updated reusable signal", + "evaluationRules": {"unhealthyRule": {"operator": "LessThan", "threshold": 1.0}}, + "refreshInterval": "PT5M", "signalKind": "PrometheusMetricsQuery", "queryText": + "up", "timeGrain": "PT1M"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + Content-Length: '268' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --refresh-interval + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability","name":"scrape-availability","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:48.8103249Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:48.8103249Z"},"properties":{"signalKind":"PrometheusMetricsQuery","queryText":"up","timeGrain":"PT1M","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Count","evaluationRules":{"unhealthyRule":{"operator":"LessThan","threshold":1.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '801' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 0284A84025BA4AF382F8DA5FEA6239F0 Ref B: FRA261110501040 Ref C: 2026-10-13T12:28:48Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --evaluation-rules + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:41.373998Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.9},"unhealthyRule":{"operator":"LessThan","threshold":99.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 37442530168746A8B1542EE149A5F1BE Ref B: MIL221110118031 Ref C: 2026-10-13T12:28:49Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"dataUnit": "Percent", "displayName": "Updated reusable + signal", "evaluationRules": {"degradedRule": {"operator": "LessThan", "threshold": + 99.8}, "unhealthyRule": {"operator": "LessThan", "threshold": 98.0}}, "refreshInterval": + "PT5M", "signalKind": "AzureResourceMetric", "aggregationType": "Average", "metricName": + "Availability", "metricNamespace": "Microsoft.Storage/storageAccounts", "timeGrain": + "PT1H"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition update + Connection: keep-alive + Content-Length: '426' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --evaluation-rules + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"microsoft.cloudhealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:50.946655Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:50.946655Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.8},"unhealthyRule":{"operator":"LessThan","threshold":98.0}}}}' + headers: + cache-control: + - no-cache + content-length: + - '950' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 650FAC5E019F484E8C494382BCAD905B Ref B: GVA201070811036 Ref C: 2026-10-13T12:28:50Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/request-failures","name":"request-failures","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:41.8959787Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:44.5708408Z"},"properties":{"signalKind":"LogAnalyticsQuery","queryText":"AppRequests + | summarize failures=countif(Success == false)","timeGrain":"PT5M","valueColumnName":"failures","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Count","evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":1.0},"unhealthyRule":{"operator":"GreaterThan","threshold":5.0}}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/scrape-availability","name":"scrape-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:45.8466755Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:49.457706Z"},"properties":{"signalKind":"PrometheusMetricsQuery","queryText":"up","timeGrain":"PT1M","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Count","evaluationRules":{"unhealthyRule":{"operator":"LessThan","threshold":1.0}}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/signaldefinitions/storage-availability","name":"storage-availability","type":"Microsoft.CloudHealth/healthmodels/signaldefinitions","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:37.7712633Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:51.6350827Z"},"properties":{"signalKind":"AzureResourceMetric","metricNamespace":"Microsoft.Storage/storageAccounts","metricName":"Availability","timeGrain":"PT1H","aggregationType":"Average","provisioningState":"Succeeded","displayName":"Updated + reusable signal","refreshInterval":"PT5M","dataUnit":"Percent","evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":99.8},"unhealthyRule":{"operator":"LessThan","threshold":98.0}}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2702' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 0A7E9D92326A41AA80B34D5A023AD606 Ref B: MIL221091016029 Ref C: 2026-10-13T12:28:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: storage account show + Connection: keep-alive + ParameterSetName: -g -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Storage/storageAccounts/clihm000002?api-version=2025-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Storage/storageAccounts/clihm000002","name":"clihm000002","type":"Microsoft.Storage/storageAccounts","location":"uksouth","tags":{},"properties":{"allowCrossTenantDelegationSas":false,"publicNetworkAccess":"Disabled","keyCreationTime":{"key1":"2026-10-13T12:27:17.4448674Z","key2":"2026-10-13T12:27:17.4448674Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"allowSharedKeyAccess":false,"networkAcls":{"ipv6Rules":[],"bypass":"None","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2026-10-13T12:27:17.4596499Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2026-10-13T12:27:17.4596499Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2026-10-13T12:27:17.2285158Z","primaryEndpoints":{"dfs":"https://clihm000002.dfs.core.windows.net/","web":"https://clihm000002.z33.web.core.windows.net/","blob":"https://clihm000002.blob.core.windows.net/","queue":"https://clihm000002.queue.core.windows.net/","table":"https://clihm000002.table.core.windows.net/","file":"https://clihm000002.file.core.windows.net/"},"primaryLocation":"uksouth","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1545' + content-type: + - application/json + date: + - Tue, 13 Oct 2026 12:28:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 362CBBD1AFA740D2B37D3E255538069B Ref B: GVA201070811036 Ref C: 2026-10-13T12:28:52Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Storage account", "impact": "Standard"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity create + Connection: keep-alive + Content-Length: '114' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --canvas-position + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005","name":"client000005","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:53.1295953Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:53.1295953Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + account","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: AD447DDB87544EA38345C851BDCFEDFD Ref B: MIL221110511042 Ref C: 2026-10-13T12:28:52Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --signal-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/entities/client000005","name":"client000005","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:53.1295953Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:53.4040442Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + account","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '648' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 48EEDE28D46A4874BCAFEE60C94B9DC4 Ref B: GVA201070811042 Ref C: 2026-10-13T12:28:54Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"canvasPosition": {"x": 0.0, "y": 200.0}, "displayName": + "Storage account", "impact": "Standard", "signalGroups": {"azureResource": {"authenticationSetting": + "cliauth000006", "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Storage/storageAccounts/clihm000002", + "signals": [{"name": "availability", "signalDefinitionName": "storage-availability", + "signalKind": "AzureResourceMetric"}]}}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity update + Connection: keep-alive + Content-Length: '497' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --signal-groups + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005","name":"client000005","type":"microsoft.cloudhealth/healthmodels/entities","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:55.064018Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:55.064018Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + account","canvasPosition":{"x":0.0,"y":200.0},"impact":"Standard","signalGroups":{"azureResource":{"authenticationSetting":"cliauth000006","azureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.Storage/storageAccounts/clihm000002","signals":[{"signalKind":"AzureResourceMetric","name":"availability","signalDefinitionName":"storage-availability"}]}}}}' + headers: + cache-control: + - no-cache + content-length: + - '992' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: DAC9FAA186DA48D5A9E377A2B0483209 Ref B: GVA201070811060 Ref C: 2026-10-13T12:28:54Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "client000005", "parentEntityName": + "clihm000003"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '86' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000008","name":"clirel000008","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:55.8030101Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:55.8030101Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"clihm000003","childEntityName":"client000005"}}' + headers: + cache-control: + - no-cache + content-length: + - '611' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: A8EC3EE809AA44B0AB5A6ACBF65B88AE Ref B: GVA201070812031 Ref C: 2026-10-13T12:28:55Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity get-signal-recommendations + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name --entity-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005/getSignalRecommendations?api-version=2026-11-01 + response: + body: + string: '{"recommendedSignals":[{"signalId":"b2040e11-7b13-49c5-8693-dc6e86bc60b6","displayName":"Availability","applicableResourceTypes":["microsoft.storage/storageaccounts"],"dataUnit":"Percent","configuration":{"signalKind":"AzureResourceMetric","metricNamespace":"microsoft.storage/storageaccounts","metricName":"Availability","aggregationType":"Average","timeGrain":"PT5M"},"evaluationRules":{"degradedRule":{"operator":"LessThan","threshold":100.0},"unhealthyRule":{"operator":"LessThan","threshold":95.0}}},{"signalId":"8f7f5e6b-6c15-4d14-b886-dd2e3b302f16","displayName":"SuccessE2ELatency","applicableResourceTypes":["microsoft.storage/storageaccounts"],"dataUnit":"MilliSeconds","configuration":{"signalKind":"AzureResourceMetric","metricNamespace":"microsoft.storage/storageaccounts","metricName":"SuccessE2ELatency","aggregationType":"Average","timeGrain":"PT5M"},"evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":10.0},"unhealthyRule":{"operator":"GreaterThan","threshold":15.0}}},{"signalId":"61d053e0-63c6-44da-b109-dd511efe4407","displayName":"SuccessServerLatency","applicableResourceTypes":["microsoft.storage/storageaccounts"],"dataUnit":"MilliSeconds","configuration":{"signalKind":"AzureResourceMetric","metricNamespace":"microsoft.storage/storageaccounts","metricName":"SuccessServerLatency","aggregationType":"Average","timeGrain":"PT5M"},"evaluationRules":{"degradedRule":{"operator":"GreaterThan","threshold":10.0},"unhealthyRule":{"operator":"GreaterThan","threshold":15.0}}}],"recommendedConfigurations":[]}' + headers: + cache-control: + - no-cache + content-length: + - '1547' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 7A803228A2DE49D3A2868881B4EAC745 Ref B: MIL221110118040 Ref C: 2026-10-13T12:28:56Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"addRecommendedSignals": "Disabled", "addResourceHealthSignal": + "Disabled", "authenticationSetting": "cliauth000006", "discoverRelationships": + "Disabled", "displayName": "Storage discovery", "specification": {"kind": "ResourceGraphQuery", + "resourceGraphQuery": "resources | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' + | where resourceGroup == ''cli_test_healthmodel_signals000001'' | where type + =~ ''microsoft.storage/storageaccounts''"}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule create + Connection: keep-alive + Content-Length: '470' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name --authentication-setting + --specification --discover-relationships --add-recommended-signals --add-resource-health-signal + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"microsoft.cloudhealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:57.9870723Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1017' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 8D0E698C15B44168931C1D1294452BA3 Ref B: FRA231050415021 Ref C: 2026-10-13T12:28:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:58.2788904Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1017' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 7CE527B4934D41FF9C0DCAEBF21120B1 Ref B: MIL221110120042 Ref C: 2026-10-13T12:28:58Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:58.2788904Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"error":{"message":"Access + denied (HTTP 403) running the discovery rule''s Azure Resource Graph query. + Grant the managed identity Reader on the queried scope (or Service Group Reader + on a Service Group)."},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1222' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: F4EE7D3CF3374CB492AC370A0EAA4E0E Ref B: GVA201070811040 Ref C: 2026-10-13T12:28:58Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule update + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:58.2788904Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"error":{"message":"Access + denied (HTTP 403) running the discovery rule''s Azure Resource Graph query. + Grant the managed identity Reader on the queried scope (or Service Group Reader + on a Service Group)."},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1222' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 23CF9B8C9C3844919FC805C41C176E3D Ref B: GVA201070812062 Ref C: 2026-10-13T12:28:59Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"addRecommendedSignals": "Disabled", "addResourceHealthSignal": + "Disabled", "authenticationSetting": "cliauth000006", "discoverRelationships": + "Disabled", "displayName": "Scoped storage discovery", "specification": {"kind": + "ResourceGraphQuery", "resourceGraphQuery": "resources | where subscriptionId + == ''00000000-0000-0000-0000-000000000000'' | where resourceGroup == ''cli_test_healthmodel_signals000001'' + | where type =~ ''microsoft.storage/storageaccounts''"}}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule update + Connection: keep-alive + Content-Length: '477' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --display-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"microsoft.cloudhealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:59.8535647Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:59.8535647Z"},"properties":{"provisioningState":"Succeeded","displayName":"Scoped + storage discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1024' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:28:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: FA48D58509BE432DB241AD0997D39BE6 Ref B: MIL221110511031 Ref C: 2026-10-13T12:28:59Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule list + Connection: keep-alive + ParameterSetName: -g --health-model-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules?api-version=2026-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:00.0226619Z"},"properties":{"provisioningState":"Succeeded","displayName":"Scoped + storage discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"error":{"message":"Access + denied (HTTP 403) running the discovery rule''s Azure Resource Graph query. + Grant the managed identity Reader on the queried scope (or Service Group Reader + on a Service Group)."},"entityName":"clirule000007"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1241' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: ACE69A2008084BD8A61FBC2732C6D69E Ref B: FRA261110503029 Ref C: 2026-10-13T12:29:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/discoveryrules/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/discoveryrules","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:28:57.9870723Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:00.0226619Z"},"properties":{"provisioningState":"Succeeded","displayName":"Scoped + storage discovery","authenticationSetting":"cliauth000006","discoverRelationships":"Disabled","addRecommendedSignals":"Disabled","addResourceHealthSignal":"Disabled","specification":{"kind":"ResourceGraphQuery","resourceGraphQuery":"resources + | where subscriptionId == ''00000000-0000-0000-0000-000000000000'' | where + resourceGroup == ''cli_test_healthmodel_signals000001'' | where type =~ ''microsoft.storage/storageaccounts''"},"error":{"message":"Access + denied (HTTP 403) running the discovery rule''s Azure Resource Graph query. + Grant the managed identity Reader on the queried scope (or Service Group Reader + on a Service Group)."},"entityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '1229' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 3CAF0384BEA447D185AAFB1751E272D5 Ref B: GVA201070811052 Ref C: 2026-10-13T12:29:01Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity wait + Connection: keep-alive + ParameterSetName: -g --health-model-name -n --exists --interval --timeout + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/clirule000007?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/entities/clirule000007","name":"clirule000007","type":"Microsoft.CloudHealth/healthmodels/entities","systemData":{"createdByType":"Application","createdAt":"2026-10-13T12:28:58.20953Z","lastModifiedAt":"2026-10-13T12:28:58.20954Z"},"properties":{"provisioningState":"Succeeded","displayName":"Storage + discovery","icon":{"iconName":"DiscoveryRule"},"impact":"Standard","discoveredBy":"clirule000007","healthState":"Unknown"}}' + headers: + cache-control: + - no-cache + content-length: + - '590' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: FEFE9B759EDF43D09FC38D659630340D Ref B: FRA231050412019 Ref C: 2026-10-13T12:29:01Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"childEntityName": "clirule000007", "parentEntityName": + "clihm000003"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship create + Connection: keep-alive + Content-Length: '87' + Content-Type: application/json + ParameterSetName: -g --health-model-name -n --parent-entity-name --child-entity-name + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000009","name":"clirel000009","type":"microsoft.cloudhealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:29:03.0768284Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:03.0768284Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"clihm000003","childEntityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '612' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: 1AFFF089760B4779BE4973B74AF27C14 Ref B: GVA201070812060 Ref C: 2026-10-13T12:29:03Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship show + Connection: keep-alive + ParameterSetName: -g --health-model-name -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000009?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.cloudhealth/healthmodels/clihm000003/relationships/clirel000009","name":"clirel000009","type":"Microsoft.CloudHealth/healthmodels/relationships","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:29:03.0768284Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:03.2542784Z"},"properties":{"provisioningState":"Succeeded","parentEntityName":"clihm000003","childEntityName":"clirule000007"}}' + headers: + cache-control: + - no-cache + content-length: + - '612' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 0B4717F9A6974A11BD80D0BDE8703906 Ref B: FRA261110504031 Ref C: 2026-10-13T12:29:03Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000009?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 244A71D6684042E98BF1A199C62A9EE1 Ref B: MIL221110120052 Ref C: 2026-10-13T12:29:04Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models discovery-rule delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/discoveryrules/clirule000007?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 553E1C6DD8E3406FB3C3EC5FB2B138B4 Ref B: GVA201070811023 Ref C: 2026-10-13T12:29:05Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models relationship delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/relationships/clirel000008?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: EAEF02D560314A29B557AB9EDBBCC95C Ref B: GVA201070812025 Ref C: 2026-10-13T12:29:07Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models entity delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/entities/client000005?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 7B7F69367F7F447388B65AF5E40EE6D9 Ref B: GVA201070812040 Ref C: 2026-10-13T12:29:08Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/storage-availability?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 468129D8CD8F44A1ADEF98AF1E99F2FF Ref B: MIL221091017060 Ref C: 2026-10-13T12:29:09Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/request-failures?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 0FB9952AAA8B4BA796E8F2A6F7FE9B0E Ref B: GVA201070811034 Ref C: 2026-10-13T12:29:10Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models signal-definition delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/signaldefinitions/scrape-availability?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: B24272E3E7E84DEBA20C3EB0EC2B47A7 Ref B: GVA201070812054 Ref C: 2026-10-13T12:29:10Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models authentication-setting delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g --health-model-name -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003/authenticationsettings/cliauth000006?api-version=2026-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 13 Oct 2026 12:29:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-msedge-ref: + - 'Ref A: 757763DD63E04B269F14CA22F18DBE6E Ref B: MIL221110118062 Ref C: 2026-10-13T12:29:11Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity remove + Connection: keep-alive + ParameterSetName: -g -n --user-assigned + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:28:30.5154827Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned, + UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_healthmodel_signals000001/providers/microsoft.managedidentity/userassignedidentities/climi000004":{"principalId":"11111111-1111-1111-1111-000000000001","clientId":"11111111-1111-1111-1111-000000000003"}}},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:11 GMT + etag: + - '"7b008d4c-0000-1000-0000-6ace23ef0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 6F2B4870D43C4107BA8B164540E04FAD Ref B: GVA201070811052 Ref C: 2026-10-13T12:29:12Z' + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned"}, "location": "uksouth", "properties": + {}, "tags": {"scenario": "examples"}}' + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity remove + Connection: keep-alive + Content-Length: '115' + Content-Type: application/json + ParameterSetName: -g -n --user-assigned + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:13.5815462Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '695' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:14 GMT + etag: + - '"7b003d62-0000-1000-0000-6ace241a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + x-msedge-ref: + - 'Ref A: E19B675352874FB58F8CEB95B4567651 Ref B: GVA201070811034 Ref C: 2026-10-13T12:29:12Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: application/json + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models identity show + Connection: keep-alive + ParameterSetName: -g -n + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","name":"clihm000003","type":"microsoft.cloudhealth/healthmodels","location":"uksouth","tags":{"scenario":"examples"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2026-10-13T12:27:47.3411478Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2026-10-13T12:29:13.5815462Z"},"identity":{"principalId":"11111111-1111-1111-1111-000000000004","tenantId":"11111111-1111-1111-1111-000000000002","type":"SystemAssigned"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '695' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:15 GMT + etag: + - '"7b003d62-0000-1000-0000-6ace241a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: D782D8BA612840868E6523937284B905 Ref B: MIL221091017042 Ref C: 2026-10-13T12:29:15Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + Content-Length: '0' + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003?api-version=2026-11-01 + response: + body: + string: 'null' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:16 GMT + etag: + - '"7b00d063-0000-1000-0000-6ace241c0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + x-ms-resource-provider-hint: + - noPolling + x-msedge-ref: + - 'Ref A: C4D6865FE5E9458F99CAF9F8730CA13F Ref B: MIL221091016034 Ref C: 2026-10-13T12:29:16Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","name":"9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","status":"Deleting","startTime":"2026-10-13T12:29:16.6602695Z"}' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/uksouth/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + cache-control: + - no-cache + content-length: + - '578' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:17 GMT + etag: + - '"8e00292e-0000-1000-0000-6ace241c0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/uksouth/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-ms-resource-provider-hint: + - noPolling + x-msedge-ref: + - 'Ref A: 4A438B4F62FB4B68BDD657E27C1C8039 Ref B: MIL221091017025 Ref C: 2026-10-13T12:29:17Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","name":"9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","status":"Succeeded","startTime":"2026-10-13T12:29:16.6602695Z","endTime":"2026-10-13T12:29:17.5158489Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:47 GMT + etag: + - '"8e00722e-0000-1000-0000-6ace241d0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 8B7D8CBD6EF943DB962C3740F049FA14 Ref B: GVA201070811040 Ref C: 2026-10-13T12:29:47Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: '*/*' + Accept-Encoding: gzip, deflate, zstd + CommandName: monitor health-models delete + Connection: keep-alive + ParameterSetName: -g -n --yes + User-Agent: AZURECLI/2.91.0 azsdk-python-core/1.39.0 Python/3.14.8 (macOS-27.0.1-arm64-arm-64bit-Mach-O) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258?api-version=2026-11-01&t=redacted-t&c=redacted-c&s=redacted-s&h=redacted-h + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CloudHealth/locations/UKSOUTH/operationStatuses/9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","name":"9e73c575-6170-40bb-b0b7-2f6947e87b5b*63E7EC616F84ED269B598375D4029607B732AC2732520FE88829A0D54B94D258","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_healthmodel_signals000001/providers/Microsoft.CloudHealth/healthmodels/clihm000003","status":"Succeeded","startTime":"2026-10-13T12:29:16.6602695Z","endTime":"2026-10-13T12:29:17.5158489Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '638' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Oct 2026 12:29:49 GMT + etag: + - '"8e00722e-0000-1000-0000-6ace241d0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + x-msedge-ref: + - 'Ref A: 8902A684A51C4390929FD4E27047C809 Ref B: MIL221110120052 Ref C: 2026-10-13T12:29:49Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/health-models/azext_health_models/tests/latest/test_healthmodel_ga.py b/src/health-models/azext_health_models/tests/latest/test_healthmodel_ga.py new file mode 100644 index 00000000000..622e0a1bc20 --- /dev/null +++ b/src/health-models/azext_health_models/tests/latest/test_healthmodel_ga.py @@ -0,0 +1,119 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import ast +import importlib +import inspect +import pathlib +import unittest +from types import SimpleNamespace +from unittest.mock import Mock + +from azure.cli.core.aaz import AAZCommand, AAZHttpOperation +from azure.cli.core.aaz._field_value import AAZObject + +from azext_health_models.aaz.latest.monitor.health_models.entity._create import Create as EntityCreate +from azext_health_models.aaz.latest.monitor.health_models.entity._get_signal_recommendations import ( + GetSignalRecommendations, +) +from azext_health_models.aaz.latest.monitor.health_models._list import List + + +class HealthModelGATest(unittest.TestCase): + def test_all_operation_api_versions(self): + root = pathlib.Path(__file__).resolve().parents[2] + count = 0 + for path in sorted((root / 'aaz').rglob('*.py')): + module_name = 'azext_health_models.' + '.'.join(path.relative_to(root).with_suffix('').parts) + module = importlib.import_module(module_name) + for _, command in inspect.getmembers(module, inspect.isclass): + if command.__module__ != module_name or not issubclass(command, AAZCommand): + continue + for _, operation in inspect.getmembers(command, inspect.isclass): + if not issubclass(operation, AAZHttpOperation): + continue + with self.subTest(command=command.__name__, operation=operation.__name__): + context = SimpleNamespace(get_http_client=Mock(), args=Mock()) + self.assertEqual(operation(context).query_parameters['api-version'], '2026-11-01') + count += 1 + self.assertGreater(count, 46) + + def test_no_preview_decorators(self): + root = pathlib.Path(__file__).resolve().parents[2] / 'aaz' + for path in sorted(root.rglob('*.py')): + with self.subTest(path=path.relative_to(root)): + tree = ast.parse(path.read_text(encoding='utf-8')) + for node in ast.walk(tree): + if isinstance(node, ast.keyword) and node.arg == 'is_preview': + self.assertFalse(ast.literal_eval(node.value)) + + def test_recommendation_configuration_round_trip(self): + configurations = [ + { + 'signalKind': 'AzureResourceMetric', 'metricNamespace': 'Microsoft.Compute/virtualMachines', + 'metricName': 'Percentage CPU', 'aggregationType': 'Average', 'timeGrain': 'PT5M', + 'dimensionFilter': 'instance eq frontend', + }, + { + 'signalKind': 'LogAnalyticsQuery', 'queryText': 'Heartbeat | count', 'timeGrain': 'PT5M', + 'valueColumnName': 'Count', 'requiredTables': ['Heartbeat'], + 'requiredDiagnosticSettingCategories': ['AuditEvent'], + }, + { + 'signalKind': 'PrometheusMetricsQuery', 'queryText': 'sum(up)', 'timeGrain': 'PT5M', + 'requiredMetrics': ['up'], 'requiredScrapeTargets': ['frontend'], + }, + ] + schema = GetSignalRecommendations.EntitiesGetSignalRecommendations._build_schema_on_200() + for configuration in configurations: + for stream in ('recommendedSignals', 'recommendedConfigurations'): + with self.subTest(kind=configuration['signalKind'], stream=stream): + payload = {'recommendedSignals': [], 'recommendedConfigurations': []} + payload[stream] = [{ + 'signalId': 'availability', + 'configuration': configuration, + 'evaluationRules': { + 'unhealthyRule': {'operator': 'LowerThan', 'threshold': 1.0}, + }, + }] + value = AAZObject(schema, schema.process_data(payload)) + self.assertEqual(AAZCommand.deserialize_output(value), payload) + + def test_entity_aggregation_groups_round_trip(self): + payload = { + 'name': 'frontend', + 'properties': { + 'displayName': 'Frontend', + 'signalAggregationGroups': [{ + 'name': 'availability', 'aggregationType': 'MinHealthy', 'unhealthyThreshold': 2, + 'unit': 'Absolute', + 'members': ['replica1', 'replica2', 'replica3'], 'ignoreUnknown': True, + }], + }, + } + schema = EntityCreate.EntitiesCreateOrUpdate._build_schema_on_200_201() + value = AAZObject(schema, schema.process_data(payload)) + self.assertEqual(AAZCommand.deserialize_output(value), payload) + + def test_removed_look_back_window(self): + root = pathlib.Path(__file__).resolve().parents[2] / 'aaz' + for path in sorted(root.rglob('*.py')): + with self.subTest(path=path.relative_to(root)): + text = path.read_text(encoding='utf-8') + self.assertNotIn('lookBackWindow', text) + self.assertNotIn('look_back_window', text) + + def test_list_output_shapes(self): + operations = (List.HealthModelsListBySubscription, List.HealthModelsListByResourceGroup) + for operation in operations: + schema = operation._build_schema_on_200() + for value in ([], [{'name': 'frontend', 'location': 'centralus'}]): + for next_link in (None, 'https://management.azure.com/next?api-version=2026-11-01'): + with self.subTest(operation=operation.__name__, value=value, next_link=next_link): + payload = {'value': value} + if next_link is not None: + payload['nextLink'] = next_link + result = AAZObject(schema, schema.process_data(payload)) + self.assertEqual(AAZCommand.deserialize_output(result), payload) diff --git a/src/health-models/azext_health_models/tests/latest/test_healthmodel_scenario.py b/src/health-models/azext_health_models/tests/latest/test_healthmodel_scenario.py index b7b47e54253..f579a0c16de 100644 --- a/src/health-models/azext_health_models/tests/latest/test_healthmodel_scenario.py +++ b/src/health-models/azext_health_models/tests/latest/test_healthmodel_scenario.py @@ -3,17 +3,21 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +import json +import shlex + +from azure.core.exceptions import ResourceNotFoundError from azure.cli.testsdk import * class HealthModelScenarioTest(ScenarioTest): + FILTER_HEADERS = ScenarioTest.FILTER_HEADERS + ['x-ms-operation-identifier'] @ResourceGroupPreparer(name_prefix='cli_test_healthmodel_crud', location='centralus') def test_healthmodel_crud_cycle(self, resource_group): self.kwargs.update({ 'rg': resource_group, 'model': self.create_random_name('clihm', 24), - 'entity': self.create_random_name('client', 24), 'location': 'centralus', }) @@ -22,33 +26,388 @@ def test_healthmodel_crud_cycle(self, resource_group): self.check('properties.provisioningState', 'Succeeded'), self.check('location', '{location}') ]) + self.cmd('monitor health-models wait -g {rg} -n {model} --created --interval 5 --timeout 300') self.cmd('monitor health-models show -g {rg} -n {model}', checks=[ self.check('name', '{model}') ]) - self.cmd('monitor health-models update -g {rg} -n {model} --tags env=test owner=cli', checks=[ - self.check('tags.env', 'test'), - self.check('tags.owner', 'cli') + self.cmd('monitor health-models update -g {rg} -n {model} ' + '--tags "{{scenario:examples,environment:demo}}"', checks=[ + self.check('tags.scenario', 'examples'), + self.check('tags.environment', 'demo') ]) self.cmd('monitor health-models list -g {rg}', checks=[ self.check('length(@)', 1), self.check('[0].name', '{model}') ]) - self.cmd('monitor health-models entity create -g {rg} --health-model-name {model} -n {entity} ' - '--display-name "CLI Test Entity" --impact Standard', checks=[ - self.check('name', '{entity}'), - self.check('properties.displayName', 'CLI Test Entity'), - self.check('properties.impact', 'Standard') + self.cmd('monitor health-models entity show -g {rg} --health-model-name {model} -n {model}', checks=[ + self.check('name', '{model}') + ]) + self.cmd('monitor health-models entity update -g {rg} --health-model-name {model} -n {model} ' + '--canvas-position "{{x:0,y:0}}"', checks=[ + self.check('properties.canvasPosition.x', 0), + self.check('properties.canvasPosition.y', 0) + ]) + entities = [self.create_random_name('client', 24) for _ in range(3)] + positions = set() + for index, entity in enumerate(entities): + x = 250 * index + display_name = ['Web frontend', 'Background worker', 'Data storage'][index] + self.kwargs.update({'entity': entity, 'display_name': display_name, 'x': x, + 'relationship': self.create_random_name('clirel', 24), + 'relationship_label': 'Checkout depends on frontend' if index == 0 else 'Root to child'}) + self.cmd('monitor health-models entity create -g {rg} --health-model-name {model} -n {entity} ' + '--display-name "{display_name}" --canvas-position "{{x:{x},y:200}}"', checks=[ + self.check('name', '{entity}'), + self.check('properties.displayName', display_name), + self.check('properties.impact', 'Standard'), + self.check('properties.canvasPosition.x', x), + self.check('properties.canvasPosition.y', 200) + ]) + self.cmd('monitor health-models relationship create -g {rg} --health-model-name {model} ' + '-n {relationship} --parent-entity-name {model} --child-entity-name {entity} ' + '--display-name "{relationship_label}"', checks=[ + self.check('properties.parentEntityName', '{model}'), + self.check('properties.childEntityName', '{entity}'), + self.check('properties.displayName', '{relationship_label}') + ]) + if index == 0: + self.cmd('monitor health-models entity wait -g {rg} --health-model-name {model} -n {entity} ' + '--exists --interval 5 --timeout 300') + self.cmd('monitor health-models relationship wait -g {rg} --health-model-name {model} ' + '-n {relationship} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models relationship show -g {rg} --health-model-name {model} ' + '-n {relationship}', checks=[ + self.check('properties.parentEntityName', '{model}'), + self.check('properties.childEntityName', '{entity}') + ]) + self.kwargs['relationship_label'] = 'Frontend dependency' if index == 0 else 'Connected top-level entity' + self.cmd('monitor health-models relationship update -g {rg} --health-model-name {model} ' + '-n {relationship} --display-name "{relationship_label}"', checks=[ + self.check('properties.displayName', '{relationship_label}') + ]) + shown = self.cmd('monitor health-models entity show -g {rg} --health-model-name {model} ' + '-n {entity}').get_output_in_json() + position = shown['properties']['canvasPosition'] + positions.add((position['x'], position['y'])) + self.assertEqual(len(positions), len(entities)) + self.assertNotIn((0, 0), positions) + self.kwargs.update({'parent': entities[0], 'api': self.create_random_name('cliapi', 24), + 'api_relationship': self.create_random_name('clirel', 24)}) + self.cmd('monitor health-models entity update -g {rg} --health-model-name {model} -n {model} ' + '--signal-groups "{{dependencies:{{aggregation-type:WorstOf}}}}"', checks=[ + self.check('properties.signalGroups.dependencies.aggregationType', 'WorstOf') ]) + self.cmd('monitor health-models entity create -g {rg} --health-model-name {model} -n {api} ' + '--display-name "Frontend API" --canvas-position "{{x:0,y:400}}"') + self.cmd('monitor health-models relationship create -g {rg} --health-model-name {model} ' + '-n {api_relationship} --parent-entity-name {parent} --child-entity-name {api}', checks=[ + self.check('properties.parentEntityName', '{parent}'), + self.check('properties.childEntityName', '{api}') + ]) + self.cmd('monitor health-models entity update -g {rg} --health-model-name {model} -n {api} ' + '--canvas-position "{{x:0,y:400}}"', checks=[ + self.check('properties.canvasPosition.x', 0), + self.check('properties.canvasPosition.y', 400) + ]) + self.cmd('monitor health-models entity show -g {rg} --health-model-name {model} -n {api}', checks=[ + self.check('properties.displayName', 'Frontend API'), + self.check('properties.canvasPosition.x', 0), + self.check('properties.canvasPosition.y', 400) + ]) + self.cmd('monitor health-models relationship list -g {rg} --health-model-name {model}', checks=[ + self.check('length(@)', len(entities) + 1) + ]) + self.kwargs['entity'] = entities[0] self.cmd('monitor health-models entity show -g {rg} --health-model-name {model} -n {entity}', checks=[ self.check('name', '{entity}') ]) self.cmd('monitor health-models entity list -g {rg} --health-model-name {model}', checks=[ - self.greater_than('length(@)', 0) + self.check('length(@)', len(entities) + 2) ]) - self.cmd('monitor health-models entity delete -g {rg} --health-model-name {model} -n {entity} --yes') + self.cmd('monitor health-models entity add-data-annotation -g {rg} --health-model-name {model} ' + '--entity-name {entity} --description "Frontend deployment" ' + '--annotation-details "{{environment:demo,deploymentId:release-001}}"', checks=[ + self.check('description', 'Frontend deployment'), + self.check('annotationDetails.environment', 'demo'), + self.check('annotationDetails.deploymentId', 'release-001') + ]) + self.cmd('monitor health-models entity ingest-health-report -g {rg} --health-model-name {model} ' + '--entity-name {entity} --signal-name availability --health-state Healthy ' + '--value 100 --expires-in-minutes 60 --additional-context "Synthetic availability check"') + for signal, value, state in [('primary', 100, 'Healthy'), ('backup', 80, 'Degraded'), + ('canary', 100, 'Healthy')]: + self.kwargs.update({'signal': signal, 'value': value, 'state': state}) + self.cmd('monitor health-models entity ingest-health-report -g {rg} --health-model-name {model} ' + '--entity-name {entity} --signal-name {signal} --value {value} --health-state {state} ' + '--expires-in-minutes 60') + groups = [ + {'name': 'redundancy', 'aggregation-type': 'BestOf', 'members': ['primary', 'backup']}, + {'name': 'quorum', 'aggregation-type': 'MinHealthy', 'unit': 'Absolute', + 'unhealthy-threshold': 1, 'degraded-threshold': 2, 'members': ['primary', 'backup', 'canary'], + 'ignore-unknown': False}, + {'name': 'failure-budget', 'aggregation-type': 'MaxNotHealthy', 'unit': 'Percentage', + 'unhealthy-threshold': 60, 'degraded-threshold': 30, 'members': ['primary', 'backup', 'canary'], + 'ignore-unknown': False}, + ] + for group in groups: + self.kwargs['aggregation'] = shlex.quote(json.dumps([group])) + if group['aggregation-type'] == 'MinHealthy': + self.kwargs['aggregation'] = ( + '"[{name:quorum,aggregation-type:MinHealthy,unit:Absolute,unhealthy-threshold:1,' + 'degraded-threshold:2,members:[primary,backup,canary],ignore-unknown:false}]"' + ) + self.cmd('monitor health-models entity update -g {rg} --health-model-name {model} -n {entity} ' + '--signal-aggregation-groups {aggregation}', checks=[ + self.check('properties.signalAggregationGroups[0].name', group['name']), + self.check('properties.signalAggregationGroups[0].aggregationType', group['aggregation-type']), + self.check('properties.signalAggregationGroups[0].members', group['members']) + ]) + self.cmd('monitor health-models entity show -g {rg} --health-model-name {model} -n {entity}', checks=[ + self.check('properties.signalAggregationGroups[0].unit', 'Percentage'), + self.check('properties.signalAggregationGroups[0].ignoreUnknown', False) + ]) + self.cmd('monitor health-models entity get-history -g {rg} --health-model-name {model} ' + '--entity-name {entity} --top 10', checks=[ + self.check('entityName', '{entity}'), + self.check('type(history)', 'array') + ]) + self.cmd('monitor health-models entity get-signal-history -g {rg} --health-model-name {model} ' + '--entity-name {entity} --signal-name availability --top 10', checks=[ + self.check('entityName', '{entity}') + ]) + self.cmd('monitor health-models entity get-data-annotations -g {rg} --health-model-name {model} ' + '--entity-name {entity}', checks=[ + self.check('annotations[0].description', 'Frontend deployment'), + self.check('annotations[0].annotationDetails.environment', 'demo') + ]) + relationships = self.cmd('monitor health-models relationship list -g {rg} ' + '--health-model-name {model}').get_output_in_json() + for relationship in relationships: + self.kwargs['relationship'] = relationship['name'] + self.cmd('monitor health-models relationship delete -g {rg} --health-model-name {model} ' + '-n {relationship} --yes') + for entity in entities + [self.kwargs['api']]: + self.kwargs['entity'] = entity + self.cmd('monitor health-models entity delete -g {rg} --health-model-name {model} -n {entity} --yes') self.cmd('monitor health-models delete -g {rg} -n {model} --yes') + with self.assertRaisesRegex(ResourceNotFoundError, 'ResourceNotFound'): + self.cmd('monitor health-models show -g {rg} -n {model}') + + @ResourceGroupPreparer(name_prefix='cli_test_healthmodel_signals', location='uksouth') + @StorageAccountPreparer(name_prefix='clihm', location='uksouth', kind='StorageV2', sku='Standard_LRS') + def test_healthmodel_signal_auth_discovery(self, resource_group, storage_account): + self.kwargs.update({ + 'rg': resource_group, + 'storage': storage_account, + 'model': self.create_random_name('clihm', 24), + 'identity': self.create_random_name('climi', 24), + 'entity': self.create_random_name('client', 24), + 'auth': self.create_random_name('cliauth', 24), + 'rule': self.create_random_name('clirule', 24), + }) + identity = self.cmd('identity create -g {rg} -n {identity} -l uksouth').get_output_in_json() + self.kwargs['identity_id'] = identity['id'] + model = self.cmd('monitor health-models create -g {rg} -n {model} -l uksouth --mi-system-assigned ' + '--mi-user-assigned "[{identity_id}]" --tags "{{scenario:examples}}"', checks=[ + self.check('name', '{model}'), + self.check('properties.provisioningState', 'Succeeded') + ]).get_output_in_json() + resource_group_info = self.cmd('group show -g {rg}').get_output_in_json() + self.kwargs.update({'principal': model['identity']['principalId'], 'scope': resource_group_info['id'], + 'assignment': self.create_guid()}) + self.cmd('role assignment create --assignee-object-id {principal} --assignee-principal-type ServicePrincipal ' + '--role Reader --scope {scope} --name {assignment}', checks=[ + self.check('principalId', '{principal}'), + self.check('scope', '{scope}') + ]) + identities = self.cmd('monitor health-models identity show -g {rg} -n {model}').get_output_in_json() + self.assertIn('SystemAssigned', identities['type']) + self.kwargs['identity_id'] = next( + resource_id for resource_id in identities['userAssignedIdentities'] + if resource_id.casefold() == identity['id'].casefold() + ) + self.cmd('monitor health-models identity assign -g {rg} -n {model} ' + '--system-assigned --user-assigned {identity_id}') + self.cmd('monitor health-models identity wait -g {rg} -n {model} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models authentication-setting create -g {rg} --health-model-name {model} ' + '-n {auth} --display-name "Model identity" ' + '--managed-identity "{{managed-identity-name:SystemAssigned}}"', checks=[ + self.check('properties.authenticationKind', 'ManagedIdentity'), + self.check('properties.managedIdentityName', 'SystemAssigned') + ]) + self.cmd('monitor health-models authentication-setting wait -g {rg} --health-model-name {model} ' + '-n {auth} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models authentication-setting show -g {rg} --health-model-name {model} ' + '-n {auth}', checks=[ + self.check('properties.displayName', 'Model identity') + ]) + self.cmd('monitor health-models authentication-setting update -g {rg} --health-model-name {model} ' + '-n {auth} --display-name "Telemetry identity"', checks=[ + self.check('properties.displayName', 'Telemetry identity') + ]) + self.cmd('monitor health-models authentication-setting list -g {rg} --health-model-name {model}', checks=[ + self.check('length(@)', 1) + ]) + definitions = [ + ('storage-availability', 'AzureResourceMetric', '--azure-resource-metric', + {'metric-namespace': 'Microsoft.Storage/storageAccounts', 'metric-name': 'Availability', + 'aggregation-type': 'Average', 'time-grain': 'PT1H'}, 'Percent', + {'degraded-rule': {'operator': 'LessThan', 'threshold': 99.9}, + 'unhealthy-rule': {'operator': 'LessThan', 'threshold': 99}}), + ('request-failures', 'LogAnalyticsQuery', '--log-analytics-query', + {'query-text': 'AppRequests | summarize failures=countif(Success == false)', + 'value-column-name': 'failures', 'time-grain': 'PT5M'}, 'Count', + {'degraded-rule': {'operator': 'GreaterThan', 'threshold': 1}, + 'unhealthy-rule': {'operator': 'GreaterThan', 'threshold': 5}}), + ('scrape-availability', 'PrometheusMetricsQuery', '--prometheus-metrics-query', + {'query-text': 'up', 'time-grain': 'PT1M'}, 'Count', + {'unhealthy-rule': {'operator': 'LessThan', 'threshold': 1}}), + ] + for definition, signal_kind, option, configuration, unit, rules in definitions: + self.kwargs.update({ + 'definition': definition, + 'option': option, + 'configuration': shlex.quote(json.dumps(configuration)), + 'unit': unit, + 'rules': shlex.quote(json.dumps(rules)), + 'signal_display_name': 'Reusable signal', + }) + if signal_kind == 'AzureResourceMetric': + self.kwargs.update({ + 'signal_display_name': 'Storage availability', + 'configuration': ( + '"{metric-namespace:Microsoft.Storage/storageAccounts,metric-name:Availability,' + 'aggregation-type:Average,time-grain:PT1H}"' + ), + 'rules': ( + '"{degraded-rule:{operator:LessThan,threshold:99.9},' + 'unhealthy-rule:{operator:LessThan,threshold:99}}"' + ), + }) + self.cmd('monitor health-models signal-definition create -g {rg} --health-model-name {model} ' + '-n {definition} {option} {configuration} --display-name "{signal_display_name}" ' + '--refresh-interval PT1M --data-unit {unit} --evaluation-rules {rules}', checks=[ + self.check('properties.signalKind', signal_kind), + self.check('properties.displayName', '{signal_display_name}'), + self.check('properties.dataUnit', unit), + self.check('properties.evaluationRules.unhealthyRule.threshold', rules['unhealthy-rule']['threshold']) + ]) + if signal_kind == 'AzureResourceMetric': + self.cmd('monitor health-models signal-definition wait -g {rg} --health-model-name {model} ' + '-n {definition} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models signal-definition show -g {rg} --health-model-name {model} ' + '-n {definition}', checks=[ + self.check('properties.signalKind', signal_kind) + ]) + self.cmd('monitor health-models signal-definition update -g {rg} --health-model-name {model} ' + '-n {definition} --display-name "Updated reusable signal" --refresh-interval PT5M', checks=[ + self.check('properties.displayName', 'Updated reusable signal'), + self.check('properties.refreshInterval', 'PT5M') + ]) + self.kwargs.update({ + 'definition': 'storage-availability', + 'rules': ('"{degraded-rule:{operator:LessThan,threshold:99.8},' + 'unhealthy-rule:{operator:LessThan,threshold:98}}"'), + }) + self.cmd('monitor health-models signal-definition update -g {rg} --health-model-name {model} ' + '-n {definition} --evaluation-rules {rules}', checks=[ + self.check('properties.evaluationRules.degradedRule.threshold', 99.8), + self.check('properties.evaluationRules.unhealthyRule.threshold', 98) + ]) + self.cmd('monitor health-models signal-definition list -g {rg} --health-model-name {model}', checks=[ + self.check('length(@)', len(definitions)) + ]) + storage = self.cmd('storage account show -g {rg} -n {storage}').get_output_in_json() + self.kwargs['signal_groups'] = shlex.quote(json.dumps({ + 'azure-resource': { + 'authentication-setting': self.kwargs['auth'], + 'azure-resource-id': storage['id'], + 'signals': [{'name': 'availability', 'signal-definition-name': 'storage-availability'}], + } + })) + self.cmd('monitor health-models entity create -g {rg} --health-model-name {model} -n {entity} ' + '--display-name "Storage account" --canvas-position "{{x:0,y:200}}"', checks=[ + self.check('properties.displayName', 'Storage account'), + ]) + self.cmd('monitor health-models entity update -g {rg} --health-model-name {model} -n {entity} ' + '--signal-groups {signal_groups}', checks=[ + self.check('properties.signalGroups.azureResource.azureResourceId', storage['id']), + self.check('properties.signalGroups.azureResource.signals[0].signalDefinitionName', 'storage-availability') + ]) + self.kwargs['relationship'] = self.create_random_name('clirel', 24) + self.cmd('monitor health-models relationship create -g {rg} --health-model-name {model} ' + '-n {relationship} --parent-entity-name {model} --child-entity-name {entity}', checks=[ + self.check('properties.parentEntityName', '{model}'), + self.check('properties.childEntityName', '{entity}') + ]) + recommendations = self.cmd('monitor health-models entity get-signal-recommendations -g {rg} ' + '--health-model-name {model} --entity-name {entity}').get_output_in_json() + for stream in ('recommendedSignals', 'recommendedConfigurations'): + self.assertIsInstance(recommendations[stream], list) + for recommendation in recommendations[stream]: + self.assertIn(recommendation['configuration']['signalKind'], + ('AzureResourceMetric', 'LogAnalyticsQuery', 'PrometheusMetricsQuery')) + self.assertTrue(recommendation['signalId']) + self.kwargs['subscription_id'] = self.get_subscription_id() + self.cmd('monitor health-models discovery-rule create -g {rg} --health-model-name {model} -n {rule} ' + '--display-name "Storage discovery" --authentication-setting {auth} ' + "--specification \"{{resource-graph-query:{{resource-graph-query:'resources | " + "where subscriptionId == '/{subscription_id}'/ | where resourceGroup == '/{rg}'/ | " + "where type =~ '/microsoft.storage/storageaccounts'/'}}}}\" --discover-relationships Disabled " + '--add-recommended-signals Disabled --add-resource-health-signal Disabled', checks=[ + self.check('properties.specification.kind', 'ResourceGraphQuery'), + self.check('properties.displayName', 'Storage discovery'), + self.check('properties.specification.resourceGraphQuery', + "resources | where subscriptionId == '{subscription_id}' | where resourceGroup == '{rg}' | " + "where type =~ 'microsoft.storage/storageaccounts'") + ]) + self.cmd('monitor health-models discovery-rule wait -g {rg} --health-model-name {model} ' + '-n {rule} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models discovery-rule show -g {rg} --health-model-name {model} -n {rule}', checks=[ + self.check('properties.authenticationSetting', '{auth}') + ]) + self.cmd('monitor health-models discovery-rule update -g {rg} --health-model-name {model} -n {rule} ' + '--display-name "Scoped storage discovery"', checks=[ + self.check('properties.displayName', 'Scoped storage discovery') + ]) + self.cmd('monitor health-models discovery-rule list -g {rg} --health-model-name {model}', checks=[ + self.check('length(@)', 1) + ]) + rule = self.cmd('monitor health-models discovery-rule show -g {rg} --health-model-name {model} ' + '-n {rule}').get_output_in_json() + self.assertTrue(rule['properties']['entityName']) + self.kwargs.update({'rule_entity': rule['properties']['entityName'], + 'rule_relationship': self.create_random_name('clirel', 24)}) + self.cmd('monitor health-models entity wait -g {rg} --health-model-name {model} ' + '-n {rule_entity} --exists --interval 5 --timeout 300') + self.cmd('monitor health-models relationship create -g {rg} --health-model-name {model} ' + '-n {rule_relationship} --parent-entity-name {model} --child-entity-name {rule_entity}', checks=[ + self.check('properties.parentEntityName', '{model}'), + self.check('properties.childEntityName', '{rule_entity}') + ]) + self.cmd('monitor health-models relationship show -g {rg} --health-model-name {model} ' + '-n {rule_relationship}', checks=[ + self.check('properties.parentEntityName', '{model}'), + self.check('properties.childEntityName', '{rule_entity}') + ]) + self.cmd('monitor health-models relationship delete -g {rg} --health-model-name {model} ' + '-n {rule_relationship} --yes') + self.cmd('monitor health-models discovery-rule delete -g {rg} --health-model-name {model} -n {rule} --yes') + self.cmd('monitor health-models relationship delete -g {rg} --health-model-name {model} ' + '-n {relationship} --yes') + self.cmd('monitor health-models entity delete -g {rg} --health-model-name {model} -n {entity} --yes') + for definition, _, _, _, _, _ in definitions: + self.kwargs['definition'] = definition + self.cmd('monitor health-models signal-definition delete -g {rg} --health-model-name {model} ' + '-n {definition} --yes') + self.cmd('monitor health-models authentication-setting delete -g {rg} --health-model-name {model} ' + '-n {auth} --yes') + self.cmd('monitor health-models identity remove -g {rg} -n {model} --user-assigned {identity_id}') + identities = self.cmd('monitor health-models identity show -g {rg} -n {model}').get_output_in_json() + self.assertNotIn(self.kwargs['identity_id'], identities.get('userAssignedIdentities', {})) + self.cmd('monitor health-models delete -g {rg} -n {model} --yes') def test_healthmodel_list_recorded(self): self.cmd('monitor health-models list', checks=[self.check('type(@)', 'array')]) diff --git a/src/health-models/linter_exclusions.yml b/src/health-models/linter_exclusions.yml index d71904f23ad..4431eac4eef 100644 --- a/src/health-models/linter_exclusions.yml +++ b/src/health-models/linter_exclusions.yml @@ -14,6 +14,16 @@ monitor health-models discovery-rule update: add_resource_health_signal: rule_exclusions: - option_length_too_long +monitor health-models entity create: + parameters: + signal_aggregation_groups: + rule_exclusions: + - option_length_too_long +monitor health-models entity update: + parameters: + signal_aggregation_groups: + rule_exclusions: + - option_length_too_long monitor health-models signal-definition create: parameters: prometheus_metrics_query: diff --git a/src/health-models/setup.py b/src/health-models/setup.py index 13e7eac9b8a..c9494dbdf00 100644 --- a/src/health-models/setup.py +++ b/src/health-models/setup.py @@ -6,10 +6,10 @@ from codecs import open # pylint: disable=redefined-builtin from setuptools import setup, find_packages -VERSION = '1.0.0b2' +VERSION = '1.0.0' CLASSIFIERS = [ - 'Development Status :: 4 - Beta', + 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Programming Language :: Python',