Skip to content

Commit 7644fe5

Browse files
authored
flatten DimensionGroupIdentity (Azure#19339)
* flatten DimensionGroupIdentity * update
1 parent 708bca1 commit 7644fe5

File tree

4 files changed

+55
-9
lines changed

4 files changed

+55
-9
lines changed

sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
EnrichmentStatusQueryOption,
2323
SeriesIdentity,
2424
FeedbackDimensionFilter,
25+
DimensionGroupIdentity,
2526
)
2627
from ._generated import MicrosoftAzureMetricsAdvisorRESTAPIOpenAPIV2 as _Client
2728
from ._helpers import convert_to_sub_feedback, convert_datetime, get_authentication_policy
@@ -378,7 +379,8 @@ def _list_anomalies_for_detection_configuration(self, detection_configuration_id
378379
# type: (...) -> ItemPaged[DataPointAnomaly]
379380

380381
skip = kwargs.pop('skip', None)
381-
filter_condition = kwargs.pop('filter', None)
382+
condition = kwargs.pop('filter', None)
383+
filter_condition = condition._to_generated() if condition else None
382384
converted_start_time = convert_datetime(start_time)
383385
converted_end_time = convert_datetime(end_time)
384386
detection_anomaly_result_query = DetectionAnomalyResultQuery(
@@ -496,7 +498,7 @@ def list_anomaly_dimension_values(
496498
:param Union[str, datetime.datetime] start_time: start time filter under chosen time mode.
497499
:param Union[str, datetime.datetime] end_time: end time filter under chosen time mode.
498500
:keyword int skip:
499-
:paramtype dimension_filter: ~azure.ai.metricsadvisor.models.DimensionGroupIdentity
501+
:keyword Dict[str, str] dimension_filter: filter specfic dimension name and values.
500502
:return: Dimension values of anomalies.
501503
:rtype: ~azure.core.paging.ItemPaged[str]
502504
:raises ~azure.core.exceptions.HttpResponseError:
@@ -512,7 +514,8 @@ def list_anomaly_dimension_values(
512514
"""
513515

514516
skip = kwargs.pop('skip', None)
515-
dimension_filter = kwargs.pop('dimension_filter', None)
517+
dimension = kwargs.pop('dimension_filter', None)
518+
dimension_filter = DimensionGroupIdentity(dimension=dimension)
516519
converted_start_time = convert_datetime(start_time)
517520
converted_end_time = convert_datetime(end_time)
518521
anomaly_dimension_query = AnomalyDimensionQuery(
@@ -543,7 +546,8 @@ def _list_incidents_for_alert(self, alert_configuration_id, alert_id, **kwargs):
543546
def _list_incidents_for_detection_configuration(self, detection_configuration_id, start_time, end_time, **kwargs):
544547
# type: (str, Union[str, datetime.datetime], Union[str, datetime.datetime], Any) -> ItemPaged[AnomalyIncident]
545548

546-
filter_condition = kwargs.pop('filter', None)
549+
condition = kwargs.pop('filter', None)
550+
filter_condition = condition._to_generated() if condition else None
547551
converted_start_time = convert_datetime(start_time)
548552
converted_end_time = convert_datetime(end_time)
549553

sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_client_async.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
TimeMode as AlertQueryTimeMode,
2727
SeriesIdentity,
2828
FeedbackDimensionFilter,
29+
DimensionGroupIdentity,
2930
)
3031
from .._generated.aio import MicrosoftAzureMetricsAdvisorRESTAPIOpenAPIV2 as _ClientAsync
3132
from .._helpers import convert_to_sub_feedback, convert_datetime, get_authentication_policy
@@ -378,7 +379,8 @@ def _list_anomalies_for_detection_configuration(
378379
# type: (...) -> AsyncItemPaged[DataPointAnomaly]
379380

380381
skip = kwargs.pop('skip', None)
381-
filter_condition = kwargs.pop('filter', None)
382+
condition = kwargs.pop('filter', None)
383+
filter_condition = condition._to_generated() if condition else None
382384
converted_start_time = convert_datetime(start_time)
383385
converted_end_time = convert_datetime(end_time)
384386
detection_anomaly_result_query = DetectionAnomalyResultQuery(
@@ -494,7 +496,7 @@ def list_anomaly_dimension_values(
494496
:param Union[str, datetime.datetime] start_time: start time filter under chosen time mode.
495497
:param Union[str, datetime.datetime] end_time: end time filter under chosen time mode.
496498
:keyword int skip:
497-
:paramtype dimension_filter: ~azure.ai.metricsadvisor.models.DimensionGroupIdentity
499+
:keyword Dict[str, str] dimension_filter: filter specfic dimension name and values.
498500
:return: Dimension values of anomalies.
499501
:rtype: ~azure.core.async_paging.AsyncItemPaged[str]
500502
:raises ~azure.core.exceptions.HttpResponseError:
@@ -510,7 +512,8 @@ def list_anomaly_dimension_values(
510512
"""
511513

512514
skip = kwargs.pop('skip', None)
513-
dimension_filter = kwargs.pop('dimension_filter', None)
515+
dimension = kwargs.pop('dimension_filter', None)
516+
dimension_filter = DimensionGroupIdentity(dimension=dimension)
514517
converted_start_time = convert_datetime(start_time)
515518
converted_end_time = convert_datetime(end_time)
516519
anomaly_dimension_query = AnomalyDimensionQuery(
@@ -545,7 +548,8 @@ def _list_incidents_for_detection_configuration(
545548
**kwargs: Any
546549
) -> AsyncItemPaged[AnomalyIncident]:
547550

548-
filter_condition = kwargs.pop('filter', None)
551+
condition = kwargs.pop('filter', None)
552+
filter_condition = condition._to_generated() if condition else None
549553
converted_start_time = convert_datetime(start_time)
550554
converted_end_time = convert_datetime(end_time)
551555

sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
from .._generated.models import (
4848
FeedbackQueryTimeMode,
4949
RootCause,
50-
DetectionAnomalyFilterCondition,
5150
DimensionGroupIdentity,
5251
DetectionIncidentFilterCondition,
5352
EnrichmentStatus,
@@ -120,6 +119,7 @@
120119
DatasourceServicePrincipalInKeyVault,
121120
DatasourceCredential,
122121
DataFeedSource,
122+
DetectionAnomalyFilterCondition,
123123
)
124124

125125

sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/_models.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
ServicePrincipalInKVParamPatch as _ServicePrincipalInKVParamPatch,
9595
ServicePrincipalInKVCredential as _ServicePrincipalInKVCredential,
9696
ServicePrincipalInKVParam as _ServicePrincipalInKVParam,
97+
DetectionAnomalyFilterCondition as _DetectionAnomalyFilterCondition,
9798
)
9899

99100
if TYPE_CHECKING:
@@ -3841,3 +3842,40 @@ def _to_generated_patch(self):
38413842
data_source_credential_description=self.description,
38423843
parameters=param_patch,
38433844
)
3845+
3846+
class DetectionAnomalyFilterCondition(msrest.serialization.Model):
3847+
"""DetectionAnomalyFilterCondition.
3848+
3849+
:param series_group_key: dimension filter.
3850+
:type series_group_key: dict[str, str]
3851+
:param severity_filter:
3852+
:type severity_filter: ~azure.ai.metricsadvisor.models.SeverityFilterCondition
3853+
"""
3854+
3855+
_attribute_map = {
3856+
'series_group_key': {'key': 'seriesGroupKey', 'type': '{str}'},
3857+
'severity_filter': {'key': 'severityFilter', 'type': 'SeverityFilterCondition'},
3858+
}
3859+
3860+
def __init__(
3861+
self,
3862+
**kwargs
3863+
):
3864+
super(DetectionAnomalyFilterCondition, self).__init__(**kwargs)
3865+
self.series_group_key = kwargs.get('series_group_key', None)
3866+
self.severity_filter = kwargs.get('severity_filter', None)
3867+
3868+
@classmethod
3869+
def _from_generated(cls, source):
3870+
series_group_key = source.dimension_filter.dimension if source.dimension_filter else None
3871+
return cls(
3872+
series_group_key=series_group_key,
3873+
severity_filter=source.severity_filter.key_vault_endpoint
3874+
)
3875+
3876+
def _to_generated(self):
3877+
dimension_filter = _DimensionGroupIdentity(dimension=self.series_group_key)
3878+
return _DetectionAnomalyFilterCondition(
3879+
dimension_filter=dimension_filter,
3880+
severity_filter=self.severity_filter
3881+
)

0 commit comments

Comments
 (0)