From f270e7522841bcb0b65d27a9778167cba4a6ba2f Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Sat, 23 May 2026 00:21:21 +0000 Subject: [PATCH 01/11] Configurations: 'specification/monitoringservice/resource-manager/Microsoft.Monitor/Slis/tspconfig.yaml', API Version: 2025-03-01-preview, SDK Release Type: beta, and CommitSHA: '8be8c75d9bb11ea95d8a7e251db74aa78b5cd76c' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6342625 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .../CHANGELOG.md | 15 +++++++--- .../README.md | 2 +- .../monitor/slis/models/Condition.java | 12 ++++++-- .../slis/models/ConditionOperator.java | 25 ++++++++-------- .../monitor/slis/models/SamplingType.java | 21 ++++++++----- .../WindowUptimeCriteriaComparator.java | 8 ++--- ...resourcemanager-monitor-slis_metadata.json | 2 +- .../slis/generated/ConditionTests.java | 8 ++--- .../slis/generated/SignalSourceTests.java | 8 ++--- .../monitor/slis/generated/SignalTests.java | 12 ++++---- .../monitor/slis/generated/SliInnerTests.java | 2 +- .../slis/generated/SliListResultTests.java | 2 +- .../slis/generated/SliPropertiesTests.java | 30 +++++++++---------- .../slis/generated/SliResourceTests.java | 2 +- ...isCreateOrUpdateWithResponseMockTests.java | 2 +- .../SlisGetWithResponseMockTests.java | 2 +- .../generated/SlisListByParentMockTests.java | 2 +- .../generated/WindowUptimeCriteriaTests.java | 2 +- .../tsp-location.yaml | 2 +- 19 files changed, 89 insertions(+), 70 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md index 3500c98142f64..f199a0982ae94 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md @@ -1,14 +1,21 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.2 (2026-05-23) -### Features Added +- Azure Resource Manager Slis client library for Java. This package contains Microsoft Azure SDK for Slis Management SDK. Package api-version 2025-03-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). ### Breaking Changes -### Bugs Fixed +#### `models.SamplingType` was modified + +* `AVG` was removed + +### Features Added + +#### `models.SamplingType` was modified -### Other Changes +* `AVERAGE` was added +* `COUNT` was added ## 1.0.0-beta.1 (2026-04-22) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/README.md b/sdk/monitor/azure-resourcemanager-monitor-slis/README.md index 84f448afb1e88..9bbfb3dc8a253 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/README.md +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/README.md @@ -32,7 +32,7 @@ Various documentation is available to help you get started com.azure.resourcemanager azure-resourcemanager-monitor-slis - 1.0.0-beta.1 + 1.0.0-beta.2 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java index 8232abe3bd6e0..0deb3f69dca87 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java @@ -37,7 +37,9 @@ public final class Condition implements JsonSerializable { private ConditionOperator operator; /* - * Value used in filtering. + * Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, notstartswith, contains, + * notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and `notin` operators, multiple + * values must be joined by the delimiter `^^` (for example "east^^west^^north"). */ private String value; @@ -128,7 +130,9 @@ public Condition withOperator(ConditionOperator operator) { } /** - * Get the value property: Value used in filtering. + * Get the value property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, + * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and + * `notin` operators, multiple values must be joined by the delimiter `^^` (for example "east^^west^^north"). * * @return the value value. */ @@ -137,7 +141,9 @@ public String value() { } /** - * Set the value property: Value used in filtering. + * Set the value property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, + * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and + * `notin` operators, multiple values must be joined by the delimiter `^^` (for example "east^^west^^north"). * * @param value the value value to set. * @return the Condition object itself. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java index dc12609a76480..5152b8d09d306 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java @@ -14,42 +14,43 @@ public final class ConditionOperator extends ExpandableStringEnum"); + public static final ConditionOperator GREATER_THAN = fromString("gt"); /** * Greater than or equal to. */ - public static final ConditionOperator GREATER_THAN_OR_EQUAL = fromString(">="); + public static final ConditionOperator GREATER_THAN_OR_EQUAL = fromString("gte"); /** - * In operator. + * Matches when `value` is one of the items in the `^^`-delimited list (for example, `value` = "east^^west^^north"). */ - public static final ConditionOperator IN = fromString("@in"); + public static final ConditionOperator IN = fromString("in"); /** - * Not in. + * Matches when `value` is none of the items in the `^^`-delimited list (for example, `value` = + * "east^^west^^north"). */ - public static final ConditionOperator NOT_IN = fromString("!in"); + public static final ConditionOperator NOT_IN = fromString("notin"); /** * Starts with. @@ -59,7 +60,7 @@ public final class ConditionOperator extends ExpandableStringEnum { /** - * Maximum value. + * Average value. */ - public static final SamplingType MAX = fromString("max"); + public static final SamplingType AVERAGE = fromString("Average"); /** - * Minimum value. + * Summation. */ - public static final SamplingType MIN = fromString("min"); + public static final SamplingType SUM = fromString("Sum"); /** - * Average value. + * Count of occurrences. */ - public static final SamplingType AVG = fromString("avg"); + public static final SamplingType COUNT = fromString("Count"); /** - * Summation. + * Minimum value. + */ + public static final SamplingType MIN = fromString("Min"); + + /** + * Maximum value. */ - public static final SamplingType SUM = fromString("sum"); + public static final SamplingType MAX = fromString("Max"); /** * Creates a new instance of SamplingType value. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java index 0e13d5709c179..63aad537fa54a 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java @@ -14,22 +14,22 @@ public final class WindowUptimeCriteriaComparator extends ExpandableStringEnum"); + public static final WindowUptimeCriteriaComparator GREATER_THAN = fromString("gt"); /** * Less than or equal to the target value. */ - public static final WindowUptimeCriteriaComparator LESS_THAN_OR_EQUAL = fromString("<="); + public static final WindowUptimeCriteriaComparator LESS_THAN_OR_EQUAL = fromString("lte"); /** * Greater than or equal to the target value. */ - public static final WindowUptimeCriteriaComparator GREATER_THAN_OR_EQUAL = fromString(">="); + public static final WindowUptimeCriteriaComparator GREATER_THAN_OR_EQUAL = fromString("gte"); /** * Creates a new instance of WindowUptimeCriteriaComparator value. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/resources/META-INF/azure-resourcemanager-monitor-slis_metadata.json b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/resources/META-INF/azure-resourcemanager-monitor-slis_metadata.json index 5e94dcb485a53..f99c48a0b983f 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/resources/META-INF/azure-resourcemanager-monitor-slis_metadata.json +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/resources/META-INF/azure-resourcemanager-monitor-slis_metadata.json @@ -1 +1 @@ -{"flavor":"azure","apiVersions":{"Microsoft.Monitor":"2025-03-01-preview"},"crossLanguageDefinitions":{"com.azure.resourcemanager.monitor.slis.fluent.SlisClient":"Microsoft.Monitor.Slis","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.createOrUpdate":"Microsoft.Monitor.Slis.createOrUpdate","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.createOrUpdateWithResponse":"Microsoft.Monitor.Slis.createOrUpdate","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.delete":"Microsoft.Monitor.Slis.delete","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.deleteWithResponse":"Microsoft.Monitor.Slis.delete","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.get":"Microsoft.Monitor.Slis.get","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.getWithResponse":"Microsoft.Monitor.Slis.get","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.listByParent":"Microsoft.Monitor.Slis.listByParent","com.azure.resourcemanager.monitor.slis.fluent.SlisManagementClient":"Microsoft.Monitor","com.azure.resourcemanager.monitor.slis.fluent.models.SliInner":"Microsoft.Monitor.Sli","com.azure.resourcemanager.monitor.slis.implementation.SlisManagementClientBuilder":"Microsoft.Monitor","com.azure.resourcemanager.monitor.slis.implementation.models.SliListResult":"Azure.ResourceManager.ResourceListResult","com.azure.resourcemanager.monitor.slis.models.AmwAccount":"Microsoft.Monitor.AmwAccount","com.azure.resourcemanager.monitor.slis.models.Baseline":"Microsoft.Monitor.Baseline","com.azure.resourcemanager.monitor.slis.models.BaselineProperties":"Microsoft.Monitor.BaselineProperties","com.azure.resourcemanager.monitor.slis.models.Category":"Microsoft.Monitor.Category","com.azure.resourcemanager.monitor.slis.models.Condition":"Microsoft.Monitor.Condition","com.azure.resourcemanager.monitor.slis.models.ConditionOperator":"Microsoft.Monitor.ConditionOperator","com.azure.resourcemanager.monitor.slis.models.EvaluationCalculationType":"Microsoft.Monitor.EvaluationCalculationType","com.azure.resourcemanager.monitor.slis.models.EvaluationType":"Microsoft.Monitor.EvaluationType","com.azure.resourcemanager.monitor.slis.models.ExecutionState":"Microsoft.Monitor.ExecutionState","com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentity":"Azure.ResourceManager.CommonTypes.ManagedServiceIdentity","com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentityType":"Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType","com.azure.resourcemanager.monitor.slis.models.Metric":"Microsoft.Monitor.Metric","com.azure.resourcemanager.monitor.slis.models.ProvisioningState":"Microsoft.Monitor.ProvisioningState","com.azure.resourcemanager.monitor.slis.models.SamplingType":"Microsoft.Monitor.SamplingType","com.azure.resourcemanager.monitor.slis.models.ScalarFunction":"Microsoft.Monitor.ScalarFunction","com.azure.resourcemanager.monitor.slis.models.Signal":"Microsoft.Monitor.Signal","com.azure.resourcemanager.monitor.slis.models.SignalSource":"Microsoft.Monitor.SignalSource","com.azure.resourcemanager.monitor.slis.models.SliProperties":"Microsoft.Monitor.SliProperties","com.azure.resourcemanager.monitor.slis.models.SliResource":"Microsoft.Monitor.SliResource","com.azure.resourcemanager.monitor.slis.models.SpatialAggregation":"Microsoft.Monitor.SpatialAggregation","com.azure.resourcemanager.monitor.slis.models.SpatialAggregationType":"Microsoft.Monitor.SpatialAggregationType","com.azure.resourcemanager.monitor.slis.models.TemporalAggregation":"Microsoft.Monitor.TemporalAggregation","com.azure.resourcemanager.monitor.slis.models.TemporalAggregationType":"Microsoft.Monitor.TemporalAggregationType","com.azure.resourcemanager.monitor.slis.models.UserAssignedIdentity":"Azure.ResourceManager.CommonTypes.UserAssignedIdentity","com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteria":"Microsoft.Monitor.WindowUptimeCriteria","com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteriaComparator":"Microsoft.Monitor.WindowUptimeCriteriaComparator"},"generatedFiles":["src/main/java/com/azure/resourcemanager/monitor/slis/SlisManager.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/SlisClient.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/SlisManagementClient.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/models/SliInner.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/models/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/ResourceManagerUtils.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SliImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisClientImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisManagementClientBuilder.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisManagementClientImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/models/SliListResult.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/AmwAccount.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Baseline.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/BaselineProperties.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Category.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/EvaluationCalculationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/EvaluationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ExecutionState.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ManagedServiceIdentity.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ManagedServiceIdentityType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Metric.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ProvisioningState.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SamplingType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ScalarFunction.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Signal.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SignalSource.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Sli.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SliProperties.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SliResource.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Slis.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SpatialAggregation.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SpatialAggregationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/TemporalAggregation.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/TemporalAggregationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/UserAssignedIdentity.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteria.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file +{"flavor":"azure","apiVersions":{"Microsoft.Monitor":"2025-03-01-preview"},"crossLanguagePackageId":"Microsoft.Monitor","crossLanguageVersion":"42338712126b","crossLanguageDefinitions":{"com.azure.resourcemanager.monitor.slis.fluent.SlisClient":"Microsoft.Monitor.Slis","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.createOrUpdate":"Microsoft.Monitor.Slis.createOrUpdate","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.createOrUpdateWithResponse":"Microsoft.Monitor.Slis.createOrUpdate","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.delete":"Microsoft.Monitor.Slis.delete","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.deleteWithResponse":"Microsoft.Monitor.Slis.delete","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.get":"Microsoft.Monitor.Slis.get","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.getWithResponse":"Microsoft.Monitor.Slis.get","com.azure.resourcemanager.monitor.slis.fluent.SlisClient.listByParent":"Microsoft.Monitor.Slis.listByParent","com.azure.resourcemanager.monitor.slis.fluent.SlisManagementClient":"Microsoft.Monitor","com.azure.resourcemanager.monitor.slis.fluent.models.SliInner":"Microsoft.Monitor.Sli","com.azure.resourcemanager.monitor.slis.implementation.SlisManagementClientBuilder":"Microsoft.Monitor","com.azure.resourcemanager.monitor.slis.implementation.models.SliListResult":"Azure.ResourceManager.ResourceListResult","com.azure.resourcemanager.monitor.slis.models.AmwAccount":"Microsoft.Monitor.AmwAccount","com.azure.resourcemanager.monitor.slis.models.Baseline":"Microsoft.Monitor.Baseline","com.azure.resourcemanager.monitor.slis.models.BaselineProperties":"Microsoft.Monitor.BaselineProperties","com.azure.resourcemanager.monitor.slis.models.Category":"Microsoft.Monitor.Category","com.azure.resourcemanager.monitor.slis.models.Condition":"Microsoft.Monitor.Condition","com.azure.resourcemanager.monitor.slis.models.ConditionOperator":"Microsoft.Monitor.ConditionOperator","com.azure.resourcemanager.monitor.slis.models.EvaluationCalculationType":"Microsoft.Monitor.EvaluationCalculationType","com.azure.resourcemanager.monitor.slis.models.EvaluationType":"Microsoft.Monitor.EvaluationType","com.azure.resourcemanager.monitor.slis.models.ExecutionState":"Microsoft.Monitor.ExecutionState","com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentity":"Azure.ResourceManager.CommonTypes.ManagedServiceIdentity","com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentityType":"Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType","com.azure.resourcemanager.monitor.slis.models.Metric":"Microsoft.Monitor.Metric","com.azure.resourcemanager.monitor.slis.models.ProvisioningState":"Microsoft.Monitor.ProvisioningState","com.azure.resourcemanager.monitor.slis.models.SamplingType":"Microsoft.Monitor.SamplingType","com.azure.resourcemanager.monitor.slis.models.ScalarFunction":"Microsoft.Monitor.ScalarFunction","com.azure.resourcemanager.monitor.slis.models.Signal":"Microsoft.Monitor.Signal","com.azure.resourcemanager.monitor.slis.models.SignalSource":"Microsoft.Monitor.SignalSource","com.azure.resourcemanager.monitor.slis.models.SliProperties":"Microsoft.Monitor.SliProperties","com.azure.resourcemanager.monitor.slis.models.SliResource":"Microsoft.Monitor.SliResource","com.azure.resourcemanager.monitor.slis.models.SpatialAggregation":"Microsoft.Monitor.SpatialAggregation","com.azure.resourcemanager.monitor.slis.models.SpatialAggregationType":"Microsoft.Monitor.SpatialAggregationType","com.azure.resourcemanager.monitor.slis.models.TemporalAggregation":"Microsoft.Monitor.TemporalAggregation","com.azure.resourcemanager.monitor.slis.models.TemporalAggregationType":"Microsoft.Monitor.TemporalAggregationType","com.azure.resourcemanager.monitor.slis.models.UserAssignedIdentity":"Azure.ResourceManager.CommonTypes.UserAssignedIdentity","com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteria":"Microsoft.Monitor.WindowUptimeCriteria","com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteriaComparator":"Microsoft.Monitor.WindowUptimeCriteriaComparator"},"generatedFiles":["src/main/java/com/azure/resourcemanager/monitor/slis/SlisManager.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/SlisClient.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/SlisManagementClient.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/models/SliInner.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/models/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/fluent/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/ResourceManagerUtils.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SliImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisClientImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisManagementClientBuilder.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/SlisManagementClientImpl.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/models/SliListResult.java","src/main/java/com/azure/resourcemanager/monitor/slis/implementation/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/AmwAccount.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Baseline.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/BaselineProperties.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Category.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/EvaluationCalculationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/EvaluationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ExecutionState.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ManagedServiceIdentity.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ManagedServiceIdentityType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Metric.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ProvisioningState.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SamplingType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/ScalarFunction.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Signal.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SignalSource.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Sli.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SliProperties.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SliResource.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/Slis.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SpatialAggregation.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/SpatialAggregationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/TemporalAggregation.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/TemporalAggregationType.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/UserAssignedIdentity.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteria.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/WindowUptimeCriteriaComparator.java","src/main/java/com/azure/resourcemanager/monitor/slis/models/package-info.java","src/main/java/com/azure/resourcemanager/monitor/slis/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/ConditionTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/ConditionTests.java index 57a17e5ab01cf..7f2d2f297eff4 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/ConditionTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/ConditionTests.java @@ -15,11 +15,11 @@ public final class ConditionTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { Condition model = BinaryData.fromString( - "{\"dimensionName\":\"fssxqukkfplg\",\"scalarFunction\":\"sum\",\"samplingType\":\"sum\",\"operator\":\"!startswith\",\"value\":\"jzkdeslpvlopwi\"}") + "{\"dimensionName\":\"fssxqukkfplg\",\"scalarFunction\":\"sum\",\"samplingType\":\"Min\",\"operator\":\"notstartswith\",\"value\":\"jzkdeslpvlopwi\"}") .toObject(Condition.class); Assertions.assertEquals("fssxqukkfplg", model.dimensionName()); Assertions.assertEquals(ScalarFunction.SUM, model.scalarFunction()); - Assertions.assertEquals(SamplingType.SUM, model.samplingType()); + Assertions.assertEquals(SamplingType.MIN, model.samplingType()); Assertions.assertEquals(ConditionOperator.NOT_STARTS_WITH, model.operator()); Assertions.assertEquals("jzkdeslpvlopwi", model.value()); } @@ -28,13 +28,13 @@ public void testDeserialize() throws Exception { public void testSerialize() throws Exception { Condition model = new Condition().withDimensionName("fssxqukkfplg") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.SUM) + .withSamplingType(SamplingType.MIN) .withOperator(ConditionOperator.NOT_STARTS_WITH) .withValue("jzkdeslpvlopwi"); model = BinaryData.fromObject(model).toObject(Condition.class); Assertions.assertEquals("fssxqukkfplg", model.dimensionName()); Assertions.assertEquals(ScalarFunction.SUM, model.scalarFunction()); - Assertions.assertEquals(SamplingType.SUM, model.samplingType()); + Assertions.assertEquals(SamplingType.MIN, model.samplingType()); Assertions.assertEquals(ConditionOperator.NOT_STARTS_WITH, model.operator()); Assertions.assertEquals("jzkdeslpvlopwi", model.value()); } diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalSourceTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalSourceTests.java index ba53ada720452..cc8e81484801d 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalSourceTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalSourceTests.java @@ -21,7 +21,7 @@ public final class SignalSourceTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { SignalSource model = BinaryData.fromString( - "{\"signalSourceId\":\"bxu\",\"sourceAmwAccountManagedIdentity\":\"wbhqwal\",\"sourceAmwAccountResourceId\":\"uzyoxaep\",\"metricNamespace\":\"kzjancuxrhdwbav\",\"metricName\":\"bniwdj\",\"filters\":[{\"dimensionName\":\"tsdbpgn\",\"scalarFunction\":\"max\",\"samplingType\":\"avg\",\"operator\":\"!in\",\"value\":\"zxbzpfzabglc\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"wtctyqi\",\"lbbovplw\",\"bhvgy\",\"gu\"]},\"temporalAggregation\":{\"type\":\"Delta\",\"windowSizeMinutes\":1732351990}}") + "{\"signalSourceId\":\"bxu\",\"sourceAmwAccountManagedIdentity\":\"wbhqwal\",\"sourceAmwAccountResourceId\":\"uzyoxaep\",\"metricNamespace\":\"kzjancuxrhdwbav\",\"metricName\":\"bniwdj\",\"filters\":[{\"dimensionName\":\"tsdbpgn\",\"scalarFunction\":\"max\",\"samplingType\":\"Average\",\"operator\":\"notin\",\"value\":\"zxbzpfzabglc\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"wtctyqi\",\"lbbovplw\",\"bhvgy\",\"gu\"]},\"temporalAggregation\":{\"type\":\"Delta\",\"windowSizeMinutes\":1732351990}}") .toObject(SignalSource.class); Assertions.assertEquals("bxu", model.signalSourceId()); Assertions.assertEquals("wbhqwal", model.sourceAmwAccountManagedIdentity()); @@ -30,7 +30,7 @@ public void testDeserialize() throws Exception { Assertions.assertEquals("bniwdj", model.metricName()); Assertions.assertEquals("tsdbpgn", model.filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MAX, model.filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, model.filters().get(0).samplingType()); + Assertions.assertEquals(SamplingType.AVERAGE, model.filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_IN, model.filters().get(0).operator()); Assertions.assertEquals("zxbzpfzabglc", model.filters().get(0).value()); Assertions.assertEquals(SpatialAggregationType.AVERAGE, model.spatialAggregation().type()); @@ -48,7 +48,7 @@ public void testSerialize() throws Exception { .withMetricName("bniwdj") .withFilters(Arrays.asList(new Condition().withDimensionName("tsdbpgn") .withScalarFunction(ScalarFunction.MAX) - .withSamplingType(SamplingType.AVG) + .withSamplingType(SamplingType.AVERAGE) .withOperator(ConditionOperator.NOT_IN) .withValue("zxbzpfzabglc"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.AVERAGE) @@ -63,7 +63,7 @@ public void testSerialize() throws Exception { Assertions.assertEquals("bniwdj", model.metricName()); Assertions.assertEquals("tsdbpgn", model.filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MAX, model.filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, model.filters().get(0).samplingType()); + Assertions.assertEquals(SamplingType.AVERAGE, model.filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_IN, model.filters().get(0).operator()); Assertions.assertEquals("zxbzpfzabglc", model.filters().get(0).value()); Assertions.assertEquals(SpatialAggregationType.AVERAGE, model.spatialAggregation().type()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalTests.java index 4f768ffca48a7..b9194461d4dcb 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SignalTests.java @@ -22,7 +22,7 @@ public final class SignalTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { Signal model = BinaryData.fromString( - "{\"signalSources\":[{\"signalSourceId\":\"jhtxfvgxbfsmxne\",\"sourceAmwAccountManagedIdentity\":\"mpvecxgodebfqk\",\"sourceAmwAccountResourceId\":\"rbmpukgri\",\"metricNamespace\":\"flz\",\"metricName\":\"fbxzpuzycisp\",\"filters\":[{\"dimensionName\":\"ahmgkbrp\",\"scalarFunction\":\"min\",\"samplingType\":\"avg\",\"operator\":\"startswith\",\"value\":\"nuqqkpikadrgvt\"},{\"dimensionName\":\"gnbuy\",\"scalarFunction\":\"avg\",\"samplingType\":\"max\",\"operator\":\"contains\",\"value\":\"mebf\"},{\"dimensionName\":\"arbu\",\"scalarFunction\":\"sum\",\"samplingType\":\"min\",\"operator\":\"!contains\",\"value\":\"azzmhjrunmpxt\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[\"hrbnlankxmyskpbh\"]},\"temporalAggregation\":{\"type\":\"Sum\",\"windowSizeMinutes\":1326044907}},{\"signalSourceId\":\"kcxywnyt\",\"sourceAmwAccountManagedIdentity\":\"rsyn\",\"sourceAmwAccountResourceId\":\"qidybyx\",\"metricNamespace\":\"zfcl\",\"metricName\":\"aaxdbabphlwrq\",\"filters\":[{\"dimensionName\":\"tsthsucocm\",\"scalarFunction\":\"sum\",\"samplingType\":\"max\",\"operator\":\"!=\",\"value\":\"t\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"wrqpue\"]},\"temporalAggregation\":{\"type\":\"Max\",\"windowSizeMinutes\":1618897040}}],\"signalFormula\":\"ywbiexzfeyueax\"}") + "{\"signalSources\":[{\"signalSourceId\":\"jhtxfvgxbfsmxne\",\"sourceAmwAccountManagedIdentity\":\"mpvecxgodebfqk\",\"sourceAmwAccountResourceId\":\"rbmpukgri\",\"metricNamespace\":\"flz\",\"metricName\":\"fbxzpuzycisp\",\"filters\":[{\"dimensionName\":\"ahmgkbrp\",\"scalarFunction\":\"min\",\"samplingType\":\"Count\",\"operator\":\"startswith\",\"value\":\"nuqqkpikadrgvt\"},{\"dimensionName\":\"gnbuy\",\"scalarFunction\":\"avg\",\"samplingType\":\"Count\",\"operator\":\"contains\",\"value\":\"mebf\"},{\"dimensionName\":\"arbu\",\"scalarFunction\":\"sum\",\"samplingType\":\"Min\",\"operator\":\"notcontains\",\"value\":\"azzmhjrunmpxt\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[\"hrbnlankxmyskpbh\"]},\"temporalAggregation\":{\"type\":\"Sum\",\"windowSizeMinutes\":1326044907}},{\"signalSourceId\":\"kcxywnyt\",\"sourceAmwAccountManagedIdentity\":\"rsyn\",\"sourceAmwAccountResourceId\":\"qidybyx\",\"metricNamespace\":\"zfcl\",\"metricName\":\"aaxdbabphlwrq\",\"filters\":[{\"dimensionName\":\"tsthsucocm\",\"scalarFunction\":\"sum\",\"samplingType\":\"Average\",\"operator\":\"ne\",\"value\":\"t\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"wrqpue\"]},\"temporalAggregation\":{\"type\":\"Max\",\"windowSizeMinutes\":1618897040}}],\"signalFormula\":\"ywbiexzfeyueax\"}") .toObject(Signal.class); Assertions.assertEquals("jhtxfvgxbfsmxne", model.signalSources().get(0).signalSourceId()); Assertions.assertEquals("mpvecxgodebfqk", model.signalSources().get(0).sourceAmwAccountManagedIdentity()); @@ -31,7 +31,7 @@ public void testDeserialize() throws Exception { Assertions.assertEquals("fbxzpuzycisp", model.signalSources().get(0).metricName()); Assertions.assertEquals("ahmgkbrp", model.signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MIN, model.signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, model.signalSources().get(0).filters().get(0).samplingType()); + Assertions.assertEquals(SamplingType.COUNT, model.signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.STARTS_WITH, model.signalSources().get(0).filters().get(0).operator()); Assertions.assertEquals("nuqqkpikadrgvt", model.signalSources().get(0).filters().get(0).value()); @@ -54,12 +54,12 @@ public void testSerialize() throws Exception { .withFilters(Arrays.asList( new Condition().withDimensionName("ahmgkbrp") .withScalarFunction(ScalarFunction.MIN) - .withSamplingType(SamplingType.AVG) + .withSamplingType(SamplingType.COUNT) .withOperator(ConditionOperator.STARTS_WITH) .withValue("nuqqkpikadrgvt"), new Condition().withDimensionName("gnbuy") .withScalarFunction(ScalarFunction.AVG) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.COUNT) .withOperator(ConditionOperator.CONTAINS) .withValue("mebf"), new Condition().withDimensionName("arbu") @@ -78,7 +78,7 @@ public void testSerialize() throws Exception { .withMetricName("aaxdbabphlwrq") .withFilters(Arrays.asList(new Condition().withDimensionName("tsthsucocm") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.AVERAGE) .withOperator(ConditionOperator.NOT_EQUAL) .withValue("t"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.COUNT) @@ -94,7 +94,7 @@ public void testSerialize() throws Exception { Assertions.assertEquals("fbxzpuzycisp", model.signalSources().get(0).metricName()); Assertions.assertEquals("ahmgkbrp", model.signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MIN, model.signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, model.signalSources().get(0).filters().get(0).samplingType()); + Assertions.assertEquals(SamplingType.COUNT, model.signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.STARTS_WITH, model.signalSources().get(0).filters().get(0).operator()); Assertions.assertEquals("nuqqkpikadrgvt", model.signalSources().get(0).filters().get(0).value()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliInnerTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliInnerTests.java index 77e756bd31114..b8b33f523419c 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliInnerTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliInnerTests.java @@ -36,7 +36,7 @@ public final class SliInnerTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { SliInner model = BinaryData.fromString( - "{\"properties\":{\"provisioningState\":\"Succeeded\",\"description\":\"quvgjxpybczme\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"opb\",\"message\":\"h\"},\"destinationAmwAccounts\":[{\"resourceId\":\"pidgsybbejhphoyc\",\"identity\":\"sx\"}],\"destinationMetrics\":[{\"metricNamespace\":\"hdxbmtqio\",\"metricName\":\"jzehtb\"},{\"metricNamespace\":\"ufpo\",\"metricName\":\"noi\"}],\"baselineProperties\":{\"baseline\":{\"value\":28.301840077728546,\"evaluationPeriodDays\":4771592,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"ybqsoqijg\",\"streamingRuleLastUpdatedTimestamp\":\"2021-10-01T09:23:29Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"zlobcufpd\",\"sourceAmwAccountManagedIdentity\":\"nrbtcqqjnq\",\"sourceAmwAccountResourceId\":\"lhqgnufooojy\",\"metricNamespace\":\"ifsqesaagdfmg\",\"metricName\":\"zlhjxrifkwmrvkt\",\"filters\":[{\"operator\":\"<\",\"value\":\"nt\"},{\"operator\":\"==\",\"value\":\"ipa\"},{\"operator\":\"startswith\",\"value\":\"ajpsquc\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"yf\",\"sourceAmwAccountManagedIdentity\":\"kfo\",\"sourceAmwAccountResourceId\":\"knygjofjddeq\",\"metricNamespace\":\"rd\",\"metricName\":\"upewnwreitjzy\",\"filters\":[{\"operator\":\"!contains\",\"value\":\"sarhmofc\"},{\"operator\":\">\",\"value\":\"smy\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"dtmlxhekuksjt\",\"sourceAmwAccountManagedIdentity\":\"ukcdmparcryuanzw\",\"sourceAmwAccountResourceId\":\"xzdxtayrlhmwh\",\"metricNamespace\":\"pmrqobm\",\"metricName\":\"u\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"ryrtihfxtijbpzv\"},{\"operator\":\">\",\"value\":\"wzsymglzufcy\"},{\"operator\":\"!startswith\",\"value\":\"ohdbihanufh\"},{\"operator\":\"!contains\",\"value\":\"bj\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"git\",\"sourceAmwAccountManagedIdentity\":\"xqhabi\",\"sourceAmwAccountResourceId\":\"pikxwczbyscnpqxu\",\"metricNamespace\":\"ivyqniwbybrkxvd\",\"metricName\":\"mjgr\",\"filters\":[{\"operator\":\"!in\",\"value\":\"vukxgau\"},{\"operator\":\"!in\",\"value\":\"cs\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"jcny\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"kryhtnapczwlokj\",\"sourceAmwAccountManagedIdentity\":\"emkkvnipjox\",\"sourceAmwAccountResourceId\":\"jnchgej\",\"metricNamespace\":\"podmailzydehojwy\",\"metricName\":\"huxinpmqnj\",\"filters\":[{\"operator\":\"@in\",\"value\":\"ixjsprozvcputeg\"},{\"operator\":\"!=\",\"value\":\"wmfdatscmdvpjhul\"},{\"operator\":\"<\",\"value\":\"uvm\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"zkrwfn\",\"sourceAmwAccountManagedIdentity\":\"iodjp\",\"sourceAmwAccountResourceId\":\"lwejdpv\",\"metricNamespace\":\"ryo\",\"metricName\":\"psoacctazakljl\",\"filters\":[{\"operator\":\"!=\",\"value\":\"cr\"},{\"operator\":\"==\",\"value\":\"fdfdosygexpa\"},{\"operator\":\"startswith\",\"value\":\"akhmsbzjhcrz\"},{\"operator\":\">\",\"value\":\"dphlxaolt\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}}],\"signalFormula\":\"rgqjbpfzfsinzg\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"jrwzox\",\"sourceAmwAccountManagedIdentity\":\"j\",\"sourceAmwAccountResourceId\":\"felluwfzitonpe\",\"metricNamespace\":\"fpjkjlxofp\",\"metricName\":\"vhpfxxypininmay\",\"filters\":[{\"operator\":\">\",\"value\":\"bbkpodep\"},{\"operator\":\">\",\"value\":\"ginuvamih\"},{\"operator\":\"contains\",\"value\":\"gnarxzxtheo\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"ivyevcciqihnhun\",\"sourceAmwAccountManagedIdentity\":\"bwjzr\",\"sourceAmwAccountResourceId\":\"fygxgispemvtzfk\",\"metricNamespace\":\"fublj\",\"metricName\":\"fxqeof\",\"filters\":[{\"operator\":\">\",\"value\":\"qjhqjbas\"},{\"operator\":\"!in\",\"value\":\"smjqulngsntnbyb\"},{\"operator\":\"contains\",\"value\":\"gc\"},{\"operator\":\"contains\",\"value\":\"wclxxwrl\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"uskcqvkocrcj\",\"sourceAmwAccountManagedIdentity\":\"kwt\",\"sourceAmwAccountResourceId\":\"hxbnjbiksqrg\",\"metricNamespace\":\"ssainqpjwnzll\",\"metricName\":\"fmppe\",\"filters\":[{\"operator\":\"!in\",\"value\":\"mgxsab\"},{\"operator\":\"<\",\"value\":\"qduujitcjczdz\"},{\"operator\":\"@in\",\"value\":\"ndhkrw\"},{\"operator\":\"<=\",\"value\":\"appd\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"kvwrwjfeu\",\"sourceAmwAccountManagedIdentity\":\"nhutjeltmrldhugj\",\"sourceAmwAccountResourceId\":\"zdatqxhocdg\",\"metricNamespace\":\"ablgphuticndvk\",\"metricName\":\"ozwyiftyhxhuro\",\"filters\":[{\"operator\":\"!startswith\",\"value\":\"yxolniwp\"},{\"operator\":\"==\",\"value\":\"ukjfkgiawxklr\"},{\"operator\":\"@in\",\"value\":\"lwckbasyypnddhs\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"acphejkoty\"},\"windowUptimeCriteria\":{\"target\":17.641552819912953,\"comparator\":\"<=\"}}},\"identity\":{\"principalId\":\"ndlik\",\"tenantId\":\"qkgfgibma\",\"type\":\"SystemAssigned\",\"userAssignedIdentities\":{\"kzsmodm\":{\"principalId\":\"qsrxybzqqed\",\"clientId\":\"tbciqfouflmm\"},\"umkdosvqwhbmd\":{\"principalId\":\"ougpbkwt\",\"clientId\":\"tduqktapspwgcuer\"},\"q\":{\"principalId\":\"bjf\",\"clientId\":\"gmbmbexppbh\"},\"igjyjg\":{\"principalId\":\"ol\",\"clientId\":\"fpsalgbqu\"}}},\"id\":\"aoyfhrtxilnerkuj\",\"name\":\"s\",\"type\":\"l\"}") + "{\"properties\":{\"provisioningState\":\"Succeeded\",\"description\":\"quvgjxpybczme\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"opb\",\"message\":\"h\"},\"destinationAmwAccounts\":[{\"resourceId\":\"pidgsybbejhphoyc\",\"identity\":\"sx\"}],\"destinationMetrics\":[{\"metricNamespace\":\"hdxbmtqio\",\"metricName\":\"jzehtb\"},{\"metricNamespace\":\"ufpo\",\"metricName\":\"noi\"}],\"baselineProperties\":{\"baseline\":{\"value\":28.301840077728546,\"evaluationPeriodDays\":4771592,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"ybqsoqijg\",\"streamingRuleLastUpdatedTimestamp\":\"2021-10-01T09:23:29Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"zlobcufpd\",\"sourceAmwAccountManagedIdentity\":\"nrbtcqqjnq\",\"sourceAmwAccountResourceId\":\"lhqgnufooojy\",\"metricNamespace\":\"ifsqesaagdfmg\",\"metricName\":\"zlhjxrifkwmrvkt\",\"filters\":[{\"operator\":\"lt\",\"value\":\"nt\"},{\"operator\":\"eq\",\"value\":\"ipa\"},{\"operator\":\"startswith\",\"value\":\"ajpsquc\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"yf\",\"sourceAmwAccountManagedIdentity\":\"kfo\",\"sourceAmwAccountResourceId\":\"knygjofjddeq\",\"metricNamespace\":\"rd\",\"metricName\":\"upewnwreitjzy\",\"filters\":[{\"operator\":\"notcontains\",\"value\":\"sarhmofc\"},{\"operator\":\"gt\",\"value\":\"smy\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"dtmlxhekuksjt\",\"sourceAmwAccountManagedIdentity\":\"ukcdmparcryuanzw\",\"sourceAmwAccountResourceId\":\"xzdxtayrlhmwh\",\"metricNamespace\":\"pmrqobm\",\"metricName\":\"u\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"ryrtihfxtijbpzv\"},{\"operator\":\"gt\",\"value\":\"wzsymglzufcy\"},{\"operator\":\"notstartswith\",\"value\":\"ohdbihanufh\"},{\"operator\":\"notcontains\",\"value\":\"bj\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"git\",\"sourceAmwAccountManagedIdentity\":\"xqhabi\",\"sourceAmwAccountResourceId\":\"pikxwczbyscnpqxu\",\"metricNamespace\":\"ivyqniwbybrkxvd\",\"metricName\":\"mjgr\",\"filters\":[{\"operator\":\"notin\",\"value\":\"vukxgau\"},{\"operator\":\"notin\",\"value\":\"cs\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"jcny\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"kryhtnapczwlokj\",\"sourceAmwAccountManagedIdentity\":\"emkkvnipjox\",\"sourceAmwAccountResourceId\":\"jnchgej\",\"metricNamespace\":\"podmailzydehojwy\",\"metricName\":\"huxinpmqnj\",\"filters\":[{\"operator\":\"in\",\"value\":\"ixjsprozvcputeg\"},{\"operator\":\"ne\",\"value\":\"wmfdatscmdvpjhul\"},{\"operator\":\"lt\",\"value\":\"uvm\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"zkrwfn\",\"sourceAmwAccountManagedIdentity\":\"iodjp\",\"sourceAmwAccountResourceId\":\"lwejdpv\",\"metricNamespace\":\"ryo\",\"metricName\":\"psoacctazakljl\",\"filters\":[{\"operator\":\"ne\",\"value\":\"cr\"},{\"operator\":\"eq\",\"value\":\"fdfdosygexpa\"},{\"operator\":\"startswith\",\"value\":\"akhmsbzjhcrz\"},{\"operator\":\"gt\",\"value\":\"dphlxaolt\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}}],\"signalFormula\":\"rgqjbpfzfsinzg\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"jrwzox\",\"sourceAmwAccountManagedIdentity\":\"j\",\"sourceAmwAccountResourceId\":\"felluwfzitonpe\",\"metricNamespace\":\"fpjkjlxofp\",\"metricName\":\"vhpfxxypininmay\",\"filters\":[{\"operator\":\"gt\",\"value\":\"bbkpodep\"},{\"operator\":\"gt\",\"value\":\"ginuvamih\"},{\"operator\":\"contains\",\"value\":\"gnarxzxtheo\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"ivyevcciqihnhun\",\"sourceAmwAccountManagedIdentity\":\"bwjzr\",\"sourceAmwAccountResourceId\":\"fygxgispemvtzfk\",\"metricNamespace\":\"fublj\",\"metricName\":\"fxqeof\",\"filters\":[{\"operator\":\"gt\",\"value\":\"qjhqjbas\"},{\"operator\":\"notin\",\"value\":\"smjqulngsntnbyb\"},{\"operator\":\"contains\",\"value\":\"gc\"},{\"operator\":\"contains\",\"value\":\"wclxxwrl\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"uskcqvkocrcj\",\"sourceAmwAccountManagedIdentity\":\"kwt\",\"sourceAmwAccountResourceId\":\"hxbnjbiksqrg\",\"metricNamespace\":\"ssainqpjwnzll\",\"metricName\":\"fmppe\",\"filters\":[{\"operator\":\"notin\",\"value\":\"mgxsab\"},{\"operator\":\"lt\",\"value\":\"qduujitcjczdz\"},{\"operator\":\"in\",\"value\":\"ndhkrw\"},{\"operator\":\"lte\",\"value\":\"appd\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"kvwrwjfeu\",\"sourceAmwAccountManagedIdentity\":\"nhutjeltmrldhugj\",\"sourceAmwAccountResourceId\":\"zdatqxhocdg\",\"metricNamespace\":\"ablgphuticndvk\",\"metricName\":\"ozwyiftyhxhuro\",\"filters\":[{\"operator\":\"notstartswith\",\"value\":\"yxolniwp\"},{\"operator\":\"eq\",\"value\":\"ukjfkgiawxklr\"},{\"operator\":\"in\",\"value\":\"lwckbasyypnddhs\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"acphejkoty\"},\"windowUptimeCriteria\":{\"target\":17.641552819912953,\"comparator\":\"lte\"}}},\"identity\":{\"principalId\":\"ndlik\",\"tenantId\":\"qkgfgibma\",\"type\":\"SystemAssigned\",\"userAssignedIdentities\":{\"kzsmodm\":{\"principalId\":\"qsrxybzqqed\",\"clientId\":\"tbciqfouflmm\"},\"umkdosvqwhbmd\":{\"principalId\":\"ougpbkwt\",\"clientId\":\"tduqktapspwgcuer\"},\"q\":{\"principalId\":\"bjf\",\"clientId\":\"gmbmbexppbh\"},\"igjyjg\":{\"principalId\":\"ol\",\"clientId\":\"fpsalgbqu\"}}},\"id\":\"aoyfhrtxilnerkuj\",\"name\":\"s\",\"type\":\"l\"}") .toObject(SliInner.class); Assertions.assertEquals("quvgjxpybczme", model.properties().description()); Assertions.assertEquals(Category.AVAILABILITY, model.properties().category()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliListResultTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliListResultTests.java index a01ad30e0e618..ef8ac00dd0898 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliListResultTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliListResultTests.java @@ -19,7 +19,7 @@ public final class SliListResultTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { SliListResult model = BinaryData.fromString( - "{\"value\":[{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"rmclfplphoxu\",\"category\":\"Availability\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"abgy\",\"message\":\"sbj\"},\"destinationAmwAccounts\":[{\"resourceId\":\"zq\",\"identity\":\"gxywpmue\"},{\"resourceId\":\"fjz\",\"identity\":\"fqkquj\"},{\"resourceId\":\"dsuyonobgla\",\"identity\":\"cq\"},{\"resourceId\":\"tcc\",\"identity\":\"g\"}],\"destinationMetrics\":[{\"metricNamespace\":\"xy\",\"metricName\":\"lmoyrx\"}],\"baselineProperties\":{\"baseline\":{\"value\":91.75911917706165,\"evaluationPeriodDays\":76468143,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"pz\",\"streamingRuleLastUpdatedTimestamp\":\"2021-05-21T05:23:51Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"hl\",\"sourceAmwAccountManagedIdentity\":\"qj\",\"sourceAmwAccountResourceId\":\"hckfrlhrx\",\"metricNamespace\":\"bkyvp\",\"metricName\":\"ca\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"bpzkafkuwbc\",\"sourceAmwAccountManagedIdentity\":\"nwbmeh\",\"sourceAmwAccountResourceId\":\"seyvj\",\"metricNamespace\":\"srtslhspkdeem\",\"metricName\":\"ofmxagkvtmelmqkr\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"vljua\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"uhcdhm\",\"sourceAmwAccountManagedIdentity\":\"ualaexqpvfadmw\",\"sourceAmwAccountResourceId\":\"rcrgvx\",\"metricNamespace\":\"vgomz\",\"metricName\":\"fmisg\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"b\",\"sourceAmwAccountManagedIdentity\":\"e\",\"sourceAmwAccountResourceId\":\"dawkzbali\",\"metricNamespace\":\"urqhaka\",\"metricName\":\"hashsfwxosow\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}},{\"signalSourceId\":\"ugicjooxdjebw\",\"sourceAmwAccountManagedIdentity\":\"ucww\",\"sourceAmwAccountResourceId\":\"vo\",\"metricNamespace\":\"bvmeuecivy\",\"metricName\":\"zceuojgjrw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}}],\"signalFormula\":\"iotwmcdytdxwit\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"jawgqwg\",\"sourceAmwAccountManagedIdentity\":\"hniskxfbkpyc\",\"sourceAmwAccountResourceId\":\"klwndnhjdauwhv\",\"metricNamespace\":\"l\",\"metricName\":\"zbtd\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"jznb\"},\"windowUptimeCriteria\":{\"target\":6.623657803570204,\"comparator\":\">\"}}},\"identity\":{\"principalId\":\"rzqlveu\",\"tenantId\":\"upjm\",\"type\":\"SystemAssigned,UserAssigned\",\"userAssignedIdentities\":{\"xzvlvqhjkbegib\":{\"principalId\":\"bbcswsrtjri\",\"clientId\":\"rbpbewtghfgblcg\"},\"tzjuzgwyzmhtxo\":{\"principalId\":\"mxiebw\",\"clientId\":\"loayqcgw\"},\"rwmdyvxqtay\":{\"principalId\":\"mtsavjcbpwxqp\",\"clientId\":\"knftguvriuh\"}}},\"id\":\"ww\",\"name\":\"oyq\",\"type\":\"exrmcqibycnojvk\"},{\"properties\":{\"provisioningState\":\"Succeeded\",\"description\":\"qsgzvahapj\",\"category\":\"Latency\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"vgqzcjrvxd\",\"message\":\"lmwlxkvugfhzo\"},\"destinationAmwAccounts\":[{\"resourceId\":\"wjvzunluthnn\",\"identity\":\"rnxipei\"},{\"resourceId\":\"pjzu\",\"identity\":\"e\"},{\"resourceId\":\"xdult\",\"identity\":\"kzbbtd\"},{\"resourceId\":\"umveekgpwozuhkf\",\"identity\":\"bsjyofdx\"}],\"destinationMetrics\":[{\"metricNamespace\":\"sd\",\"metricName\":\"touwaboekqv\"}],\"baselineProperties\":{\"baseline\":{\"value\":52.428353050864814,\"evaluationPeriodDays\":109250802,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"vbxwyjsflhh\",\"streamingRuleLastUpdatedTimestamp\":\"2020-12-20T13:53:44Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"ixisxyawjoy\",\"sourceAmwAccountManagedIdentity\":\"qcslyjpkiid\",\"sourceAmwAccountResourceId\":\"yexz\",\"metricNamespace\":\"eli\",\"metricName\":\"hnrztfol\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"xknalaulppg\",\"sourceAmwAccountManagedIdentity\":\"dtpnapnyiropuhp\",\"sourceAmwAccountResourceId\":\"gvpgy\",\"metricNamespace\":\"gqgitxmedjvcsl\",\"metricName\":\"n\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"ncw\",\"sourceAmwAccountManagedIdentity\":\"zhxgktrmgucn\",\"sourceAmwAccountResourceId\":\"pkteo\",\"metricNamespace\":\"llwptfdy\",\"metricName\":\"pfqbuaceopzf\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}},{\"signalSourceId\":\"huaoppp\",\"sourceAmwAccountManagedIdentity\":\"qeqxo\",\"sourceAmwAccountResourceId\":\"z\",\"metricNamespace\":\"ahzxctobgbk\",\"metricName\":\"moizpos\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"rcfbunrm\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"hhkxbp\",\"sourceAmwAccountManagedIdentity\":\"jy\",\"sourceAmwAccountResourceId\":\"jhxxjyn\",\"metricNamespace\":\"u\",\"metricName\":\"ivkrtsw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}},{\"signalSourceId\":\"zvszj\",\"sourceAmwAccountManagedIdentity\":\"auvjfdxxivet\",\"sourceAmwAccountResourceId\":\"t\",\"metricNamespace\":\"qaqtdoqmcbxvwvxy\",\"metricName\":\"lqbhsf\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"lyt\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"mpew\",\"sourceAmwAccountManagedIdentity\":\"wfbkrvrns\",\"sourceAmwAccountResourceId\":\"shqjohxcrsbf\",\"metricNamespace\":\"vasrruvwb\",\"metricName\":\"sqfsubcgjbirxb\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"srfbjfdtwss\",\"sourceAmwAccountManagedIdentity\":\"t\",\"sourceAmwAccountResourceId\":\"tpvjzbexilzznfqq\",\"metricNamespace\":\"vwpm\",\"metricName\":\"taruoujmkcj\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"ytjrybnwjewgdr\",\"sourceAmwAccountManagedIdentity\":\"ervnaenqpehi\",\"sourceAmwAccountResourceId\":\"doy\",\"metricNamespace\":\"mifthnzdnd\",\"metricName\":\"l\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"yq\"},\"windowUptimeCriteria\":{\"target\":36.90142308535591,\"comparator\":\"<=\"}}},\"identity\":{\"principalId\":\"avhqlkth\",\"tenantId\":\"aqolbgycduiertg\",\"type\":\"None\",\"userAssignedIdentities\":{\"lzpswiydm\":{\"principalId\":\"aolps\",\"clientId\":\"qlfmmdnbb\"},\"dbzm\":{\"principalId\":\"yhz\",\"clientId\":\"ss\"}}},\"id\":\"dfznudaodv\",\"name\":\"zbn\",\"type\":\"blylpstdbh\"},{\"properties\":{\"provisioningState\":\"Canceled\",\"description\":\"zdzucerscdntnevf\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"ygtdsslswt\",\"message\":\"eriofzpyqs\"},\"destinationAmwAccounts\":[{\"resourceId\":\"wab\",\"identity\":\"ets\"},{\"resourceId\":\"hszhedplvwiwu\",\"identity\":\"mwmbes\"},{\"resourceId\":\"dnkwwtppjflcxog\",\"identity\":\"okonzmnsikvmkqz\"},{\"resourceId\":\"qqkdltfzxmhhvhgu\",\"identity\":\"eodkwobda\"}],\"destinationMetrics\":[{\"metricNamespace\":\"ibqdxbxwakbogqx\",\"metricName\":\"dlkzgxhuri\"},{\"metricNamespace\":\"lbpodxunk\",\"metricName\":\"ebxmubyynt\"},{\"metricNamespace\":\"lrb\",\"metricName\":\"tkoievseotgq\"}],\"baselineProperties\":{\"baseline\":{\"value\":4.886296094520515,\"evaluationPeriodDays\":407342571,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"wlauwzizxbmpg\",\"streamingRuleLastUpdatedTimestamp\":\"2021-07-24T09:20:41Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"muvp\",\"sourceAmwAccountManagedIdentity\":\"ttdumorppxebmnzb\",\"sourceAmwAccountResourceId\":\"bhjpglkfgohdne\",\"metricNamespace\":\"el\",\"metricName\":\"phsdyhto\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"kd\",\"sourceAmwAccountManagedIdentity\":\"wwquuvxzxclvithh\",\"sourceAmwAccountResourceId\":\"zonosgg\",\"metricNamespace\":\"hcohfwdsjnk\",\"metricName\":\"ljuti\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"acffgdkzzewkfvhq\",\"sourceAmwAccountManagedIdentity\":\"railvpnppfuf\",\"sourceAmwAccountResourceId\":\"rwdmhdlxyjrxsa\",\"metricNamespace\":\"afcnih\",\"metricName\":\"wqapnedgfbcvk\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"vpk\",\"sourceAmwAccountManagedIdentity\":\"qdcvdrhvoo\",\"sourceAmwAccountResourceId\":\"sotbob\",\"metricNamespace\":\"dopcjwvnh\",\"metricName\":\"ld\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}}],\"signalFormula\":\"xcxrsl\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"twuoegrpkhjwni\",\"sourceAmwAccountManagedIdentity\":\"qsluicp\",\"sourceAmwAccountResourceId\":\"ggkzzlvmbmpa\",\"metricNamespace\":\"modfvuefywsbpfvm\",\"metricName\":\"yhrfouyftaakcpw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}}],\"signalFormula\":\"vqtmnub\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"pzk\",\"sourceAmwAccountManagedIdentity\":\"mond\",\"sourceAmwAccountResourceId\":\"mquxvypo\",\"metricNamespace\":\"gkopkwhojvpajqgx\",\"metricName\":\"smocmbq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"mkcxozapvh\",\"sourceAmwAccountManagedIdentity\":\"lxprglyatddckcbc\",\"sourceAmwAccountResourceId\":\"ejrjxgciqibrho\",\"metricNamespace\":\"xsdqrhzoymibmrqy\",\"metricName\":\"bahwfl\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}},{\"signalSourceId\":\"dtmhrkwofyyvoqa\",\"sourceAmwAccountManagedIdentity\":\"piexpbtgiw\",\"sourceAmwAccountResourceId\":\"wo\",\"metricNamespace\":\"nwashrtd\",\"metricName\":\"kcnqxwbpo\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}}],\"signalFormula\":\"pi\"},\"windowUptimeCriteria\":{\"target\":37.028919775226754,\"comparator\":\">\"}}},\"identity\":{\"principalId\":\"pqiiobyuqe\",\"tenantId\":\"qlpqwcciuq\",\"type\":\"UserAssigned\",\"userAssignedIdentities\":{\"mhykojoxafnndl\":{\"principalId\":\"t\",\"clientId\":\"vfbtkuwh\"},\"ovljxywsu\":{\"principalId\":\"chkoymkcdyh\",\"clientId\":\"kkpwdreqnovvq\"}}},\"id\":\"yrs\",\"name\":\"dsytgadgvr\",\"type\":\"ea\"}],\"nextLink\":\"e\"}") + "{\"value\":[{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"rmclfplphoxu\",\"category\":\"Availability\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"abgy\",\"message\":\"sbj\"},\"destinationAmwAccounts\":[{\"resourceId\":\"zq\",\"identity\":\"gxywpmue\"},{\"resourceId\":\"fjz\",\"identity\":\"fqkquj\"},{\"resourceId\":\"dsuyonobgla\",\"identity\":\"cq\"},{\"resourceId\":\"tcc\",\"identity\":\"g\"}],\"destinationMetrics\":[{\"metricNamespace\":\"xy\",\"metricName\":\"lmoyrx\"}],\"baselineProperties\":{\"baseline\":{\"value\":91.75911917706165,\"evaluationPeriodDays\":76468143,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"pz\",\"streamingRuleLastUpdatedTimestamp\":\"2021-05-21T05:23:51Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"hl\",\"sourceAmwAccountManagedIdentity\":\"qj\",\"sourceAmwAccountResourceId\":\"hckfrlhrx\",\"metricNamespace\":\"bkyvp\",\"metricName\":\"ca\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"bpzkafkuwbc\",\"sourceAmwAccountManagedIdentity\":\"nwbmeh\",\"sourceAmwAccountResourceId\":\"seyvj\",\"metricNamespace\":\"srtslhspkdeem\",\"metricName\":\"ofmxagkvtmelmqkr\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"vljua\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"uhcdhm\",\"sourceAmwAccountManagedIdentity\":\"ualaexqpvfadmw\",\"sourceAmwAccountResourceId\":\"rcrgvx\",\"metricNamespace\":\"vgomz\",\"metricName\":\"fmisg\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"b\",\"sourceAmwAccountManagedIdentity\":\"e\",\"sourceAmwAccountResourceId\":\"dawkzbali\",\"metricNamespace\":\"urqhaka\",\"metricName\":\"hashsfwxosow\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}},{\"signalSourceId\":\"ugicjooxdjebw\",\"sourceAmwAccountManagedIdentity\":\"ucww\",\"sourceAmwAccountResourceId\":\"vo\",\"metricNamespace\":\"bvmeuecivy\",\"metricName\":\"zceuojgjrw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}}],\"signalFormula\":\"iotwmcdytdxwit\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"jawgqwg\",\"sourceAmwAccountManagedIdentity\":\"hniskxfbkpyc\",\"sourceAmwAccountResourceId\":\"klwndnhjdauwhv\",\"metricNamespace\":\"l\",\"metricName\":\"zbtd\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"jznb\"},\"windowUptimeCriteria\":{\"target\":6.623657803570204,\"comparator\":\"gt\"}}},\"identity\":{\"principalId\":\"rzqlveu\",\"tenantId\":\"upjm\",\"type\":\"SystemAssigned,UserAssigned\",\"userAssignedIdentities\":{\"xzvlvqhjkbegib\":{\"principalId\":\"bbcswsrtjri\",\"clientId\":\"rbpbewtghfgblcg\"},\"tzjuzgwyzmhtxo\":{\"principalId\":\"mxiebw\",\"clientId\":\"loayqcgw\"},\"rwmdyvxqtay\":{\"principalId\":\"mtsavjcbpwxqp\",\"clientId\":\"knftguvriuh\"}}},\"id\":\"ww\",\"name\":\"oyq\",\"type\":\"exrmcqibycnojvk\"},{\"properties\":{\"provisioningState\":\"Succeeded\",\"description\":\"qsgzvahapj\",\"category\":\"Latency\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"vgqzcjrvxd\",\"message\":\"lmwlxkvugfhzo\"},\"destinationAmwAccounts\":[{\"resourceId\":\"wjvzunluthnn\",\"identity\":\"rnxipei\"},{\"resourceId\":\"pjzu\",\"identity\":\"e\"},{\"resourceId\":\"xdult\",\"identity\":\"kzbbtd\"},{\"resourceId\":\"umveekgpwozuhkf\",\"identity\":\"bsjyofdx\"}],\"destinationMetrics\":[{\"metricNamespace\":\"sd\",\"metricName\":\"touwaboekqv\"}],\"baselineProperties\":{\"baseline\":{\"value\":52.428353050864814,\"evaluationPeriodDays\":109250802,\"evaluationCalculationType\":\"CalendarDays\"}},\"streamingRuleId\":\"vbxwyjsflhh\",\"streamingRuleLastUpdatedTimestamp\":\"2020-12-20T13:53:44Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"ixisxyawjoy\",\"sourceAmwAccountManagedIdentity\":\"qcslyjpkiid\",\"sourceAmwAccountResourceId\":\"yexz\",\"metricNamespace\":\"eli\",\"metricName\":\"hnrztfol\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"xknalaulppg\",\"sourceAmwAccountManagedIdentity\":\"dtpnapnyiropuhp\",\"sourceAmwAccountResourceId\":\"gvpgy\",\"metricNamespace\":\"gqgitxmedjvcsl\",\"metricName\":\"n\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"ncw\",\"sourceAmwAccountManagedIdentity\":\"zhxgktrmgucn\",\"sourceAmwAccountResourceId\":\"pkteo\",\"metricNamespace\":\"llwptfdy\",\"metricName\":\"pfqbuaceopzf\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}},{\"signalSourceId\":\"huaoppp\",\"sourceAmwAccountManagedIdentity\":\"qeqxo\",\"sourceAmwAccountResourceId\":\"z\",\"metricNamespace\":\"ahzxctobgbk\",\"metricName\":\"moizpos\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"rcfbunrm\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"hhkxbp\",\"sourceAmwAccountManagedIdentity\":\"jy\",\"sourceAmwAccountResourceId\":\"jhxxjyn\",\"metricNamespace\":\"u\",\"metricName\":\"ivkrtsw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}},{\"signalSourceId\":\"zvszj\",\"sourceAmwAccountManagedIdentity\":\"auvjfdxxivet\",\"sourceAmwAccountResourceId\":\"t\",\"metricNamespace\":\"qaqtdoqmcbxvwvxy\",\"metricName\":\"lqbhsf\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Max\"}}],\"signalFormula\":\"lyt\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"mpew\",\"sourceAmwAccountManagedIdentity\":\"wfbkrvrns\",\"sourceAmwAccountResourceId\":\"shqjohxcrsbf\",\"metricNamespace\":\"vasrruvwb\",\"metricName\":\"sqfsubcgjbirxb\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IDelta\"}},{\"signalSourceId\":\"srfbjfdtwss\",\"sourceAmwAccountManagedIdentity\":\"t\",\"sourceAmwAccountResourceId\":\"tpvjzbexilzznfqq\",\"metricNamespace\":\"vwpm\",\"metricName\":\"taruoujmkcj\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"ytjrybnwjewgdr\",\"sourceAmwAccountManagedIdentity\":\"ervnaenqpehi\",\"sourceAmwAccountResourceId\":\"doy\",\"metricNamespace\":\"mifthnzdnd\",\"metricName\":\"l\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"yq\"},\"windowUptimeCriteria\":{\"target\":36.90142308535591,\"comparator\":\"lte\"}}},\"identity\":{\"principalId\":\"avhqlkth\",\"tenantId\":\"aqolbgycduiertg\",\"type\":\"None\",\"userAssignedIdentities\":{\"lzpswiydm\":{\"principalId\":\"aolps\",\"clientId\":\"qlfmmdnbb\"},\"dbzm\":{\"principalId\":\"yhz\",\"clientId\":\"ss\"}}},\"id\":\"dfznudaodv\",\"name\":\"zbn\",\"type\":\"blylpstdbh\"},{\"properties\":{\"provisioningState\":\"Canceled\",\"description\":\"zdzucerscdntnevf\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"ygtdsslswt\",\"message\":\"eriofzpyqs\"},\"destinationAmwAccounts\":[{\"resourceId\":\"wab\",\"identity\":\"ets\"},{\"resourceId\":\"hszhedplvwiwu\",\"identity\":\"mwmbes\"},{\"resourceId\":\"dnkwwtppjflcxog\",\"identity\":\"okonzmnsikvmkqz\"},{\"resourceId\":\"qqkdltfzxmhhvhgu\",\"identity\":\"eodkwobda\"}],\"destinationMetrics\":[{\"metricNamespace\":\"ibqdxbxwakbogqx\",\"metricName\":\"dlkzgxhuri\"},{\"metricNamespace\":\"lbpodxunk\",\"metricName\":\"ebxmubyynt\"},{\"metricNamespace\":\"lrb\",\"metricName\":\"tkoievseotgq\"}],\"baselineProperties\":{\"baseline\":{\"value\":4.886296094520515,\"evaluationPeriodDays\":407342571,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"wlauwzizxbmpg\",\"streamingRuleLastUpdatedTimestamp\":\"2021-07-24T09:20:41Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"muvp\",\"sourceAmwAccountManagedIdentity\":\"ttdumorppxebmnzb\",\"sourceAmwAccountResourceId\":\"bhjpglkfgohdne\",\"metricNamespace\":\"el\",\"metricName\":\"phsdyhto\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}},{\"signalSourceId\":\"kd\",\"sourceAmwAccountManagedIdentity\":\"wwquuvxzxclvithh\",\"sourceAmwAccountResourceId\":\"zonosgg\",\"metricNamespace\":\"hcohfwdsjnk\",\"metricName\":\"ljuti\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"acffgdkzzewkfvhq\",\"sourceAmwAccountManagedIdentity\":\"railvpnppfuf\",\"sourceAmwAccountResourceId\":\"rwdmhdlxyjrxsa\",\"metricNamespace\":\"afcnih\",\"metricName\":\"wqapnedgfbcvk\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"vpk\",\"sourceAmwAccountManagedIdentity\":\"qdcvdrhvoo\",\"sourceAmwAccountResourceId\":\"sotbob\",\"metricNamespace\":\"dopcjwvnh\",\"metricName\":\"ld\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}}],\"signalFormula\":\"xcxrsl\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"twuoegrpkhjwni\",\"sourceAmwAccountManagedIdentity\":\"qsluicp\",\"sourceAmwAccountResourceId\":\"ggkzzlvmbmpa\",\"metricNamespace\":\"modfvuefywsbpfvm\",\"metricName\":\"yhrfouyftaakcpw\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}}],\"signalFormula\":\"vqtmnub\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"pzk\",\"sourceAmwAccountManagedIdentity\":\"mond\",\"sourceAmwAccountResourceId\":\"mquxvypo\",\"metricNamespace\":\"gkopkwhojvpajqgx\",\"metricName\":\"smocmbq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"mkcxozapvh\",\"sourceAmwAccountManagedIdentity\":\"lxprglyatddckcbc\",\"sourceAmwAccountResourceId\":\"ejrjxgciqibrho\",\"metricNamespace\":\"xsdqrhzoymibmrqy\",\"metricName\":\"bahwfl\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}},{\"signalSourceId\":\"dtmhrkwofyyvoqa\",\"sourceAmwAccountManagedIdentity\":\"piexpbtgiw\",\"sourceAmwAccountResourceId\":\"wo\",\"metricNamespace\":\"nwashrtd\",\"metricName\":\"kcnqxwbpo\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}}],\"signalFormula\":\"pi\"},\"windowUptimeCriteria\":{\"target\":37.028919775226754,\"comparator\":\"gt\"}}},\"identity\":{\"principalId\":\"pqiiobyuqe\",\"tenantId\":\"qlpqwcciuq\",\"type\":\"UserAssigned\",\"userAssignedIdentities\":{\"mhykojoxafnndl\":{\"principalId\":\"t\",\"clientId\":\"vfbtkuwh\"},\"ovljxywsu\":{\"principalId\":\"chkoymkcdyh\",\"clientId\":\"kkpwdreqnovvq\"}}},\"id\":\"yrs\",\"name\":\"dsytgadgvr\",\"type\":\"ea\"}],\"nextLink\":\"e\"}") .toObject(SliListResult.class); Assertions.assertEquals("rmclfplphoxu", model.value().get(0).properties().description()); Assertions.assertEquals(Category.AVAILABILITY, model.value().get(0).properties().category()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliPropertiesTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliPropertiesTests.java index b421dd41e8b31..adaf34ee598d2 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliPropertiesTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliPropertiesTests.java @@ -25,7 +25,7 @@ public final class SliPropertiesTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { SliProperties model = BinaryData.fromString( - "{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"dmoh\",\"sourceAmwAccountManagedIdentity\":\"tbqvudw\",\"sourceAmwAccountResourceId\":\"dndnvow\",\"metricNamespace\":\"ujjugwdkcglh\",\"metricName\":\"lazjdyggdtjixhbk\",\"filters\":[{\"dimensionName\":\"qweykhmenev\",\"scalarFunction\":\"min\",\"samplingType\":\"avg\",\"operator\":\"!contains\",\"value\":\"hybcibv\"},{\"dimensionName\":\"dcsi\",\"scalarFunction\":\"sum\",\"samplingType\":\"min\",\"operator\":\"startswith\",\"value\":\"mdectehfiqscjey\"},{\"dimensionName\":\"hezrkgq\",\"scalarFunction\":\"sum\",\"samplingType\":\"min\",\"operator\":\">\",\"value\":\"o\"},{\"dimensionName\":\"mkqsleyyv\",\"scalarFunction\":\"sum\",\"samplingType\":\"max\",\"operator\":\"<=\",\"value\":\"cattpngjcrcczsq\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"vmdajvnysou\",\"q\",\"canoaeupf\",\"yhltrpmopjmcm\"]},\"temporalAggregation\":{\"type\":\"IDelta\",\"windowSizeMinutes\":860799201}},{\"signalSourceId\":\"kthfui\",\"sourceAmwAccountManagedIdentity\":\"aodsfcpkv\",\"sourceAmwAccountResourceId\":\"odpuozmyzydag\",\"metricNamespace\":\"uaxbezyiuokkt\",\"metricName\":\"hrdxwzywqsmbs\",\"filters\":[{\"dimensionName\":\"xim\",\"scalarFunction\":\"max\",\"samplingType\":\"max\",\"operator\":\"startswith\",\"value\":\"sfksy\"},{\"dimensionName\":\"dystkiiuxhqyud\",\"scalarFunction\":\"sum\",\"samplingType\":\"max\",\"operator\":\"==\",\"value\":\"b\"},{\"dimensionName\":\"czvyifq\",\"scalarFunction\":\"min\",\"samplingType\":\"avg\",\"operator\":\"!startswith\",\"value\":\"sllr\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"d\",\"watkpnpulexxb\",\"zwtruwiqzbqjvsov\"]},\"temporalAggregation\":{\"type\":\"IDelta\",\"windowSizeMinutes\":1785940860}},{\"signalSourceId\":\"acspkwl\",\"sourceAmwAccountManagedIdentity\":\"zdobpxjmflbvvnch\",\"sourceAmwAccountResourceId\":\"kcciwwzjuqkhr\",\"metricNamespace\":\"ajiwkuo\",\"metricName\":\"oskg\",\"filters\":[{\"dimensionName\":\"uuimjmvxieduug\",\"scalarFunction\":\"max\",\"samplingType\":\"sum\",\"operator\":\"!=\",\"value\":\"f\"},{\"dimensionName\":\"aos\",\"scalarFunction\":\"max\",\"samplingType\":\"avg\",\"operator\":\"<\",\"value\":\"npc\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"cohslkev\",\"eggzfb\",\"hfmvfaxkffe\"]},\"temporalAggregation\":{\"type\":\"Average\",\"windowSizeMinutes\":378191098}}],\"signalFormula\":\"lvmezyvshxmzsbbz\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"igrxwburvjxxjn\",\"sourceAmwAccountManagedIdentity\":\"pydptko\",\"sourceAmwAccountResourceId\":\"nkoukn\",\"metricNamespace\":\"udwtiukbl\",\"metricName\":\"ngkpocipazy\",\"filters\":[{\"dimensionName\":\"gukgjnpiucgygevq\",\"scalarFunction\":\"sum\",\"samplingType\":\"max\",\"operator\":\"!=\",\"value\":\"rbpizc\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"j\",\"dpydn\",\"yhxdeoejzicwi\",\"sjttgzfbish\"]},\"temporalAggregation\":{\"type\":\"IRate\",\"windowSizeMinutes\":1326905161}}],\"signalFormula\":\"ajdeyeamdphaga\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"uxwgipwho\",\"sourceAmwAccountManagedIdentity\":\"ow\",\"sourceAmwAccountResourceId\":\"gshwankixz\",\"metricNamespace\":\"injep\",\"metricName\":\"ttmrywnuzoqf\",\"filters\":[{\"dimensionName\":\"qzrnkcqvyxlwhz\",\"scalarFunction\":\"avg\",\"samplingType\":\"sum\",\"operator\":\"startswith\",\"value\":\"oqqnwvlryav\"},{\"dimensionName\":\"heun\",\"scalarFunction\":\"sum\",\"samplingType\":\"min\",\"operator\":\"==\",\"value\":\"xzko\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"uko\",\"lyaxuc\",\"nuqszfkbey\",\"ewrmjmwvvjektc\"]},\"temporalAggregation\":{\"type\":\"Min\",\"windowSizeMinutes\":1562497596}},{\"signalSourceId\":\"hwlrsf\",\"sourceAmwAccountManagedIdentity\":\"rzpwvlqdqgbiq\",\"sourceAmwAccountResourceId\":\"lihkaetcktvfc\",\"metricNamespace\":\"vf\",\"metricName\":\"nkymuctqhjfbebrj\",\"filters\":[{\"dimensionName\":\"rfuwutt\",\"scalarFunction\":\"sum\",\"samplingType\":\"sum\",\"operator\":\"!in\",\"value\":\"birphxepcyva\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"ljkyqxjvuuj\",\"gidokgjljyoxgvcl\"]},\"temporalAggregation\":{\"type\":\"Sum\",\"windowSizeMinutes\":794855452}}],\"signalFormula\":\"ncghkje\"},\"windowUptimeCriteria\":{\"target\":56.497059361324276,\"comparator\":\"<=\"}}") + "{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"dmoh\",\"sourceAmwAccountManagedIdentity\":\"tbqvudw\",\"sourceAmwAccountResourceId\":\"dndnvow\",\"metricNamespace\":\"ujjugwdkcglh\",\"metricName\":\"lazjdyggdtjixhbk\",\"filters\":[{\"dimensionName\":\"qweykhmenev\",\"scalarFunction\":\"min\",\"samplingType\":\"Sum\",\"operator\":\"notcontains\",\"value\":\"hybcibv\"},{\"dimensionName\":\"dcsi\",\"scalarFunction\":\"sum\",\"samplingType\":\"Count\",\"operator\":\"startswith\",\"value\":\"mdectehfiqscjey\"},{\"dimensionName\":\"hezrkgq\",\"scalarFunction\":\"sum\",\"samplingType\":\"Count\",\"operator\":\"gt\",\"value\":\"o\"},{\"dimensionName\":\"mkqsleyyv\",\"scalarFunction\":\"sum\",\"samplingType\":\"Sum\",\"operator\":\"lte\",\"value\":\"cattpngjcrcczsq\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"vmdajvnysou\",\"q\",\"canoaeupf\",\"yhltrpmopjmcm\"]},\"temporalAggregation\":{\"type\":\"IDelta\",\"windowSizeMinutes\":860799201}},{\"signalSourceId\":\"kthfui\",\"sourceAmwAccountManagedIdentity\":\"aodsfcpkv\",\"sourceAmwAccountResourceId\":\"odpuozmyzydag\",\"metricNamespace\":\"uaxbezyiuokkt\",\"metricName\":\"hrdxwzywqsmbs\",\"filters\":[{\"dimensionName\":\"xim\",\"scalarFunction\":\"max\",\"samplingType\":\"Sum\",\"operator\":\"startswith\",\"value\":\"sfksy\"},{\"dimensionName\":\"dystkiiuxhqyud\",\"scalarFunction\":\"sum\",\"samplingType\":\"Sum\",\"operator\":\"eq\",\"value\":\"b\"},{\"dimensionName\":\"czvyifq\",\"scalarFunction\":\"min\",\"samplingType\":\"Min\",\"operator\":\"notstartswith\",\"value\":\"sllr\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"d\",\"watkpnpulexxb\",\"zwtruwiqzbqjvsov\"]},\"temporalAggregation\":{\"type\":\"IDelta\",\"windowSizeMinutes\":1785940860}},{\"signalSourceId\":\"acspkwl\",\"sourceAmwAccountManagedIdentity\":\"zdobpxjmflbvvnch\",\"sourceAmwAccountResourceId\":\"kcciwwzjuqkhr\",\"metricNamespace\":\"ajiwkuo\",\"metricName\":\"oskg\",\"filters\":[{\"dimensionName\":\"uuimjmvxieduug\",\"scalarFunction\":\"max\",\"samplingType\":\"Sum\",\"operator\":\"ne\",\"value\":\"f\"},{\"dimensionName\":\"aos\",\"scalarFunction\":\"max\",\"samplingType\":\"Sum\",\"operator\":\"lt\",\"value\":\"npc\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"cohslkev\",\"eggzfb\",\"hfmvfaxkffe\"]},\"temporalAggregation\":{\"type\":\"Average\",\"windowSizeMinutes\":378191098}}],\"signalFormula\":\"lvmezyvshxmzsbbz\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"igrxwburvjxxjn\",\"sourceAmwAccountManagedIdentity\":\"pydptko\",\"sourceAmwAccountResourceId\":\"nkoukn\",\"metricNamespace\":\"udwtiukbl\",\"metricName\":\"ngkpocipazy\",\"filters\":[{\"dimensionName\":\"gukgjnpiucgygevq\",\"scalarFunction\":\"sum\",\"samplingType\":\"Count\",\"operator\":\"ne\",\"value\":\"rbpizc\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"j\",\"dpydn\",\"yhxdeoejzicwi\",\"sjttgzfbish\"]},\"temporalAggregation\":{\"type\":\"IRate\",\"windowSizeMinutes\":1326905161}}],\"signalFormula\":\"ajdeyeamdphaga\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"uxwgipwho\",\"sourceAmwAccountManagedIdentity\":\"ow\",\"sourceAmwAccountResourceId\":\"gshwankixz\",\"metricNamespace\":\"injep\",\"metricName\":\"ttmrywnuzoqf\",\"filters\":[{\"dimensionName\":\"qzrnkcqvyxlwhz\",\"scalarFunction\":\"avg\",\"samplingType\":\"Sum\",\"operator\":\"startswith\",\"value\":\"oqqnwvlryav\"},{\"dimensionName\":\"heun\",\"scalarFunction\":\"sum\",\"samplingType\":\"Average\",\"operator\":\"eq\",\"value\":\"xzko\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"uko\",\"lyaxuc\",\"nuqszfkbey\",\"ewrmjmwvvjektc\"]},\"temporalAggregation\":{\"type\":\"Min\",\"windowSizeMinutes\":1562497596}},{\"signalSourceId\":\"hwlrsf\",\"sourceAmwAccountManagedIdentity\":\"rzpwvlqdqgbiq\",\"sourceAmwAccountResourceId\":\"lihkaetcktvfc\",\"metricNamespace\":\"vf\",\"metricName\":\"nkymuctqhjfbebrj\",\"filters\":[{\"dimensionName\":\"rfuwutt\",\"scalarFunction\":\"sum\",\"samplingType\":\"Sum\",\"operator\":\"notin\",\"value\":\"birphxepcyva\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"ljkyqxjvuuj\",\"gidokgjljyoxgvcl\"]},\"temporalAggregation\":{\"type\":\"Sum\",\"windowSizeMinutes\":794855452}}],\"signalFormula\":\"ncghkje\"},\"windowUptimeCriteria\":{\"target\":56.497059361324276,\"comparator\":\"lte\"}}") .toObject(SliProperties.class); Assertions.assertEquals("dmoh", model.goodSignals().signalSources().get(0).signalSourceId()); Assertions.assertEquals("tbqvudw", @@ -37,7 +37,7 @@ public void testDeserialize() throws Exception { model.goodSignals().signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MIN, model.goodSignals().signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, + Assertions.assertEquals(SamplingType.SUM, model.goodSignals().signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_CONTAINS, model.goodSignals().signalSources().get(0).filters().get(0).operator()); @@ -61,7 +61,7 @@ public void testDeserialize() throws Exception { model.totalSignals().signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.SUM, model.totalSignals().signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.MAX, + Assertions.assertEquals(SamplingType.COUNT, model.totalSignals().signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_EQUAL, model.totalSignals().signalSources().get(0).filters().get(0).operator()); @@ -116,22 +116,22 @@ public void testSerialize() throws Exception { .withFilters(Arrays.asList( new Condition().withDimensionName("qweykhmenev") .withScalarFunction(ScalarFunction.MIN) - .withSamplingType(SamplingType.AVG) + .withSamplingType(SamplingType.SUM) .withOperator(ConditionOperator.NOT_CONTAINS) .withValue("hybcibv"), new Condition().withDimensionName("dcsi") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MIN) + .withSamplingType(SamplingType.COUNT) .withOperator(ConditionOperator.STARTS_WITH) .withValue("mdectehfiqscjey"), new Condition().withDimensionName("hezrkgq") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MIN) + .withSamplingType(SamplingType.COUNT) .withOperator(ConditionOperator.GREATER_THAN) .withValue("o"), new Condition().withDimensionName("mkqsleyyv") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.SUM) .withOperator(ConditionOperator.LESS_THAN_OR_EQUAL) .withValue("cattpngjcrcczsq"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.MIN) @@ -147,17 +147,17 @@ public void testSerialize() throws Exception { .withFilters(Arrays.asList( new Condition().withDimensionName("xim") .withScalarFunction(ScalarFunction.MAX) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.SUM) .withOperator(ConditionOperator.STARTS_WITH) .withValue("sfksy"), new Condition().withDimensionName("dystkiiuxhqyud") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.SUM) .withOperator(ConditionOperator.EQUAL) .withValue("b"), new Condition().withDimensionName("czvyifq") .withScalarFunction(ScalarFunction.MIN) - .withSamplingType(SamplingType.AVG) + .withSamplingType(SamplingType.MIN) .withOperator(ConditionOperator.NOT_STARTS_WITH) .withValue("sllr"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.MIN) @@ -178,7 +178,7 @@ public void testSerialize() throws Exception { .withValue("f"), new Condition().withDimensionName("aos") .withScalarFunction(ScalarFunction.MAX) - .withSamplingType(SamplingType.AVG) + .withSamplingType(SamplingType.SUM) .withOperator(ConditionOperator.LESS_THAN) .withValue("npc"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.MIN) @@ -195,7 +195,7 @@ public void testSerialize() throws Exception { .withMetricName("ngkpocipazy") .withFilters(Arrays.asList(new Condition().withDimensionName("gukgjnpiucgygevq") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MAX) + .withSamplingType(SamplingType.COUNT) .withOperator(ConditionOperator.NOT_EQUAL) .withValue("rbpizc"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.AVERAGE) @@ -217,7 +217,7 @@ public void testSerialize() throws Exception { .withValue("oqqnwvlryav"), new Condition().withDimensionName("heun") .withScalarFunction(ScalarFunction.SUM) - .withSamplingType(SamplingType.MIN) + .withSamplingType(SamplingType.AVERAGE) .withOperator(ConditionOperator.EQUAL) .withValue("xzko"))) .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.MIN) @@ -252,7 +252,7 @@ public void testSerialize() throws Exception { model.goodSignals().signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.MIN, model.goodSignals().signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.AVG, + Assertions.assertEquals(SamplingType.SUM, model.goodSignals().signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_CONTAINS, model.goodSignals().signalSources().get(0).filters().get(0).operator()); @@ -276,7 +276,7 @@ public void testSerialize() throws Exception { model.totalSignals().signalSources().get(0).filters().get(0).dimensionName()); Assertions.assertEquals(ScalarFunction.SUM, model.totalSignals().signalSources().get(0).filters().get(0).scalarFunction()); - Assertions.assertEquals(SamplingType.MAX, + Assertions.assertEquals(SamplingType.COUNT, model.totalSignals().signalSources().get(0).filters().get(0).samplingType()); Assertions.assertEquals(ConditionOperator.NOT_EQUAL, model.totalSignals().signalSources().get(0).filters().get(0).operator()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliResourceTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliResourceTests.java index 5fe836485370a..e132f31656910 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliResourceTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SliResourceTests.java @@ -30,7 +30,7 @@ public final class SliResourceTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { SliResource model = BinaryData.fromString( - "{\"provisioningState\":\"Failed\",\"description\":\"vfqawrlyxwjkcpr\",\"category\":\"Latency\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"xgjvtbv\",\"message\":\"sszdnru\"},\"destinationAmwAccounts\":[{\"resourceId\":\"guhmuouqfpr\",\"identity\":\"zw\"},{\"resourceId\":\"nguitnwuizgazxu\",\"identity\":\"izuckyfihrfidfvz\"}],\"destinationMetrics\":[{\"metricNamespace\":\"uht\",\"metricName\":\"mwisdkfthwxmnt\"},{\"metricNamespace\":\"i\",\"metricName\":\"aop\"},{\"metricNamespace\":\"km\",\"metricName\":\"jcmmxdcufufsrp\"},{\"metricNamespace\":\"mzidnsezcxtb\",\"metricName\":\"sgfyccsnew\"}],\"baselineProperties\":{\"baseline\":{\"value\":54.537750032723274,\"evaluationPeriodDays\":44464100,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"iachbo\",\"streamingRuleLastUpdatedTimestamp\":\"2021-05-15T06:55:08Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"osfqpteehzzv\",\"sourceAmwAccountManagedIdentity\":\"pyqr\",\"sourceAmwAccountResourceId\":\"mzinpvswjdk\",\"metricNamespace\":\"rsoodqxhcrmnoh\",\"metricName\":\"t\",\"filters\":[{\"operator\":\"==\",\"value\":\"h\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"ifiyipjxsqwpgrj\",\"znorcj\",\"vsnb\",\"xqabnmocpcysh\"]},\"temporalAggregation\":{\"type\":\"IRate\",\"windowSizeMinutes\":2023442123}}],\"signalFormula\":\"fblj\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"btoqcjmkljavbqid\",\"sourceAmwAccountManagedIdentity\":\"qajzyulpkudjkr\",\"sourceAmwAccountResourceId\":\"khbzhfepgzg\",\"metricNamespace\":\"e\",\"metricName\":\"zloc\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"paierh\"},{\"operator\":\"<=\",\"value\":\"csglum\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"tjaodxobnb\",\"xkqpxo\",\"ajionpimexgstxg\",\"po\"]},\"temporalAggregation\":{\"type\":\"Rate\",\"windowSizeMinutes\":1107396913}},{\"signalSourceId\":\"ajrmvdjwzrlovmc\",\"sourceAmwAccountManagedIdentity\":\"whijcoejctbza\",\"sourceAmwAccountResourceId\":\"s\",\"metricNamespace\":\"sycbkbfk\",\"metricName\":\"ukdkexxppofmxa\",\"filters\":[{\"operator\":\"==\",\"value\":\"jpgd\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[\"c\",\"j\",\"hvpmoue\",\"hd\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":738311617}},{\"signalSourceId\":\"qeojnxqbzvddntw\",\"sourceAmwAccountManagedIdentity\":\"deicbtwnpzao\",\"sourceAmwAccountResourceId\":\"vuhrhcffcyddgl\",\"metricNamespace\":\"jthjqkwpyei\",\"metricName\":\"xmqci\",\"filters\":[{\"operator\":\">\",\"value\":\"hkh\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[\"igdtopbob\",\"og\",\"m\",\"w\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":248377661}}],\"signalFormula\":\"uhrzayvvt\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"dfgiot\",\"sourceAmwAccountManagedIdentity\":\"ftutqxlngxlefgu\",\"sourceAmwAccountResourceId\":\"nxkrx\",\"metricNamespace\":\"qmi\",\"metricName\":\"tthzrvqd\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"hjybigehoqfbo\"},{\"operator\":\"<\",\"value\":\"kanyktzlcuiywg\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"gndrvynh\",\"gpphrcgyn\",\"ocpecfvmmco\",\"fsxlzevgbmqjqa\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":138991761}},{\"signalSourceId\":\"mivkwlzuvcc\",\"sourceAmwAccountManagedIdentity\":\"wnfnbacf\",\"sourceAmwAccountResourceId\":\"onlebxetqgtzxdpn\",\"metricNamespace\":\"bqqwxrj\",\"metricName\":\"eallnwsubisnj\",\"filters\":[{\"operator\":\"contains\",\"value\":\"mngnzscxaqw\"},{\"operator\":\"startswith\",\"value\":\"chcbonqvpkvlrxnj\"},{\"operator\":\"<\",\"value\":\"seiphe\"},{\"operator\":\"@in\",\"value\":\"lokeyy\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"jbdlwtgrhpdjpju\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":1012728769}}],\"signalFormula\":\"azjpqyegualhbxxh\"},\"windowUptimeCriteria\":{\"target\":38.92750235772227,\"comparator\":\">=\"}}}") + "{\"provisioningState\":\"Failed\",\"description\":\"vfqawrlyxwjkcpr\",\"category\":\"Latency\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"xgjvtbv\",\"message\":\"sszdnru\"},\"destinationAmwAccounts\":[{\"resourceId\":\"guhmuouqfpr\",\"identity\":\"zw\"},{\"resourceId\":\"nguitnwuizgazxu\",\"identity\":\"izuckyfihrfidfvz\"}],\"destinationMetrics\":[{\"metricNamespace\":\"uht\",\"metricName\":\"mwisdkfthwxmnt\"},{\"metricNamespace\":\"i\",\"metricName\":\"aop\"},{\"metricNamespace\":\"km\",\"metricName\":\"jcmmxdcufufsrp\"},{\"metricNamespace\":\"mzidnsezcxtb\",\"metricName\":\"sgfyccsnew\"}],\"baselineProperties\":{\"baseline\":{\"value\":54.537750032723274,\"evaluationPeriodDays\":44464100,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"iachbo\",\"streamingRuleLastUpdatedTimestamp\":\"2021-05-15T06:55:08Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"osfqpteehzzv\",\"sourceAmwAccountManagedIdentity\":\"pyqr\",\"sourceAmwAccountResourceId\":\"mzinpvswjdk\",\"metricNamespace\":\"rsoodqxhcrmnoh\",\"metricName\":\"t\",\"filters\":[{\"operator\":\"eq\",\"value\":\"h\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"ifiyipjxsqwpgrj\",\"znorcj\",\"vsnb\",\"xqabnmocpcysh\"]},\"temporalAggregation\":{\"type\":\"IRate\",\"windowSizeMinutes\":2023442123}}],\"signalFormula\":\"fblj\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"btoqcjmkljavbqid\",\"sourceAmwAccountManagedIdentity\":\"qajzyulpkudjkr\",\"sourceAmwAccountResourceId\":\"khbzhfepgzg\",\"metricNamespace\":\"e\",\"metricName\":\"zloc\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"paierh\"},{\"operator\":\"lte\",\"value\":\"csglum\"}],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[\"tjaodxobnb\",\"xkqpxo\",\"ajionpimexgstxg\",\"po\"]},\"temporalAggregation\":{\"type\":\"Rate\",\"windowSizeMinutes\":1107396913}},{\"signalSourceId\":\"ajrmvdjwzrlovmc\",\"sourceAmwAccountManagedIdentity\":\"whijcoejctbza\",\"sourceAmwAccountResourceId\":\"s\",\"metricNamespace\":\"sycbkbfk\",\"metricName\":\"ukdkexxppofmxa\",\"filters\":[{\"operator\":\"eq\",\"value\":\"jpgd\"}],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[\"c\",\"j\",\"hvpmoue\",\"hd\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":738311617}},{\"signalSourceId\":\"qeojnxqbzvddntw\",\"sourceAmwAccountManagedIdentity\":\"deicbtwnpzao\",\"sourceAmwAccountResourceId\":\"vuhrhcffcyddgl\",\"metricNamespace\":\"jthjqkwpyei\",\"metricName\":\"xmqci\",\"filters\":[{\"operator\":\"gt\",\"value\":\"hkh\"}],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[\"igdtopbob\",\"og\",\"m\",\"w\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":248377661}}],\"signalFormula\":\"uhrzayvvt\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"dfgiot\",\"sourceAmwAccountManagedIdentity\":\"ftutqxlngxlefgu\",\"sourceAmwAccountResourceId\":\"nxkrx\",\"metricNamespace\":\"qmi\",\"metricName\":\"tthzrvqd\",\"filters\":[{\"operator\":\"startswith\",\"value\":\"hjybigehoqfbo\"},{\"operator\":\"lt\",\"value\":\"kanyktzlcuiywg\"}],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[\"gndrvynh\",\"gpphrcgyn\",\"ocpecfvmmco\",\"fsxlzevgbmqjqa\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":138991761}},{\"signalSourceId\":\"mivkwlzuvcc\",\"sourceAmwAccountManagedIdentity\":\"wnfnbacf\",\"sourceAmwAccountResourceId\":\"onlebxetqgtzxdpn\",\"metricNamespace\":\"bqqwxrj\",\"metricName\":\"eallnwsubisnj\",\"filters\":[{\"operator\":\"contains\",\"value\":\"mngnzscxaqw\"},{\"operator\":\"startswith\",\"value\":\"chcbonqvpkvlrxnj\"},{\"operator\":\"lt\",\"value\":\"seiphe\"},{\"operator\":\"in\",\"value\":\"lokeyy\"}],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[\"jbdlwtgrhpdjpju\"]},\"temporalAggregation\":{\"type\":\"Increase\",\"windowSizeMinutes\":1012728769}}],\"signalFormula\":\"azjpqyegualhbxxh\"},\"windowUptimeCriteria\":{\"target\":38.92750235772227,\"comparator\":\"gte\"}}}") .toObject(SliResource.class); Assertions.assertEquals("vfqawrlyxwjkcpr", model.description()); Assertions.assertEquals(Category.LATENCY, model.category()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisCreateOrUpdateWithResponseMockTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisCreateOrUpdateWithResponseMockTests.java index f4b04d21f34df..c4ddeafb55ea8 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisCreateOrUpdateWithResponseMockTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisCreateOrUpdateWithResponseMockTests.java @@ -44,7 +44,7 @@ public final class SlisCreateOrUpdateWithResponseMockTests { @Test public void testCreateOrUpdateWithResponse() throws Exception { String responseStr - = "{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"lhalnswh\",\"category\":\"Availability\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"hka\",\"message\":\"witqscywuggwoluh\"},\"destinationAmwAccounts\":[{\"resourceId\":\"bwemhairs\",\"identity\":\"rgzdwmsweyp\"},{\"resourceId\":\"w\",\"identity\":\"xggicccnxqhuexmk\"}],\"destinationMetrics\":[{\"metricNamespace\":\"stvlzywemhzrnc\",\"metricName\":\"dtclusiypb\"},{\"metricNamespace\":\"fgytguslfeadcyg\",\"metricName\":\"ukyhejhzis\"},{\"metricNamespace\":\"gfpelolppvksrpqv\",\"metricName\":\"jzraehtwdwrf\"}],\"baselineProperties\":{\"baseline\":{\"value\":33.494544229054966,\"evaluationPeriodDays\":767551661,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"rcdlbhshfwpr\",\"streamingRuleLastUpdatedTimestamp\":\"2021-11-29T07:17:38Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"ty\",\"sourceAmwAccountManagedIdentity\":\"hevxcced\",\"sourceAmwAccountResourceId\":\"pnmdyodnwzxltjcv\",\"metricNamespace\":\"hlt\",\"metricName\":\"ugcxnavvwxq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"qunyowxwlmdjr\",\"sourceAmwAccountManagedIdentity\":\"vfgbvfvpdboda\",\"sourceAmwAccountResourceId\":\"izsjqlhkrr\",\"metricNamespace\":\"bdeibqipqk\",\"metricName\":\"hvxndzwmkrefajpj\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}}],\"signalFormula\":\"kqnyh\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"j\",\"sourceAmwAccountManagedIdentity\":\"jivfxzsjabib\",\"sourceAmwAccountResourceId\":\"ystawfsdjpvkvp\",\"metricNamespace\":\"jxbkzbzkdvn\",\"metricName\":\"jabudurgkakmo\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}}],\"signalFormula\":\"jjklff\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"uwqlgzrfzeey\",\"sourceAmwAccountManagedIdentity\":\"bizikayuhq\",\"sourceAmwAccountResourceId\":\"bjbsybb\",\"metricNamespace\":\"wrv\",\"metricName\":\"ldgmfpgvmpip\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"thaqfxssmwu\"},\"windowUptimeCriteria\":{\"target\":31.752490870226723,\"comparator\":\">\"}}},\"identity\":{\"principalId\":\"zpdrhneu\",\"tenantId\":\"wqkdwytisibi\",\"type\":\"SystemAssigned\",\"userAssignedIdentities\":{\"anlfzxiavrmbz\":{\"principalId\":\"kpzi\",\"clientId\":\"j\"},\"nwoiind\":{\"principalId\":\"okixrjqcir\",\"clientId\":\"pfrlazsz\"}}},\"id\":\"wp\",\"name\":\"ylwbtlhflsjcdhsz\",\"type\":\"jvfbgofelja\"}"; + = "{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"lhalnswh\",\"category\":\"Availability\",\"evaluationType\":\"WindowBased\",\"executionState\":{\"state\":\"hka\",\"message\":\"witqscywuggwoluh\"},\"destinationAmwAccounts\":[{\"resourceId\":\"bwemhairs\",\"identity\":\"rgzdwmsweyp\"},{\"resourceId\":\"w\",\"identity\":\"xggicccnxqhuexmk\"}],\"destinationMetrics\":[{\"metricNamespace\":\"stvlzywemhzrnc\",\"metricName\":\"dtclusiypb\"},{\"metricNamespace\":\"fgytguslfeadcyg\",\"metricName\":\"ukyhejhzis\"},{\"metricNamespace\":\"gfpelolppvksrpqv\",\"metricName\":\"jzraehtwdwrf\"}],\"baselineProperties\":{\"baseline\":{\"value\":33.494544229054966,\"evaluationPeriodDays\":767551661,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"rcdlbhshfwpr\",\"streamingRuleLastUpdatedTimestamp\":\"2021-11-29T07:17:38Z\",\"enableAlert\":true,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"ty\",\"sourceAmwAccountManagedIdentity\":\"hevxcced\",\"sourceAmwAccountResourceId\":\"pnmdyodnwzxltjcv\",\"metricNamespace\":\"hlt\",\"metricName\":\"ugcxnavvwxq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"qunyowxwlmdjr\",\"sourceAmwAccountManagedIdentity\":\"vfgbvfvpdboda\",\"sourceAmwAccountResourceId\":\"izsjqlhkrr\",\"metricNamespace\":\"bdeibqipqk\",\"metricName\":\"hvxndzwmkrefajpj\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}}],\"signalFormula\":\"kqnyh\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"j\",\"sourceAmwAccountManagedIdentity\":\"jivfxzsjabib\",\"sourceAmwAccountResourceId\":\"ystawfsdjpvkvp\",\"metricNamespace\":\"jxbkzbzkdvn\",\"metricName\":\"jabudurgkakmo\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}}],\"signalFormula\":\"jjklff\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"uwqlgzrfzeey\",\"sourceAmwAccountManagedIdentity\":\"bizikayuhq\",\"sourceAmwAccountResourceId\":\"bjbsybb\",\"metricNamespace\":\"wrv\",\"metricName\":\"ldgmfpgvmpip\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"thaqfxssmwu\"},\"windowUptimeCriteria\":{\"target\":31.752490870226723,\"comparator\":\"gt\"}}},\"identity\":{\"principalId\":\"zpdrhneu\",\"tenantId\":\"wqkdwytisibi\",\"type\":\"SystemAssigned\",\"userAssignedIdentities\":{\"anlfzxiavrmbz\":{\"principalId\":\"kpzi\",\"clientId\":\"j\"},\"nwoiind\":{\"principalId\":\"okixrjqcir\",\"clientId\":\"pfrlazsz\"}}},\"id\":\"wp\",\"name\":\"ylwbtlhflsjcdhsz\",\"type\":\"jvfbgofelja\"}"; HttpClient httpClient = response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8))); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisGetWithResponseMockTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisGetWithResponseMockTests.java index 4c7abc77286fc..4992e56c58303 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisGetWithResponseMockTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisGetWithResponseMockTests.java @@ -28,7 +28,7 @@ public final class SlisGetWithResponseMockTests { @Test public void testGetWithResponse() throws Exception { String responseStr - = "{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"fpubjibwwi\",\"category\":\"Latency\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"qkvpuvksgplsakn\",\"message\":\"fsynljphuop\"},\"destinationAmwAccounts\":[{\"resourceId\":\"dlqiyntorzih\",\"identity\":\"eosjswsr\"},{\"resourceId\":\"slyzrpzbchckqq\",\"identity\":\"qioxi\"},{\"resourceId\":\"suiizynkedyat\",\"identity\":\"wyhqmibzyhwits\"}],\"destinationMetrics\":[{\"metricNamespace\":\"yynpcdpumnzgmwz\",\"metricName\":\"mabiknsorgjhxb\"}],\"baselineProperties\":{\"baseline\":{\"value\":50.25586250539239,\"evaluationPeriodDays\":1166597262,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"rlkdmtncvokotl\",\"streamingRuleLastUpdatedTimestamp\":\"2021-09-05T12:27:29Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"syocogjltdtbnnha\",\"sourceAmwAccountManagedIdentity\":\"oocrkvcikhnv\",\"sourceAmwAccountResourceId\":\"amqgxqquezikyw\",\"metricNamespace\":\"gxk\",\"metricName\":\"lla\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"lwuip\",\"sourceAmwAccountManagedIdentity\":\"ccjzkzivgvv\",\"sourceAmwAccountResourceId\":\"nayrhyrnxxmueedn\",\"metricNamespace\":\"rdvstkwqqtch\",\"metricName\":\"alm\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"d\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"gdv\",\"sourceAmwAccountManagedIdentity\":\"vgpiohgwxrt\",\"sourceAmwAccountResourceId\":\"udxepxgyqagv\",\"metricNamespace\":\"vmnpkukghimdblx\",\"metricName\":\"wi\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"jhfjxwm\",\"sourceAmwAccountManagedIdentity\":\"zk\",\"sourceAmwAccountResourceId\":\"foqreyfkzik\",\"metricNamespace\":\"jawneaiv\",\"metricName\":\"wczelpci\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}}],\"signalFormula\":\"sfeaenwabfat\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"dxbjhwuaanozj\",\"sourceAmwAccountManagedIdentity\":\"sphyoulpjrvxa\",\"sourceAmwAccountResourceId\":\"l\",\"metricNamespace\":\"vimjwos\",\"metricName\":\"tx\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"skfc\",\"sourceAmwAccountManagedIdentity\":\"tq\",\"sourceAmwAccountResourceId\":\"miekkezzikhlyfjh\",\"metricNamespace\":\"gqggebdunygae\",\"metricName\":\"idb\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"t\",\"sourceAmwAccountManagedIdentity\":\"xllrxcyjm\",\"sourceAmwAccountResourceId\":\"a\",\"metricNamespace\":\"su\",\"metricName\":\"arm\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"mjsjqb\",\"sourceAmwAccountManagedIdentity\":\"hhyxxrw\",\"sourceAmwAccountResourceId\":\"yc\",\"metricNamespace\":\"duhpk\",\"metricName\":\"kgymareqnajxqug\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"ycubeddgs\"},\"windowUptimeCriteria\":{\"target\":74.75268861048747,\"comparator\":\">=\"}}},\"identity\":{\"principalId\":\"qal\",\"tenantId\":\"mnjijpxacqqudf\",\"type\":\"UserAssigned\",\"userAssignedIdentities\":{\"evfdnwnwm\":{\"principalId\":\"aaabjyvayff\",\"clientId\":\"rzrtuzqogsex\"},\"thzvaytdwkqbrqu\":{\"principalId\":\"zsyyceuzso\",\"clientId\":\"judpfrxt\"},\"oaxoruzfgsqu\":{\"principalId\":\"axhexiilivp\",\"clientId\":\"iirqtd\"}}},\"id\":\"xrxxlep\",\"name\":\"ramxjezwlwnw\",\"type\":\"uqlcvydy\"}"; + = "{\"properties\":{\"provisioningState\":\"Failed\",\"description\":\"fpubjibwwi\",\"category\":\"Latency\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"qkvpuvksgplsakn\",\"message\":\"fsynljphuop\"},\"destinationAmwAccounts\":[{\"resourceId\":\"dlqiyntorzih\",\"identity\":\"eosjswsr\"},{\"resourceId\":\"slyzrpzbchckqq\",\"identity\":\"qioxi\"},{\"resourceId\":\"suiizynkedyat\",\"identity\":\"wyhqmibzyhwits\"}],\"destinationMetrics\":[{\"metricNamespace\":\"yynpcdpumnzgmwz\",\"metricName\":\"mabiknsorgjhxb\"}],\"baselineProperties\":{\"baseline\":{\"value\":50.25586250539239,\"evaluationPeriodDays\":1166597262,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"rlkdmtncvokotl\",\"streamingRuleLastUpdatedTimestamp\":\"2021-09-05T12:27:29Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"syocogjltdtbnnha\",\"sourceAmwAccountManagedIdentity\":\"oocrkvcikhnv\",\"sourceAmwAccountResourceId\":\"amqgxqquezikyw\",\"metricNamespace\":\"gxk\",\"metricName\":\"lla\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"lwuip\",\"sourceAmwAccountManagedIdentity\":\"ccjzkzivgvv\",\"sourceAmwAccountResourceId\":\"nayrhyrnxxmueedn\",\"metricNamespace\":\"rdvstkwqqtch\",\"metricName\":\"alm\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"d\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"gdv\",\"sourceAmwAccountManagedIdentity\":\"vgpiohgwxrt\",\"sourceAmwAccountResourceId\":\"udxepxgyqagv\",\"metricNamespace\":\"vmnpkukghimdblx\",\"metricName\":\"wi\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Average\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Sum\"}},{\"signalSourceId\":\"jhfjxwm\",\"sourceAmwAccountManagedIdentity\":\"zk\",\"sourceAmwAccountResourceId\":\"foqreyfkzik\",\"metricNamespace\":\"jawneaiv\",\"metricName\":\"wczelpci\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Increase\"}}],\"signalFormula\":\"sfeaenwabfat\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"dxbjhwuaanozj\",\"sourceAmwAccountManagedIdentity\":\"sphyoulpjrvxa\",\"sourceAmwAccountResourceId\":\"l\",\"metricNamespace\":\"vimjwos\",\"metricName\":\"tx\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Average\"}},{\"signalSourceId\":\"skfc\",\"sourceAmwAccountManagedIdentity\":\"tq\",\"sourceAmwAccountResourceId\":\"miekkezzikhlyfjh\",\"metricNamespace\":\"gqggebdunygae\",\"metricName\":\"idb\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"t\",\"sourceAmwAccountManagedIdentity\":\"xllrxcyjm\",\"sourceAmwAccountResourceId\":\"a\",\"metricNamespace\":\"su\",\"metricName\":\"arm\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Rate\"}},{\"signalSourceId\":\"mjsjqb\",\"sourceAmwAccountManagedIdentity\":\"hhyxxrw\",\"sourceAmwAccountResourceId\":\"yc\",\"metricNamespace\":\"duhpk\",\"metricName\":\"kgymareqnajxqug\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Max\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Delta\"}}],\"signalFormula\":\"ycubeddgs\"},\"windowUptimeCriteria\":{\"target\":74.75268861048747,\"comparator\":\"gte\"}}},\"identity\":{\"principalId\":\"qal\",\"tenantId\":\"mnjijpxacqqudf\",\"type\":\"UserAssigned\",\"userAssignedIdentities\":{\"evfdnwnwm\":{\"principalId\":\"aaabjyvayff\",\"clientId\":\"rzrtuzqogsex\"},\"thzvaytdwkqbrqu\":{\"principalId\":\"zsyyceuzso\",\"clientId\":\"judpfrxt\"},\"oaxoruzfgsqu\":{\"principalId\":\"axhexiilivp\",\"clientId\":\"iirqtd\"}}},\"id\":\"xrxxlep\",\"name\":\"ramxjezwlwnw\",\"type\":\"uqlcvydy\"}"; HttpClient httpClient = response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8))); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisListByParentMockTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisListByParentMockTests.java index 96e01a0cdcf3a..25501a0d038c1 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisListByParentMockTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/SlisListByParentMockTests.java @@ -29,7 +29,7 @@ public final class SlisListByParentMockTests { @Test public void testListByParent() throws Exception { String responseStr - = "{\"value\":[{\"properties\":{\"provisioningState\":\"Canceled\",\"description\":\"ahhxvrh\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"pjgwwspug\",\"message\":\"tqs\"},\"destinationAmwAccounts\":[{\"resourceId\":\"qxujxukndxd\",\"identity\":\"grjguufzd\"},{\"resourceId\":\"syqtfi\",\"identity\":\"whbotzingamv\"},{\"resourceId\":\"phoszqz\",\"identity\":\"dphqamv\"},{\"resourceId\":\"kfwynw\",\"identity\":\"vtbvkayh\"}],\"destinationMetrics\":[{\"metricNamespace\":\"vyqia\",\"metricName\":\"kzwpcnpw\"}],\"baselineProperties\":{\"baseline\":{\"value\":55.10261161552592,\"evaluationPeriodDays\":48409211,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"gvvs\",\"streamingRuleLastUpdatedTimestamp\":\"2021-10-01T18:08:28Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"uq\",\"sourceAmwAccountManagedIdentity\":\"hwyg\",\"sourceAmwAccountResourceId\":\"lvdnkfx\",\"metricNamespace\":\"semdwzrmu\",\"metricName\":\"apfcqdpsq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"psvuoymgc\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"vezrypqlmfeo\",\"sourceAmwAccountManagedIdentity\":\"erqwkyhkobopg\",\"sourceAmwAccountResourceId\":\"edkowepbqpcrfk\",\"metricNamespace\":\"wccsnjvcdwxlpqek\",\"metricName\":\"tn\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}}],\"signalFormula\":\"jsyingwfqatm\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"tmdvypgikdgs\",\"sourceAmwAccountManagedIdentity\":\"ywkbirryuzhlhkjo\",\"sourceAmwAccountResourceId\":\"rvqqaatj\",\"metricNamespace\":\"nrvgoupmfiibfgg\",\"metricName\":\"ioolvrwxkvtkkgll\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"ygvjayvblmh\",\"sourceAmwAccountManagedIdentity\":\"k\",\"sourceAmwAccountResourceId\":\"uhbxvvy\",\"metricNamespace\":\"gsopbyrqufegxu\",\"metricName\":\"wz\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"hlmctlpdngitvgb\"},\"windowUptimeCriteria\":{\"target\":79.06151231394061,\"comparator\":\"<\"}}},\"identity\":{\"principalId\":\"myijejvegr\",\"tenantId\":\"pna\",\"type\":\"SystemAssigned,UserAssigned\",\"userAssignedIdentities\":{\"nhyjsv\":{\"principalId\":\"cbdreaxhcexd\",\"clientId\":\"vqahqkghtpwi\"},\"jqppyostronzmy\":{\"principalId\":\"cxzbfvoowvr\",\"clientId\":\"t\"},\"afxtsgum\":{\"principalId\":\"fipns\",\"clientId\":\"mcwaekrrjr\"},\"felfktg\":{\"principalId\":\"glikkxwslolb\",\"clientId\":\"vuzlm\"}}},\"id\":\"crpw\",\"name\":\"xeznoi\",\"type\":\"brnjwmw\"}]}"; + = "{\"value\":[{\"properties\":{\"provisioningState\":\"Canceled\",\"description\":\"ahhxvrh\",\"category\":\"Availability\",\"evaluationType\":\"RequestBased\",\"executionState\":{\"state\":\"pjgwwspug\",\"message\":\"tqs\"},\"destinationAmwAccounts\":[{\"resourceId\":\"qxujxukndxd\",\"identity\":\"grjguufzd\"},{\"resourceId\":\"syqtfi\",\"identity\":\"whbotzingamv\"},{\"resourceId\":\"phoszqz\",\"identity\":\"dphqamv\"},{\"resourceId\":\"kfwynw\",\"identity\":\"vtbvkayh\"}],\"destinationMetrics\":[{\"metricNamespace\":\"vyqia\",\"metricName\":\"kzwpcnpw\"}],\"baselineProperties\":{\"baseline\":{\"value\":55.10261161552592,\"evaluationPeriodDays\":48409211,\"evaluationCalculationType\":\"RollingDays\"}},\"streamingRuleId\":\"gvvs\",\"streamingRuleLastUpdatedTimestamp\":\"2021-10-01T18:08:28Z\",\"enableAlert\":false,\"sliProperties\":{\"goodSignals\":{\"signalSources\":[{\"signalSourceId\":\"uq\",\"sourceAmwAccountManagedIdentity\":\"hwyg\",\"sourceAmwAccountResourceId\":\"lvdnkfx\",\"metricNamespace\":\"semdwzrmu\",\"metricName\":\"apfcqdpsq\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Sum\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"psvuoymgc\"},\"totalSignals\":{\"signalSources\":[{\"signalSourceId\":\"vezrypqlmfeo\",\"sourceAmwAccountManagedIdentity\":\"erqwkyhkobopg\",\"sourceAmwAccountResourceId\":\"edkowepbqpcrfk\",\"metricNamespace\":\"wccsnjvcdwxlpqek\",\"metricName\":\"tn\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Count\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}}],\"signalFormula\":\"jsyingwfqatm\"},\"signals\":{\"signalSources\":[{\"signalSourceId\":\"tmdvypgikdgs\",\"sourceAmwAccountManagedIdentity\":\"ywkbirryuzhlhkjo\",\"sourceAmwAccountResourceId\":\"rvqqaatj\",\"metricNamespace\":\"nrvgoupmfiibfgg\",\"metricName\":\"ioolvrwxkvtkkgll\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"Min\"}},{\"signalSourceId\":\"ygvjayvblmh\",\"sourceAmwAccountManagedIdentity\":\"k\",\"sourceAmwAccountResourceId\":\"uhbxvvy\",\"metricNamespace\":\"gsopbyrqufegxu\",\"metricName\":\"wz\",\"filters\":[],\"spatialAggregation\":{\"type\":\"Min\",\"dimensions\":[]},\"temporalAggregation\":{\"type\":\"IRate\"}}],\"signalFormula\":\"hlmctlpdngitvgb\"},\"windowUptimeCriteria\":{\"target\":79.06151231394061,\"comparator\":\"lt\"}}},\"identity\":{\"principalId\":\"myijejvegr\",\"tenantId\":\"pna\",\"type\":\"SystemAssigned,UserAssigned\",\"userAssignedIdentities\":{\"nhyjsv\":{\"principalId\":\"cbdreaxhcexd\",\"clientId\":\"vqahqkghtpwi\"},\"jqppyostronzmy\":{\"principalId\":\"cxzbfvoowvr\",\"clientId\":\"t\"},\"afxtsgum\":{\"principalId\":\"fipns\",\"clientId\":\"mcwaekrrjr\"},\"felfktg\":{\"principalId\":\"glikkxwslolb\",\"clientId\":\"vuzlm\"}}},\"id\":\"crpw\",\"name\":\"xeznoi\",\"type\":\"brnjwmw\"}]}"; HttpClient httpClient = response -> Mono.just(new MockHttpResponse(response, 200, responseStr.getBytes(StandardCharsets.UTF_8))); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/WindowUptimeCriteriaTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/WindowUptimeCriteriaTests.java index f8e8fd3a8cf5f..59256fdc589de 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/WindowUptimeCriteriaTests.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/generated/WindowUptimeCriteriaTests.java @@ -12,7 +12,7 @@ public final class WindowUptimeCriteriaTests { @org.junit.jupiter.api.Test public void testDeserialize() throws Exception { - WindowUptimeCriteria model = BinaryData.fromString("{\"target\":69.3418872608996,\"comparator\":\"<\"}") + WindowUptimeCriteria model = BinaryData.fromString("{\"target\":69.3418872608996,\"comparator\":\"lt\"}") .toObject(WindowUptimeCriteria.class); Assertions.assertEquals(69.3418872608996, model.target()); Assertions.assertEquals(WindowUptimeCriteriaComparator.LESS_THAN, model.comparator()); diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml b/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml index b22197448f692..2272356af846c 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/monitoringservice/resource-manager/Microsoft.Monitor/Slis -commit: d32a3f6cc49c6dd6604161f8c7cee7c95a84c578 +commit: 8be8c75d9bb11ea95d8a7e251db74aa78b5cd76c repo: Azure/azure-rest-api-specs additionalDirectories: From 5d89ed04bf54dd04f23d8854c8bb030fe28751fb Mon Sep 17 00:00:00 2001 From: Saleel Kattiyat Date: Fri, 22 May 2026 17:33:00 -0700 Subject: [PATCH 02/11] Layered CRUD recording-based test scaffolding on auto-regen PR --- .../assets.json | 6 + .../monitor/slis/SliCrudLiveTest.java | 144 ++++++++++++++++++ .../test-resources.bicep | 61 ++++++++ 3 files changed, 211 insertions(+) create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/assets.json create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/test-resources.bicep diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json b/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json new file mode 100644 index 0000000000000..6358ba8074d16 --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo": "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath": "java", + "TagPrefix": "java/monitor/azure-resourcemanager-monitor-slis", + "Tag": "" +} diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java new file mode 100644 index 0000000000000..5fab384ced326 --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.resourcemanager.monitor.slis; + +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.management.AzureEnvironment; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.management.profile.AzureProfile; +import com.azure.core.test.TestProxyTestBase; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.resourcemanager.monitor.slis.fluent.models.SliInner; +import com.azure.resourcemanager.monitor.slis.models.AmwAccount; +import com.azure.resourcemanager.monitor.slis.models.Baseline; +import com.azure.resourcemanager.monitor.slis.models.BaselineProperties; +import com.azure.resourcemanager.monitor.slis.models.Category; +import com.azure.resourcemanager.monitor.slis.models.Condition; +import com.azure.resourcemanager.monitor.slis.models.ConditionOperator; +import com.azure.resourcemanager.monitor.slis.models.EvaluationCalculationType; +import com.azure.resourcemanager.monitor.slis.models.EvaluationType; +import com.azure.resourcemanager.monitor.slis.models.Signal; +import com.azure.resourcemanager.monitor.slis.models.SignalSource; +import com.azure.resourcemanager.monitor.slis.models.Sli; +import com.azure.resourcemanager.monitor.slis.models.SliProperties; +import com.azure.resourcemanager.monitor.slis.models.SliResource; +import com.azure.resourcemanager.monitor.slis.models.SpatialAggregation; +import com.azure.resourcemanager.monitor.slis.models.SpatialAggregationType; +import com.azure.resourcemanager.monitor.slis.models.TemporalAggregation; +import com.azure.resourcemanager.monitor.slis.models.TemporalAggregationType; +import com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteria; +import com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteriaComparator; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.Collections; +import java.util.UUID; + +/** + * Live CRUD test for Microsoft.Monitor/slis resource. + * Tests: Create → Get → Delete → Get (expect 404). + */ +public class SliCrudLiveTest extends TestProxyTestBase { + + private static final String SERVICE_GROUP_NAME = System.getenv().getOrDefault("SERVICE_GROUP_NAME", "arm-sdk-tests-sg"); + private static final String AMW_RESOURCE_ID = System.getenv().getOrDefault( + "AMW_RESOURCE_ID", + "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/microsoft.monitor/accounts/streaming-3p-slo-am2cbn-eastus2euap-1"); + private static final String MANAGED_IDENTITY_RESOURCE_ID = System.getenv().getOrDefault( + "MANAGED_IDENTITY_RESOURCE_ID", + "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mfrei-test-user-managed-identity"); + private static final String SOURCE_AMW_RESOURCE_ID = System.getenv().getOrDefault( + "SOURCE_AMW_RESOURCE_ID", AMW_RESOURCE_ID); + private static final String SOURCE_MANAGED_IDENTITY_RESOURCE_ID = System.getenv().getOrDefault( + "SOURCE_MANAGED_IDENTITY_RESOURCE_ID", MANAGED_IDENTITY_RESOURCE_ID); + + private SlisManager getManager() { + return SlisManager.configure() + .withLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)) + .authenticate( + new DefaultAzureCredentialBuilder().build(), + new AzureProfile(AzureEnvironment.AZURE)); + } + + @Test + public void testSliCrudLifecycle() { + SlisManager manager = getManager(); + String sliName = "javaslitest-" + UUID.randomUUID().toString().substring(0, 8); + boolean deleted = false; + + try { + Sli createdSli = manager.slis().createOrUpdate( + SERVICE_GROUP_NAME, + sliName, + new SliInner().withProperties(createSliResource())); + + Assertions.assertNotNull(createdSli); + Assertions.assertEquals(sliName, createdSli.name()); + + Sli retrievedSli = manager.slis().get(SERVICE_GROUP_NAME, sliName); + Assertions.assertNotNull(retrievedSli); + Assertions.assertNotNull(retrievedSli.properties()); + Assertions.assertEquals(Category.LATENCY, retrievedSli.properties().category()); + Assertions.assertEquals(EvaluationType.WINDOW_BASED, retrievedSli.properties().evaluationType()); + + manager.slis().deleteByResourceGroup(SERVICE_GROUP_NAME, sliName); + deleted = true; + + Assertions.assertThrows( + ManagementException.class, + () -> manager.slis().get(SERVICE_GROUP_NAME, sliName)); + } finally { + if (!deleted) { + try { + manager.slis().deleteByResourceGroup(SERVICE_GROUP_NAME, sliName); + } catch (ManagementException ignored) { + // Resource may not have been created or may already be deleted. + } + } + } + } + + private SliResource createSliResource() { + return new SliResource() + .withDescription("Live test SLI - measures latency of test API") + .withCategory(Category.LATENCY) + .withEvaluationType(EvaluationType.WINDOW_BASED) + .withEnableAlert(true) + .withDestinationAmwAccounts(Collections.singletonList( + new AmwAccount() + .withResourceId(AMW_RESOURCE_ID) + .withIdentity(MANAGED_IDENTITY_RESOURCE_ID))) + .withBaselineProperties(new BaselineProperties() + .withBaseline(new Baseline() + .withValue(99.0) + .withEvaluationPeriodDays(30) + .withEvaluationCalculationType(EvaluationCalculationType.CALENDAR_DAYS))) + .withSliProperties(new SliProperties() + .withWindowUptimeCriteria(new WindowUptimeCriteria() + .withTarget(95.0) + .withComparator(WindowUptimeCriteriaComparator.GREATER_THAN_OR_EQUAL)) + .withSignals(new Signal() + .withSignalFormula("A") + .withSignalSources(Collections.singletonList( + new SignalSource() + .withSignalSourceId("A") + .withSourceAmwAccountManagedIdentity(SOURCE_MANAGED_IDENTITY_RESOURCE_ID) + .withSourceAmwAccountResourceId(SOURCE_AMW_RESOURCE_ID) + .withMetricNamespace("TestMetrics") + .withMetricName("TestLatency") + .withFilters(Collections.singletonList( + new Condition() + .withDimensionName("ApiName") + .withOperator(ConditionOperator.EQUAL) + .withValue("TestApi"))) + .withSpatialAggregation(new SpatialAggregation() + .withType(SpatialAggregationType.AVERAGE) + .withDimensions(Arrays.asList("Region"))) + .withTemporalAggregation(new TemporalAggregation() + .withType(TemporalAggregationType.AVERAGE) + .withWindowSizeMinutes(5)))))); + } +} diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/test-resources.bicep b/sdk/monitor/azure-resourcemanager-monitor-slis/test-resources.bicep new file mode 100644 index 0000000000000..15d7159bcec82 --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/test-resources.bicep @@ -0,0 +1,61 @@ +// test-resources.bicep for Microsoft.Monitor/slis live tests +// Provisions: +// - Azure Monitor Workspace (destination for SLI metrics) +// - User-Assigned Managed Identity (used by SLI signal sources) +// - Role assignment for the test application SP + +@description('The location of the resource. By default, this is the same as the resource group.') +param location string = resourceGroup().location + +@description('The client OID to grant access to test resources.') +param testApplicationOid string + +@description('The base resource name.') +param baseName string = resourceGroup().name + +// Azure Monitor Workspace (destination AMW account for the SLI) +resource monitorWorkspace 'Microsoft.Monitor/accounts@2023-04-03' = { + name: '${baseName}-amw' + location: location + properties: {} +} + +// User-Assigned Managed Identity (used as signal source identity) +resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = { + name: '${baseName}-sli-id' + location: location +} + +// Monitoring Reader role (43d0d8ad-25c7-4714-9337-8ba259a9fe05) +// Grants the test SP read access needed for SLI operations +var monitoringReaderRoleId = '43d0d8ad-25c7-4714-9337-8ba259a9fe05' + +resource monitoringReaderAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = { + name: guid(resourceGroup().id, testApplicationOid, monitoringReaderRoleId) + properties: { + roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', monitoringReaderRoleId) + principalId: testApplicationOid + principalType: 'ServicePrincipal' + } +} + +// Monitoring Contributor role (749f88d5-cbae-40b8-bcfc-e573ddc772fa) +// Grants the test SP write access for SLI CRUD operations +var monitoringContributorRoleId = '749f88d5-cbae-40b8-bcfc-e573ddc772fa' + +resource monitoringContributorAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = { + name: guid(resourceGroup().id, testApplicationOid, monitoringContributorRoleId) + properties: { + roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', monitoringContributorRoleId) + principalId: testApplicationOid + principalType: 'ServicePrincipal' + } +} + +// OUTPUTS - these become environment variables for the test runner +output AMW_RESOURCE_ID string = monitorWorkspace.id +output MANAGED_IDENTITY_RESOURCE_ID string = managedIdentity.id +output SOURCE_AMW_RESOURCE_ID string = monitorWorkspace.id +output SOURCE_MANAGED_IDENTITY_RESOURCE_ID string = managedIdentity.id +output SERVICE_GROUP_NAME string = 'testSG' + From 968071da9cfd8fb693b937f229b85131d670f5f7 Mon Sep 17 00:00:00 2001 From: Copilot <223556219+Copilot@users.noreply.github.com> Date: Fri, 22 May 2026 18:12:54 -0700 Subject: [PATCH 03/11] Skip Monitor SLIs live test in playback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../monitor/slis/SliCrudLiveTest.java | 100 ++++++++---------- 1 file changed, 42 insertions(+), 58 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java index 5fab384ced326..d7bec0efaf6b7 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java @@ -9,6 +9,7 @@ import com.azure.core.management.exception.ManagementException; import com.azure.core.management.profile.AzureProfile; import com.azure.core.test.TestProxyTestBase; +import com.azure.core.test.annotation.LiveOnly; import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.resourcemanager.monitor.slis.fluent.models.SliInner; import com.azure.resourcemanager.monitor.slis.models.AmwAccount; @@ -41,26 +42,26 @@ * Live CRUD test for Microsoft.Monitor/slis resource. * Tests: Create → Get → Delete → Get (expect 404). */ +@LiveOnly public class SliCrudLiveTest extends TestProxyTestBase { - private static final String SERVICE_GROUP_NAME = System.getenv().getOrDefault("SERVICE_GROUP_NAME", "arm-sdk-tests-sg"); - private static final String AMW_RESOURCE_ID = System.getenv().getOrDefault( - "AMW_RESOURCE_ID", + private static final String SERVICE_GROUP_NAME + = System.getenv().getOrDefault("SERVICE_GROUP_NAME", "arm-sdk-tests-sg"); + private static final String AMW_RESOURCE_ID = System.getenv() + .getOrDefault("AMW_RESOURCE_ID", "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/microsoft.monitor/accounts/streaming-3p-slo-am2cbn-eastus2euap-1"); - private static final String MANAGED_IDENTITY_RESOURCE_ID = System.getenv().getOrDefault( - "MANAGED_IDENTITY_RESOURCE_ID", + private static final String MANAGED_IDENTITY_RESOURCE_ID = System.getenv() + .getOrDefault("MANAGED_IDENTITY_RESOURCE_ID", "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mfrei-test-user-managed-identity"); - private static final String SOURCE_AMW_RESOURCE_ID = System.getenv().getOrDefault( - "SOURCE_AMW_RESOURCE_ID", AMW_RESOURCE_ID); - private static final String SOURCE_MANAGED_IDENTITY_RESOURCE_ID = System.getenv().getOrDefault( - "SOURCE_MANAGED_IDENTITY_RESOURCE_ID", MANAGED_IDENTITY_RESOURCE_ID); + private static final String SOURCE_AMW_RESOURCE_ID + = System.getenv().getOrDefault("SOURCE_AMW_RESOURCE_ID", AMW_RESOURCE_ID); + private static final String SOURCE_MANAGED_IDENTITY_RESOURCE_ID + = System.getenv().getOrDefault("SOURCE_MANAGED_IDENTITY_RESOURCE_ID", MANAGED_IDENTITY_RESOURCE_ID); private SlisManager getManager() { return SlisManager.configure() - .withLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)) - .authenticate( - new DefaultAzureCredentialBuilder().build(), - new AzureProfile(AzureEnvironment.AZURE)); + .withLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)) + .authenticate(new DefaultAzureCredentialBuilder().build(), new AzureProfile(AzureEnvironment.AZURE)); } @Test @@ -70,10 +71,8 @@ public void testSliCrudLifecycle() { boolean deleted = false; try { - Sli createdSli = manager.slis().createOrUpdate( - SERVICE_GROUP_NAME, - sliName, - new SliInner().withProperties(createSliResource())); + Sli createdSli = manager.slis() + .createOrUpdate(SERVICE_GROUP_NAME, sliName, new SliInner().withProperties(createSliResource())); Assertions.assertNotNull(createdSli); Assertions.assertEquals(sliName, createdSli.name()); @@ -87,9 +86,7 @@ public void testSliCrudLifecycle() { manager.slis().deleteByResourceGroup(SERVICE_GROUP_NAME, sliName); deleted = true; - Assertions.assertThrows( - ManagementException.class, - () -> manager.slis().get(SERVICE_GROUP_NAME, sliName)); + Assertions.assertThrows(ManagementException.class, () -> manager.slis().get(SERVICE_GROUP_NAME, sliName)); } finally { if (!deleted) { try { @@ -102,43 +99,30 @@ public void testSliCrudLifecycle() { } private SliResource createSliResource() { - return new SliResource() - .withDescription("Live test SLI - measures latency of test API") - .withCategory(Category.LATENCY) - .withEvaluationType(EvaluationType.WINDOW_BASED) - .withEnableAlert(true) - .withDestinationAmwAccounts(Collections.singletonList( - new AmwAccount() - .withResourceId(AMW_RESOURCE_ID) - .withIdentity(MANAGED_IDENTITY_RESOURCE_ID))) - .withBaselineProperties(new BaselineProperties() - .withBaseline(new Baseline() - .withValue(99.0) - .withEvaluationPeriodDays(30) - .withEvaluationCalculationType(EvaluationCalculationType.CALENDAR_DAYS))) - .withSliProperties(new SliProperties() - .withWindowUptimeCriteria(new WindowUptimeCriteria() - .withTarget(95.0) - .withComparator(WindowUptimeCriteriaComparator.GREATER_THAN_OR_EQUAL)) - .withSignals(new Signal() - .withSignalFormula("A") - .withSignalSources(Collections.singletonList( - new SignalSource() - .withSignalSourceId("A") - .withSourceAmwAccountManagedIdentity(SOURCE_MANAGED_IDENTITY_RESOURCE_ID) - .withSourceAmwAccountResourceId(SOURCE_AMW_RESOURCE_ID) - .withMetricNamespace("TestMetrics") - .withMetricName("TestLatency") - .withFilters(Collections.singletonList( - new Condition() - .withDimensionName("ApiName") - .withOperator(ConditionOperator.EQUAL) - .withValue("TestApi"))) - .withSpatialAggregation(new SpatialAggregation() - .withType(SpatialAggregationType.AVERAGE) - .withDimensions(Arrays.asList("Region"))) - .withTemporalAggregation(new TemporalAggregation() - .withType(TemporalAggregationType.AVERAGE) - .withWindowSizeMinutes(5)))))); + return new SliResource().withDescription("Live test SLI - measures latency of test API") + .withCategory(Category.LATENCY) + .withEvaluationType(EvaluationType.WINDOW_BASED) + .withEnableAlert(true) + .withDestinationAmwAccounts(Collections.singletonList( + new AmwAccount().withResourceId(AMW_RESOURCE_ID).withIdentity(MANAGED_IDENTITY_RESOURCE_ID))) + .withBaselineProperties(new BaselineProperties().withBaseline(new Baseline().withValue(99.0) + .withEvaluationPeriodDays(30) + .withEvaluationCalculationType(EvaluationCalculationType.CALENDAR_DAYS))) + .withSliProperties(new SliProperties() + .withWindowUptimeCriteria(new WindowUptimeCriteria().withTarget(95.0) + .withComparator(WindowUptimeCriteriaComparator.GREATER_THAN_OR_EQUAL)) + .withSignals(new Signal().withSignalFormula("A") + .withSignalSources(Collections.singletonList(new SignalSource().withSignalSourceId("A") + .withSourceAmwAccountManagedIdentity(SOURCE_MANAGED_IDENTITY_RESOURCE_ID) + .withSourceAmwAccountResourceId(SOURCE_AMW_RESOURCE_ID) + .withMetricNamespace("TestMetrics") + .withMetricName("TestLatency") + .withFilters(Collections.singletonList(new Condition().withDimensionName("ApiName") + .withOperator(ConditionOperator.EQUAL) + .withValue("TestApi"))) + .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.AVERAGE) + .withDimensions(Arrays.asList("Region"))) + .withTemporalAggregation(new TemporalAggregation().withType(TemporalAggregationType.AVERAGE) + .withWindowSizeMinutes(5)))))); } } From 2dc3bf7bd861fd3aa0c8a7cc7897b7e935fbd205 Mon Sep 17 00:00:00 2001 From: Sakattiy Date: Sat, 23 May 2026 02:15:21 -0700 Subject: [PATCH 04/11] Update SLI live test to use real AKS Prometheus metric Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../monitor/slis/SliCrudLiveTest.java | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java index d7bec0efaf6b7..8ecf3f0354314 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java @@ -20,6 +20,8 @@ import com.azure.resourcemanager.monitor.slis.models.ConditionOperator; import com.azure.resourcemanager.monitor.slis.models.EvaluationCalculationType; import com.azure.resourcemanager.monitor.slis.models.EvaluationType; +import com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentity; +import com.azure.resourcemanager.monitor.slis.models.ManagedServiceIdentityType; import com.azure.resourcemanager.monitor.slis.models.Signal; import com.azure.resourcemanager.monitor.slis.models.SignalSource; import com.azure.resourcemanager.monitor.slis.models.Sli; @@ -29,6 +31,7 @@ import com.azure.resourcemanager.monitor.slis.models.SpatialAggregationType; import com.azure.resourcemanager.monitor.slis.models.TemporalAggregation; import com.azure.resourcemanager.monitor.slis.models.TemporalAggregationType; +import com.azure.resourcemanager.monitor.slis.models.UserAssignedIdentity; import com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteria; import com.azure.resourcemanager.monitor.slis.models.WindowUptimeCriteriaComparator; import org.junit.jupiter.api.Assertions; @@ -36,13 +39,14 @@ import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; /** * Live CRUD test for Microsoft.Monitor/slis resource. * Tests: Create → Get → Delete → Get (expect 404). */ -@LiveOnly public class SliCrudLiveTest extends TestProxyTestBase { private static final String SERVICE_GROUP_NAME @@ -65,6 +69,7 @@ private SlisManager getManager() { } @Test + @LiveOnly public void testSliCrudLifecycle() { SlisManager manager = getManager(); String sliName = "javaslitest-" + UUID.randomUUID().toString().substring(0, 8); @@ -72,7 +77,8 @@ public void testSliCrudLifecycle() { try { Sli createdSli = manager.slis() - .createOrUpdate(SERVICE_GROUP_NAME, sliName, new SliInner().withProperties(createSliResource())); + .createOrUpdate(SERVICE_GROUP_NAME, sliName, + new SliInner().withIdentity(createIdentity()).withProperties(createSliResource())); Assertions.assertNotNull(createdSli); Assertions.assertEquals(sliName, createdSli.name()); @@ -98,6 +104,16 @@ public void testSliCrudLifecycle() { } } + private ManagedServiceIdentity createIdentity() { + Map identities = new HashMap<>(); + identities.put(MANAGED_IDENTITY_RESOURCE_ID, new UserAssignedIdentity()); + if (!MANAGED_IDENTITY_RESOURCE_ID.equalsIgnoreCase(SOURCE_MANAGED_IDENTITY_RESOURCE_ID)) { + identities.put(SOURCE_MANAGED_IDENTITY_RESOURCE_ID, new UserAssignedIdentity()); + } + return new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(identities); + } + private SliResource createSliResource() { return new SliResource().withDescription("Live test SLI - measures latency of test API") .withCategory(Category.LATENCY) @@ -115,14 +131,17 @@ private SliResource createSliResource() { .withSignalSources(Collections.singletonList(new SignalSource().withSignalSourceId("A") .withSourceAmwAccountManagedIdentity(SOURCE_MANAGED_IDENTITY_RESOURCE_ID) .withSourceAmwAccountResourceId(SOURCE_AMW_RESOURCE_ID) - .withMetricNamespace("TestMetrics") - .withMetricName("TestLatency") - .withFilters(Collections.singletonList(new Condition().withDimensionName("ApiName") - .withOperator(ConditionOperator.EQUAL) - .withValue("TestApi"))) - .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.AVERAGE) - .withDimensions(Arrays.asList("Region"))) - .withTemporalAggregation(new TemporalAggregation().withType(TemporalAggregationType.AVERAGE) - .withWindowSizeMinutes(5)))))); + // Source metric is a real Azure Managed Prometheus metric scraped by AKS. + // Test infra (bicep) deploys an AKS cluster with the Azure Monitor metrics addon + // pointed at the source AMW; container_cpu_usage_seconds_total is always populated. + .withMetricNamespace("customdefault") + .withMetricName("container_cpu_usage_seconds_total") + .withFilters(Collections.singletonList(new Condition().withDimensionName("container") + .withOperator(ConditionOperator.NOT_EQUAL) + .withValue("POD"))) + .withSpatialAggregation(new SpatialAggregation().withType(SpatialAggregationType.SUM) + .withDimensions(Arrays.asList("instance"))) + .withTemporalAggregation(new TemporalAggregation().withType(TemporalAggregationType.RATE) + .withWindowSizeMinutes(1)))))); } } From c48ec89572c89aea8e9ec83049c245b821b3bf7f Mon Sep 17 00:00:00 2001 From: Sakattiy Date: Sat, 23 May 2026 11:57:07 -0700 Subject: [PATCH 05/11] Add record/playback support to SLI CRUD test - Drop @LiveOnly annotation and rebuild test atop TestProxyTestBase - Use interceptorManager record policy / playback client to route through test-proxy - Hard-code sanitized subscription id in playback to match scrubbed recording - Use testResourceNamer.randomName so sli name is replayed deterministically - Push session-record to azure-sdk-assets (Tag java/monitor/azure-resourcemanager-monitor-slis_7b447d0598) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../assets.json | 2 +- .../monitor/slis/SliCrudLiveTest.java | 120 ++++++++++++------ 2 files changed, 84 insertions(+), 38 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json b/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json index 6358ba8074d16..c098184b36ab3 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "java", "TagPrefix": "java/monitor/azure-resourcemanager-monitor-slis", - "Tag": "" + "Tag": "java/monitor/azure-resourcemanager-monitor-slis_7b447d0598" } diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java index 8ecf3f0354314..13ced6255f81f 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/SliCrudLiveTest.java @@ -3,13 +3,17 @@ package com.azure.resourcemanager.monitor.slis; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.management.AzureEnvironment; import com.azure.core.management.exception.ManagementException; import com.azure.core.management.profile.AzureProfile; +import com.azure.core.test.TestMode; import com.azure.core.test.TestProxyTestBase; -import com.azure.core.test.annotation.LiveOnly; +import com.azure.core.test.models.TestProxySanitizer; +import com.azure.core.test.models.TestProxySanitizerType; +import com.azure.core.test.utils.MockTokenCredential; import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.resourcemanager.monitor.slis.fluent.models.SliInner; import com.azure.resourcemanager.monitor.slis.models.AmwAccount; @@ -41,62 +45,104 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.UUID; /** - * Live CRUD test for Microsoft.Monitor/slis resource. - * Tests: Create → Get → Delete → Get (expect 404). + * Record/playback CRUD test for Microsoft.Monitor/slis resource. + * Tests: Create -> Get -> Delete -> Get (expect 404). */ public class SliCrudLiveTest extends TestProxyTestBase { - private static final String SERVICE_GROUP_NAME - = System.getenv().getOrDefault("SERVICE_GROUP_NAME", "arm-sdk-tests-sg"); - private static final String AMW_RESOURCE_ID = System.getenv() - .getOrDefault("AMW_RESOURCE_ID", - "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/microsoft.monitor/accounts/streaming-3p-slo-am2cbn-eastus2euap-1"); - private static final String MANAGED_IDENTITY_RESOURCE_ID = System.getenv() - .getOrDefault("MANAGED_IDENTITY_RESOURCE_ID", - "/subscriptions/6820e35f-0fe6-4af3-aad2-27414fa82621/resourceGroups/mfrei/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mfrei-test-user-managed-identity"); - private static final String SOURCE_AMW_RESOURCE_ID - = System.getenv().getOrDefault("SOURCE_AMW_RESOURCE_ID", AMW_RESOURCE_ID); - private static final String SOURCE_MANAGED_IDENTITY_RESOURCE_ID - = System.getenv().getOrDefault("SOURCE_MANAGED_IDENTITY_RESOURCE_ID", MANAGED_IDENTITY_RESOURCE_ID); - - private SlisManager getManager() { - return SlisManager.configure() - .withLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)) - .authenticate(new DefaultAzureCredentialBuilder().build(), new AzureProfile(AzureEnvironment.AZURE)); + // Sanitized placeholder subscription used in playback; matches what test-proxy writes into + // recordings when the live subscription id is redacted by the default sanitizer. + private static final String PLAYBACK_SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000"; + + private static final String DEFAULT_AMW_RESOURCE_ID_TEMPLATE + = "/subscriptions/%s/resourceGroups/arm-sdk-tests-rg/providers/microsoft.monitor/accounts/amw-arm-sdk-tests-rg"; + private static final String DEFAULT_MANAGED_IDENTITY_RESOURCE_ID_TEMPLATE + = "/subscriptions/%s/resourceGroups/arm-sdk-tests-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami-arm-sdk-tests-rg"; + + private String serviceGroupName; + private String amwResourceId; + private String managedIdentityResourceId; + private String sourceAmwResourceId; + private String sourceManagedIdentityResourceId; + + private void initializeTestValues() { + if (!interceptorManager.isLiveMode()) { + // Redact real subscription ids in recordings so the playback test (and committed + // recording) doesn't depend on / leak the recording sub id. + interceptorManager.addSanitizers(new TestProxySanitizer( + "/subscriptions/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", + "/subscriptions/" + PLAYBACK_SUBSCRIPTION_ID, TestProxySanitizerType.BODY_REGEX)); + } + if (interceptorManager.isPlaybackMode()) { + serviceGroupName = "arm-sdk-tests-sg"; + amwResourceId = String.format(DEFAULT_AMW_RESOURCE_ID_TEMPLATE, PLAYBACK_SUBSCRIPTION_ID); + managedIdentityResourceId + = String.format(DEFAULT_MANAGED_IDENTITY_RESOURCE_ID_TEMPLATE, PLAYBACK_SUBSCRIPTION_ID); + } else { + serviceGroupName = System.getenv().getOrDefault("SERVICE_GROUP_NAME", "arm-sdk-tests-sg"); + amwResourceId = System.getenv() + .getOrDefault("AMW_RESOURCE_ID", String.format(DEFAULT_AMW_RESOURCE_ID_TEMPLATE, + System.getenv().getOrDefault("AZURE_SUBSCRIPTION_ID", PLAYBACK_SUBSCRIPTION_ID))); + managedIdentityResourceId = System.getenv() + .getOrDefault("MANAGED_IDENTITY_RESOURCE_ID", + String.format(DEFAULT_MANAGED_IDENTITY_RESOURCE_ID_TEMPLATE, + System.getenv().getOrDefault("AZURE_SUBSCRIPTION_ID", PLAYBACK_SUBSCRIPTION_ID))); + } + sourceAmwResourceId = System.getenv().getOrDefault("SOURCE_AMW_RESOURCE_ID", amwResourceId); + sourceManagedIdentityResourceId + = System.getenv().getOrDefault("SOURCE_MANAGED_IDENTITY_RESOURCE_ID", managedIdentityResourceId); + } + + private SlisManager buildManager() { + AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE); + SlisManager.Configurable configurable + = SlisManager.configure().withLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + + TokenCredential credential; + if (getTestMode() == TestMode.PLAYBACK) { + credential = new MockTokenCredential(); + configurable.withHttpClient(interceptorManager.getPlaybackClient()); + } else if (getTestMode() == TestMode.RECORD) { + credential = new DefaultAzureCredentialBuilder().build(); + configurable.withPolicy(interceptorManager.getRecordPolicy()); + } else { + // LIVE + credential = new DefaultAzureCredentialBuilder().build(); + } + return configurable.authenticate(credential, profile); } @Test - @LiveOnly public void testSliCrudLifecycle() { - SlisManager manager = getManager(); - String sliName = "javaslitest-" + UUID.randomUUID().toString().substring(0, 8); + initializeTestValues(); + SlisManager manager = buildManager(); + String sliName = testResourceNamer.randomName("javasli", 16); boolean deleted = false; try { Sli createdSli = manager.slis() - .createOrUpdate(SERVICE_GROUP_NAME, sliName, + .createOrUpdate(serviceGroupName, sliName, new SliInner().withIdentity(createIdentity()).withProperties(createSliResource())); Assertions.assertNotNull(createdSli); - Assertions.assertEquals(sliName, createdSli.name()); + Assertions.assertNotNull(createdSli.name()); - Sli retrievedSli = manager.slis().get(SERVICE_GROUP_NAME, sliName); + Sli retrievedSli = manager.slis().get(serviceGroupName, sliName); Assertions.assertNotNull(retrievedSli); Assertions.assertNotNull(retrievedSli.properties()); Assertions.assertEquals(Category.LATENCY, retrievedSli.properties().category()); Assertions.assertEquals(EvaluationType.WINDOW_BASED, retrievedSli.properties().evaluationType()); - manager.slis().deleteByResourceGroup(SERVICE_GROUP_NAME, sliName); + manager.slis().deleteByResourceGroup(serviceGroupName, sliName); deleted = true; - Assertions.assertThrows(ManagementException.class, () -> manager.slis().get(SERVICE_GROUP_NAME, sliName)); + Assertions.assertThrows(ManagementException.class, () -> manager.slis().get(serviceGroupName, sliName)); } finally { if (!deleted) { try { - manager.slis().deleteByResourceGroup(SERVICE_GROUP_NAME, sliName); + manager.slis().deleteByResourceGroup(serviceGroupName, sliName); } catch (ManagementException ignored) { // Resource may not have been created or may already be deleted. } @@ -106,9 +152,9 @@ public void testSliCrudLifecycle() { private ManagedServiceIdentity createIdentity() { Map identities = new HashMap<>(); - identities.put(MANAGED_IDENTITY_RESOURCE_ID, new UserAssignedIdentity()); - if (!MANAGED_IDENTITY_RESOURCE_ID.equalsIgnoreCase(SOURCE_MANAGED_IDENTITY_RESOURCE_ID)) { - identities.put(SOURCE_MANAGED_IDENTITY_RESOURCE_ID, new UserAssignedIdentity()); + identities.put(managedIdentityResourceId, new UserAssignedIdentity()); + if (!managedIdentityResourceId.equalsIgnoreCase(sourceManagedIdentityResourceId)) { + identities.put(sourceManagedIdentityResourceId, new UserAssignedIdentity()); } return new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) .withUserAssignedIdentities(identities); @@ -119,8 +165,8 @@ private SliResource createSliResource() { .withCategory(Category.LATENCY) .withEvaluationType(EvaluationType.WINDOW_BASED) .withEnableAlert(true) - .withDestinationAmwAccounts(Collections.singletonList( - new AmwAccount().withResourceId(AMW_RESOURCE_ID).withIdentity(MANAGED_IDENTITY_RESOURCE_ID))) + .withDestinationAmwAccounts(Collections + .singletonList(new AmwAccount().withResourceId(amwResourceId).withIdentity(managedIdentityResourceId))) .withBaselineProperties(new BaselineProperties().withBaseline(new Baseline().withValue(99.0) .withEvaluationPeriodDays(30) .withEvaluationCalculationType(EvaluationCalculationType.CALENDAR_DAYS))) @@ -129,8 +175,8 @@ private SliResource createSliResource() { .withComparator(WindowUptimeCriteriaComparator.GREATER_THAN_OR_EQUAL)) .withSignals(new Signal().withSignalFormula("A") .withSignalSources(Collections.singletonList(new SignalSource().withSignalSourceId("A") - .withSourceAmwAccountManagedIdentity(SOURCE_MANAGED_IDENTITY_RESOURCE_ID) - .withSourceAmwAccountResourceId(SOURCE_AMW_RESOURCE_ID) + .withSourceAmwAccountManagedIdentity(sourceManagedIdentityResourceId) + .withSourceAmwAccountResourceId(sourceAmwResourceId) // Source metric is a real Azure Managed Prometheus metric scraped by AKS. // Test infra (bicep) deploys an AKS cluster with the Azure Monitor metrics addon // pointed at the source AMW; container_cpu_usage_seconds_total is always populated. From 437c0fc948ff5860bab2d89418a1d85b0cbeefaf Mon Sep 17 00:00:00 2001 From: Sakattiy Date: Sat, 23 May 2026 16:42:15 -0700 Subject: [PATCH 06/11] Address review: expand CHANGELOG and use {@code} in JavaDoc Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../CHANGELOG.md | 11 ++++++++++- .../monitor/slis/models/Condition.java | 18 ++++++++++-------- .../monitor/slis/models/ConditionOperator.java | 7 ++++--- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md index f199a0982ae94..4295cd7ae48d9 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md @@ -1,14 +1,23 @@ # Release History -## 1.0.0-beta.2 (2026-05-23) +## 1.0.0-beta.2 (Unreleased) - Azure Resource Manager Slis client library for Java. This package contains Microsoft Azure SDK for Slis Management SDK. Package api-version 2025-03-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). ### Breaking Changes +#### `models.ConditionOperator` was modified + +* Wire values changed: `==` to `eq`, `!=` to `ne`, `>` to `gt`, `>=` to `gte`, `<` to `lt`, `<=` to `lte`, `@in` to `in`, `!in` to `notin`, `!contains` to `notcontains`, and `!startswith` to `notstartswith` + +#### `models.WindowUptimeCriteriaComparator` was modified + +* Wire values changed: `>` to `gt`, `>=` to `gte`, `<` to `lt`, and `<=` to `lte` + #### `models.SamplingType` was modified * `AVG` was removed +* Wire-value casing changed for `MAX`, `MIN`, and `SUM` to `"Max"`, `"Min"`, and `"Sum"` ### Features Added diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java index 0deb3f69dca87..16d4e65da29db 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java @@ -38,8 +38,8 @@ public final class Condition implements JsonSerializable { /* * Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, notstartswith, contains, - * notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and `notin` operators, multiple - * values must be joined by the delimiter `^^` (for example "east^^west^^north"). + * notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and {@code notin} + * operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). */ private String value; @@ -130,9 +130,10 @@ public Condition withOperator(ConditionOperator operator) { } /** - * Get the value property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, - * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and - * `notin` operators, multiple values must be joined by the delimiter `^^` (for example "east^^west^^north"). + * Get the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, + * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For + * the {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for + * example "east^^west^^north"). * * @return the value value. */ @@ -141,9 +142,10 @@ public String value() { } /** - * Set the value property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, - * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the `in` and - * `notin` operators, multiple values must be joined by the delimiter `^^` (for example "east^^west^^north"). + * Set the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, + * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For + * the {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for + * example "east^^west^^north"). * * @param value the value value to set. * @return the Condition object itself. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java index 5152b8d09d306..bd2579cfd9329 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java @@ -42,13 +42,14 @@ public final class ConditionOperator extends ExpandableStringEnum Date: Sat, 23 May 2026 16:56:41 -0700 Subject: [PATCH 07/11] Ensure SLI review fixes survive code generation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../customization/pom.xml | 17 ++++++++ .../main/java/MonitorSlisCustomization.java | 42 +++++++++++++++++++ .../monitor/slis/models/Condition.java | 18 ++++---- .../slis/models/ConditionOperator.java | 7 ++-- 4 files changed, 70 insertions(+), 14 deletions(-) create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/customization/pom.xml create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/customization/src/main/java/MonitorSlisCustomization.java diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/customization/pom.xml b/sdk/monitor/azure-resourcemanager-monitor-slis/customization/pom.xml new file mode 100644 index 0000000000000..8d59b7a925779 --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/customization/pom.xml @@ -0,0 +1,17 @@ + + + + + com.azure + azure-code-customization-parent + 1.0.0-beta.1 + ../../../parents/azure-code-customization-parent + + + com.azure.resourcemanager + azure-resourcemanager-monitor-slis-customization + 1.0.0-beta.1 + 4.0.0 + diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/customization/src/main/java/MonitorSlisCustomization.java b/sdk/monitor/azure-resourcemanager-monitor-slis/customization/src/main/java/MonitorSlisCustomization.java new file mode 100644 index 0000000000000..fe03f77a12ddc --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/customization/src/main/java/MonitorSlisCustomization.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import com.azure.autorest.customization.Customization; +import com.azure.autorest.customization.Editor; +import com.azure.autorest.customization.LibraryCustomization; +import org.slf4j.Logger; + +/** + * Code customization after code generation. + */ +public class MonitorSlisCustomization extends Customization { + @Override + public void customize(LibraryCustomization customization, Logger logger) { + Editor editor = customization.getRawEditor(); + customizeConditionOperator(editor); + customizeCondition(editor); + } + + private static void customizeConditionOperator(Editor editor) { + String fileName = "src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java"; + String fileContent = editor.getFileContent(fileName) + .replace("Matches when `value` is one of the items in the `^^`-delimited list (for example, `value` = \"east^^west^^north\").", + "Matches when {@code value} is one of the items in the {@code ^^}-delimited list (for example, {@code value} = \"east^^west^^north\").") + .replace("Matches when `value` is none of the items in the `^^`-delimited list (for example, `value` =", + "Matches when {@code value} is none of the items in the {@code ^^}-delimited list (for example, {@code value} ="); + + editor.replaceFile(fileName, fileContent); + } + + private static void customizeCondition(Editor editor) { + String fileName = "src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java"; + String fileContent = editor.getFileContent(fileName) + .replace("`in`", "{@code in}") + .replace("`notin`", "{@code notin}") + .replace("`^^`", "{@code ^^}") + .replace("Get the value property:", "Get the {@code value} property:") + .replace("Set the value property:", "Set the {@code value} property:"); + + editor.replaceFile(fileName, fileContent); + } +} diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java index 16d4e65da29db..47e0a7a62b8d1 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java @@ -38,8 +38,8 @@ public final class Condition implements JsonSerializable { /* * Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, notstartswith, contains, - * notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and {@code notin} - * operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). + * notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and {@code notin} operators, multiple + * values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). */ private String value; @@ -130,10 +130,9 @@ public Condition withOperator(ConditionOperator operator) { } /** - * Get the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, - * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For - * the {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for - * example "east^^west^^north"). + * Get the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, + * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and + * {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). * * @return the value value. */ @@ -142,10 +141,9 @@ public String value() { } /** - * Set the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, - * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For - * the {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for - * example "east^^west^^north"). + * Set the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, + * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and + * {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). * * @param value the value value to set. * @return the Condition object itself. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java index bd2579cfd9329..bd88771bf6652 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java @@ -42,14 +42,13 @@ public final class ConditionOperator extends ExpandableStringEnum Date: Sat, 23 May 2026 17:12:24 -0700 Subject: [PATCH 08/11] Point Monitor SLIs generation to Java customization config Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../azure-resourcemanager-monitor-slis/tsp-location.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml b/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml index 2272356af846c..e8b936ee8b443 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/monitoringservice/resource-manager/Microsoft.Monitor/Slis -commit: 8be8c75d9bb11ea95d8a7e251db74aa78b5cd76c +commit: 2d059d2e8ddc0e47eb900546b7c74633ce6350cd repo: Azure/azure-rest-api-specs additionalDirectories: From 197a83ab9c86093a94cac7a242d517674d579414 Mon Sep 17 00:00:00 2001 From: Sakattiy Date: Sat, 23 May 2026 17:32:33 -0700 Subject: [PATCH 09/11] Align SLI JavaDoc formatting with regeneration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../monitor/slis/models/Condition.java | 18 ++++++++++-------- .../monitor/slis/models/ConditionOperator.java | 3 ++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java index 47e0a7a62b8d1..ca7d3a52f8f8b 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/Condition.java @@ -38,8 +38,8 @@ public final class Condition implements JsonSerializable { /* * Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, notstartswith, contains, - * notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and {@code notin} operators, multiple - * values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). + * notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and {@code notin} + * operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). */ private String value; @@ -130,9 +130,10 @@ public Condition withOperator(ConditionOperator operator) { } /** - * Get the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, - * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and - * {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). + * Get the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, + * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the + * {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example + * "east^^west^^north"). * * @return the value value. */ @@ -141,9 +142,10 @@ public String value() { } /** - * Set the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, startswith, - * notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the {@code in} and - * {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example "east^^west^^north"). + * Set the {@code value} property: Value used in filtering. For most operators (eq, ne, lt, lte, gt, gte, + * startswith, notstartswith, contains, notcontains) this is a single value (for example "GetContosoUsers"). For the + * {@code in} and {@code notin} operators, multiple values must be joined by the delimiter {@code ^^} (for example + * "east^^west^^north"). * * @param value the value value to set. * @return the Condition object itself. diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java index bd88771bf6652..a17a09c463d63 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionOperator.java @@ -42,7 +42,8 @@ public final class ConditionOperator extends ExpandableStringEnum Date: Tue, 26 May 2026 12:57:03 -0700 Subject: [PATCH 10/11] Add ConditionValues utility for in/notin list operators Introduce a hand-written sibling utility class ConditionValues in the models package, alongside the generated final Condition class. It exposes values(Condition), withValues(Condition, List), and forListOperator(ConditionOperator, List) helpers that round-trip through the wire `value` string by joining/splitting on the ^^ separator used by the SLI resource provider for the in/notin operators. forListOperator rejects non-list operators, empty lists, and items containing the reserved separator. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../CHANGELOG.md | 4 + .../monitor/slis/models/ConditionValues.java | 102 ++++++++++++++++++ .../monitor/slis/ConditionValuesTests.java | 73 +++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java create mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md index 4295cd7ae48d9..5846ec1ae9ded 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md @@ -26,6 +26,10 @@ * `AVERAGE` was added * `COUNT` was added +#### `models.ConditionValues` was added + +* New utility class with `values(Condition)`, `withValues(Condition, List)`, and `forListOperator(ConditionOperator, List)` helpers that transparently join/split list values on the wire `^^` separator used by the `in` and `notin` operators. + ## 1.0.0-beta.1 (2026-04-22) ### Features Added diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java new file mode 100644 index 0000000000000..2bc44422a8a3b --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.resourcemanager.monitor.slis.models; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +/** + * Utility helpers for the {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} + * operators, which the SLI resource provider expects as a {@code ^^}-delimited string in the wire + * {@link Condition#value()} field. + * + *

The {@link Condition} class is generated and marked {@code final}, so these helpers live in a + * sibling utility class instead of as instance methods.

+ */ +public final class ConditionValues { + + /** + * Literal delimiter the SLI resource provider expects between list items for the + * {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} operators. + */ + public static final String IN_VALUE_SEPARATOR = "^^"; + + private ConditionValues() { + // Utility class; not instantiable. + } + + /** + * Returns the list of items encoded into {@link Condition#value()} for the + * {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} operators by splitting on + * the literal {@code ^^} separator. Returns an empty, unmodifiable list when the value is + * {@code null}. + * + * @param condition the condition to read. + * @return the list of values, or an empty list when {@link Condition#value()} is {@code null}. + * @throws NullPointerException if {@code condition} is {@code null}. + */ + public static List values(Condition condition) { + Objects.requireNonNull(condition, "condition"); + String raw = condition.value(); + if (raw == null) { + return Collections.emptyList(); + } + return Arrays.asList(raw.split(java.util.regex.Pattern.quote(IN_VALUE_SEPARATOR), -1)); + } + + /** + * Sets {@link Condition#value()} by joining {@code values} with the literal {@code ^^} + * separator used on the wire for the {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} + * operators. Passing {@code null} clears the value; passing an empty list sets it to an empty + * string. + * + * @param condition the condition to mutate. + * @param values the values to encode. + * @return the same {@link Condition} instance for chaining. + * @throws NullPointerException if {@code condition} is {@code null}. + */ + public static Condition withValues(Condition condition, List values) { + Objects.requireNonNull(condition, "condition"); + if (values == null) { + return condition.withValue(null); + } + return condition.withValue(String.join(IN_VALUE_SEPARATOR, values)); + } + + /** + * Builds a new {@link Condition} for a list operator ({@link ConditionOperator#IN} or + * {@link ConditionOperator#NOT_IN}) by joining {@code values} with the wire {@code ^^} + * separator. + * + * @param operator must be {@link ConditionOperator#IN} or {@link ConditionOperator#NOT_IN}. + * @param values items to encode; must contain at least one item and no item may contain the + * reserved {@code ^^} separator. + * @return the populated {@link Condition}. + * @throws NullPointerException if {@code operator} or {@code values} is {@code null}. + * @throws IllegalArgumentException if {@code operator} is not a list operator, {@code values} + * is empty, or any item contains the reserved {@code ^^} + * separator. + */ + public static Condition forListOperator(ConditionOperator operator, List values) { + Objects.requireNonNull(operator, "operator"); + Objects.requireNonNull(values, "values"); + if (!ConditionOperator.IN.equals(operator) && !ConditionOperator.NOT_IN.equals(operator)) { + throw new IllegalArgumentException( + "operator must be ConditionOperator.IN or ConditionOperator.NOT_IN; got '" + operator + "'."); + } + if (values.isEmpty()) { + throw new IllegalArgumentException("At least one value is required for list operators."); + } + for (int i = 0; i < values.size(); i++) { + String item = values.get(i); + if (item != null && item.contains(IN_VALUE_SEPARATOR)) { + throw new IllegalArgumentException( + "Value at index " + i + " contains the reserved '" + IN_VALUE_SEPARATOR + "' separator."); + } + } + return new Condition().withOperator(operator).withValue(String.join(IN_VALUE_SEPARATOR, values)); + } +} diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java new file mode 100644 index 0000000000000..caca3bd61837f --- /dev/null +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.resourcemanager.monitor.slis; + +import com.azure.resourcemanager.monitor.slis.models.Condition; +import com.azure.resourcemanager.monitor.slis.models.ConditionOperator; +import com.azure.resourcemanager.monitor.slis.models.ConditionValues; +import java.util.Arrays; +import java.util.Collections; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public final class ConditionValuesTests { + + @Test + public void valuesRoundTripThroughWireValue() { + Condition c = new Condition().withOperator(ConditionOperator.IN).withValue("east^^west^^north"); + Assertions.assertEquals(Arrays.asList("east", "west", "north"), ConditionValues.values(c)); + } + + @Test + public void withValuesJoinsWithSeparator() { + Condition c = new Condition().withOperator(ConditionOperator.IN); + ConditionValues.withValues(c, Arrays.asList("east", "west", "north")); + Assertions.assertEquals("east^^west^^north", c.value()); + } + + @Test + public void withValuesNullClearsValue() { + Condition c = new Condition().withOperator(ConditionOperator.IN).withValue("east^^west"); + ConditionValues.withValues(c, null); + Assertions.assertNull(c.value()); + } + + @Test + public void valuesEmptyWhenValueNull() { + Condition c = new Condition().withOperator(ConditionOperator.IN); + Assertions.assertEquals(Collections.emptyList(), ConditionValues.values(c)); + } + + @Test + public void forListOperatorIn() { + Condition c = ConditionValues.forListOperator(ConditionOperator.IN, Arrays.asList("east", "west")); + Assertions.assertEquals(ConditionOperator.IN, c.operator()); + Assertions.assertEquals("east^^west", c.value()); + } + + @Test + public void forListOperatorNotIn() { + Condition c = ConditionValues.forListOperator(ConditionOperator.NOT_IN, Collections.singletonList("only")); + Assertions.assertEquals(ConditionOperator.NOT_IN, c.operator()); + Assertions.assertEquals("only", c.value()); + } + + @Test + public void forListOperatorRejectsWrongOperator() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> ConditionValues.forListOperator(ConditionOperator.EQUAL, Arrays.asList("east"))); + } + + @Test + public void forListOperatorRejectsEmpty() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> ConditionValues.forListOperator(ConditionOperator.IN, Collections.emptyList())); + } + + @Test + public void forListOperatorRejectsItemContainingSeparator() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> ConditionValues.forListOperator(ConditionOperator.IN, Arrays.asList("ok", "bad^^value"))); + } +} From 0b3761fc20b529ae4c05fa6a65a5f0dfbafcf43e Mon Sep 17 00:00:00 2001 From: Sakattiy Date: Tue, 26 May 2026 14:05:02 -0700 Subject: [PATCH 11/11] Revert "Add ConditionValues utility for in/notin list operators" This reverts commit 5e1900241c73010a6d3b4a1c5bb9f0272e655b88. The SDK-side ^^-splitting customization papers over a wire-format quirk that should be fixed in the service contract instead. Drop the customization until the service exposes a structured `values` field; once it does, the SDK will surface it naturally without us hand-rolling a parser whose round-trip / mutability semantics are non-obvious. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../CHANGELOG.md | 4 - .../monitor/slis/models/ConditionValues.java | 102 ------------------ .../monitor/slis/ConditionValuesTests.java | 73 ------------- 3 files changed, 179 deletions(-) delete mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java delete mode 100644 sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md index 5846ec1ae9ded..4295cd7ae48d9 100644 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md +++ b/sdk/monitor/azure-resourcemanager-monitor-slis/CHANGELOG.md @@ -26,10 +26,6 @@ * `AVERAGE` was added * `COUNT` was added -#### `models.ConditionValues` was added - -* New utility class with `values(Condition)`, `withValues(Condition, List)`, and `forListOperator(ConditionOperator, List)` helpers that transparently join/split list values on the wire `^^` separator used by the `in` and `notin` operators. - ## 1.0.0-beta.1 (2026-04-22) ### Features Added diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java deleted file mode 100644 index 2bc44422a8a3b..0000000000000 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/main/java/com/azure/resourcemanager/monitor/slis/models/ConditionValues.java +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.resourcemanager.monitor.slis.models; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -/** - * Utility helpers for the {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} - * operators, which the SLI resource provider expects as a {@code ^^}-delimited string in the wire - * {@link Condition#value()} field. - * - *

The {@link Condition} class is generated and marked {@code final}, so these helpers live in a - * sibling utility class instead of as instance methods.

- */ -public final class ConditionValues { - - /** - * Literal delimiter the SLI resource provider expects between list items for the - * {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} operators. - */ - public static final String IN_VALUE_SEPARATOR = "^^"; - - private ConditionValues() { - // Utility class; not instantiable. - } - - /** - * Returns the list of items encoded into {@link Condition#value()} for the - * {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} operators by splitting on - * the literal {@code ^^} separator. Returns an empty, unmodifiable list when the value is - * {@code null}. - * - * @param condition the condition to read. - * @return the list of values, or an empty list when {@link Condition#value()} is {@code null}. - * @throws NullPointerException if {@code condition} is {@code null}. - */ - public static List values(Condition condition) { - Objects.requireNonNull(condition, "condition"); - String raw = condition.value(); - if (raw == null) { - return Collections.emptyList(); - } - return Arrays.asList(raw.split(java.util.regex.Pattern.quote(IN_VALUE_SEPARATOR), -1)); - } - - /** - * Sets {@link Condition#value()} by joining {@code values} with the literal {@code ^^} - * separator used on the wire for the {@link ConditionOperator#IN} / {@link ConditionOperator#NOT_IN} - * operators. Passing {@code null} clears the value; passing an empty list sets it to an empty - * string. - * - * @param condition the condition to mutate. - * @param values the values to encode. - * @return the same {@link Condition} instance for chaining. - * @throws NullPointerException if {@code condition} is {@code null}. - */ - public static Condition withValues(Condition condition, List values) { - Objects.requireNonNull(condition, "condition"); - if (values == null) { - return condition.withValue(null); - } - return condition.withValue(String.join(IN_VALUE_SEPARATOR, values)); - } - - /** - * Builds a new {@link Condition} for a list operator ({@link ConditionOperator#IN} or - * {@link ConditionOperator#NOT_IN}) by joining {@code values} with the wire {@code ^^} - * separator. - * - * @param operator must be {@link ConditionOperator#IN} or {@link ConditionOperator#NOT_IN}. - * @param values items to encode; must contain at least one item and no item may contain the - * reserved {@code ^^} separator. - * @return the populated {@link Condition}. - * @throws NullPointerException if {@code operator} or {@code values} is {@code null}. - * @throws IllegalArgumentException if {@code operator} is not a list operator, {@code values} - * is empty, or any item contains the reserved {@code ^^} - * separator. - */ - public static Condition forListOperator(ConditionOperator operator, List values) { - Objects.requireNonNull(operator, "operator"); - Objects.requireNonNull(values, "values"); - if (!ConditionOperator.IN.equals(operator) && !ConditionOperator.NOT_IN.equals(operator)) { - throw new IllegalArgumentException( - "operator must be ConditionOperator.IN or ConditionOperator.NOT_IN; got '" + operator + "'."); - } - if (values.isEmpty()) { - throw new IllegalArgumentException("At least one value is required for list operators."); - } - for (int i = 0; i < values.size(); i++) { - String item = values.get(i); - if (item != null && item.contains(IN_VALUE_SEPARATOR)) { - throw new IllegalArgumentException( - "Value at index " + i + " contains the reserved '" + IN_VALUE_SEPARATOR + "' separator."); - } - } - return new Condition().withOperator(operator).withValue(String.join(IN_VALUE_SEPARATOR, values)); - } -} diff --git a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java b/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java deleted file mode 100644 index caca3bd61837f..0000000000000 --- a/sdk/monitor/azure-resourcemanager-monitor-slis/src/test/java/com/azure/resourcemanager/monitor/slis/ConditionValuesTests.java +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.resourcemanager.monitor.slis; - -import com.azure.resourcemanager.monitor.slis.models.Condition; -import com.azure.resourcemanager.monitor.slis.models.ConditionOperator; -import com.azure.resourcemanager.monitor.slis.models.ConditionValues; -import java.util.Arrays; -import java.util.Collections; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -public final class ConditionValuesTests { - - @Test - public void valuesRoundTripThroughWireValue() { - Condition c = new Condition().withOperator(ConditionOperator.IN).withValue("east^^west^^north"); - Assertions.assertEquals(Arrays.asList("east", "west", "north"), ConditionValues.values(c)); - } - - @Test - public void withValuesJoinsWithSeparator() { - Condition c = new Condition().withOperator(ConditionOperator.IN); - ConditionValues.withValues(c, Arrays.asList("east", "west", "north")); - Assertions.assertEquals("east^^west^^north", c.value()); - } - - @Test - public void withValuesNullClearsValue() { - Condition c = new Condition().withOperator(ConditionOperator.IN).withValue("east^^west"); - ConditionValues.withValues(c, null); - Assertions.assertNull(c.value()); - } - - @Test - public void valuesEmptyWhenValueNull() { - Condition c = new Condition().withOperator(ConditionOperator.IN); - Assertions.assertEquals(Collections.emptyList(), ConditionValues.values(c)); - } - - @Test - public void forListOperatorIn() { - Condition c = ConditionValues.forListOperator(ConditionOperator.IN, Arrays.asList("east", "west")); - Assertions.assertEquals(ConditionOperator.IN, c.operator()); - Assertions.assertEquals("east^^west", c.value()); - } - - @Test - public void forListOperatorNotIn() { - Condition c = ConditionValues.forListOperator(ConditionOperator.NOT_IN, Collections.singletonList("only")); - Assertions.assertEquals(ConditionOperator.NOT_IN, c.operator()); - Assertions.assertEquals("only", c.value()); - } - - @Test - public void forListOperatorRejectsWrongOperator() { - Assertions.assertThrows(IllegalArgumentException.class, - () -> ConditionValues.forListOperator(ConditionOperator.EQUAL, Arrays.asList("east"))); - } - - @Test - public void forListOperatorRejectsEmpty() { - Assertions.assertThrows(IllegalArgumentException.class, - () -> ConditionValues.forListOperator(ConditionOperator.IN, Collections.emptyList())); - } - - @Test - public void forListOperatorRejectsItemContainingSeparator() { - Assertions.assertThrows(IllegalArgumentException.class, - () -> ConditionValues.forListOperator(ConditionOperator.IN, Arrays.asList("ok", "bad^^value"))); - } -}