diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/README.md b/sdk/metricsadvisor/azure-ai-metricsadvisor/README.md index 890f3acb3e7c..f1295e20f63a 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/README.md +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/README.md @@ -22,8 +22,8 @@ pip install azure-ai-metricsadvisor --pre You will need two keys to authenticate the client: -The subscription key to your Metrics Advisor resource. You can find this in the Keys and Endpoint section of your resource in the Azure portal. -The API key for your Metrics Advisor instance. You can find this in the web portal for Metrics Advisor, in API keys on the left navigation menu. +1) The subscription key to your Metrics Advisor resource. You can find this in the Keys and Endpoint section of your resource in the Azure portal. +2) The API key for your Metrics Advisor instance. You can find this in the web portal for Metrics Advisor, in API keys on the left navigation menu. We can use the keys to create a new `MetricsAdvisorClient` or `MetricsAdvisorAdministrationClient`. @@ -54,7 +54,7 @@ A `DataFeed` is what Metrics Advisor ingests from your data source, such as Cosm - timestamps - zero or more dimensions -- one or more measures. +- one or more measures ### Metric @@ -313,6 +313,7 @@ from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorC service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT") subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY") api_key = os.getenv("METRICS_ADVISOR_API_KEY") +alert_id = os.getenv("METRICS_ADVISOR_ALERT_ID") client = MetricsAdvisorClient(service_endpoint, MetricsAdvisorKeyCredential(subscription_key, api_key) @@ -328,15 +329,6 @@ for result in results: print("Alert id: {}".format(result.id)) print("Create on: {}".format(result.created_on)) -service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT") -subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY") -api_key = os.getenv("METRICS_ADVISOR_API_KEY") -alert_id = os.getenv("METRICS_ADVISOR_ALERT_ID") - -client = MetricsAdvisorClient(service_endpoint, - MetricsAdvisorKeyCredential(subscription_key, api_key) -) - results = client.list_anomalies_for_alert( alert_configuration_id=alert_config_id, alert_id=alert_id, @@ -433,6 +425,7 @@ additional questions or comments. [package]: https://aka.ms/azsdk/python/metricsadvisor/pypi [ma_service]: https://go.microsoft.com/fwlink/?linkid=2142156 [python_logging]: https://docs.python.org/3.5/library/logging.html +[azure_core]: https://aka.ms/azsdk/python/core/docs#module-azure.core.exceptions [cla]: https://cla.microsoft.com [code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_administration_client.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_administration_client.py index a7cb662acde6..ee997b6289e6 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_administration_client.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_administration_client.py @@ -355,6 +355,7 @@ def create_metric_anomaly_detection_configuration( :param str name: The name for the anomaly detection configuration :param str metric_id: Required. metric unique id. :param whole_series_detection_condition: Required. + Conditions to detect anomalies in all time series of a metric. :type whole_series_detection_condition: ~azure.ai.metricsadvisor.models.MetricDetectionCondition :keyword str description: anomaly detection configuration description. :keyword series_group_detection_conditions: detection configuration for series group. @@ -408,7 +409,7 @@ def get_data_feed(self, data_feed_id, **kwargs): :param data_feed_id: The data feed unique id. :type data_feed_id: str :return: DataFeed - :rtype: azure.ai.metricsadvisor.models.DataFeed + :rtype: ~azure.ai.metricsadvisor.models.DataFeed :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -517,8 +518,8 @@ def get_data_feed_ingestion_progress( :param data_feed_id: The data feed unique id. :type data_feed_id: str - :return: DataFeedIngestionProgress, containing latest_success_timestamp - and latest_active_timestamp + :return: DataFeedIngestionProgress, containing `latest_success_timestamp` + and `latest_active_timestamp` :rtype: ~azure.ai.metricsadvisor.models.DataFeedIngestionProgress :raises ~azure.core.exceptions.HttpResponseError: @@ -690,7 +691,7 @@ def update_data_feed( all-up value. :keyword rollup_type: Mark if the data feed needs rollup. Possible values include: "NoRollup", "AutoRollup", "AlreadyRollup". Default value: "AutoRollup". - :paramtype roll_up_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType + :paramtype rollup_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType :keyword list[str] auto_rollup_group_by_column_names: Roll up columns. :keyword rollup_method: Roll up method. Possible values include: "None", "Sum", "Max", "Min", "Avg", "Count". @@ -851,6 +852,7 @@ def update_metric_anomaly_detection_configuration( :keyword str name: The name for the anomaly detection configuration :keyword str metric_id: metric unique id. :keyword whole_series_detection_condition: Required. + Conditions to detect anomalies in all time series of a metric. :paramtype whole_series_detection_condition: ~azure.ai.metricsadvisor.models.MetricDetectionCondition :keyword str description: anomaly detection configuration description. :keyword series_group_detection_conditions: detection configuration for series group. @@ -1096,7 +1098,7 @@ def list_anomaly_alert_configurations( :param detection_configuration_id: anomaly detection configuration unique id. :type detection_configuration_id: str :return: Pageable of AnomalyAlertConfiguration - :rtype: ItemPaged[AnomalyAlertConfiguration] + :rtype: ~azure.core.paging.ItemPaged[AnomalyAlertConfiguration] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -1128,7 +1130,7 @@ def list_metric_anomaly_detection_configurations( :param metric_id: metric unique id. :type metric_id: str :return: Pageable of AnomalyDetectionConfiguration - :rtype: ItemPaged[AnomalyDetectionConfiguration] + :rtype: ~azure.core.paging.ItemPaged[AnomalyDetectionConfiguration] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py index 51baf515185a..6ec703944fce 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py @@ -67,16 +67,18 @@ class MetricsAdvisorClient(object): """Represents an client that calls restful API of Azure Metrics Advisor service. - :param str endpoint: Url to the Azure Metrics Advisor service endpoint - :param credential: credential Used to authenticate requests to the service. - :type credential: azure.ai.metricsadvisor.MetricsAdvisorKeyCredential - :keyword Pipeline pipeline: If omitted, the standard pipeline is used. - :keyword HttpTransport transport: If omitted, the standard pipeline is used. - :keyword list[HTTPPolicy] policies: If omitted, the standard pipeline is used. + :param str endpoint: Supported Cognitive Services endpoints (protocol and hostname, + for example: https://:code:``.cognitiveservices.azure.com). + :param credential: An instance of ~azure.ai.metricsadvisor.MetricsAdvisorKeyCredential. + Requires both subscription key and API key. + :type credential: ~azure.ai.metricsadvisor.MetricsAdvisorKeyCredential + :keyword Pipeline pipeline: If omitted, the standard pipeline is used. + :keyword HttpTransport transport: If omitted, the standard pipeline is used. + :keyword list[HTTPPolicy] policies: If omitted, the standard pipeline is used. """ def __init__(self, endpoint, credential, **kwargs): - # type: (str, MetricsAdvisorKeyCredential, dict) -> None + # type: (str, MetricsAdvisorKeyCredential, Any) -> None try: if not endpoint.lower().startswith('http'): endpoint = "https://" + endpoint @@ -168,11 +170,11 @@ def add_feedback(self, feedback, **kwargs): """Create a new metric feedback. :param feedback: metric feedback. - :type feedback: ~azure.ai.metriscadvisor.models.AnomalyFeedback or - ~azure.ai.metriscadvisor.models.ChangePointFeedback or - ~azure.ai.metriscadvisor.models.CommentFeedback or - ~azure.ai.metriscadvisor.models.PeriodFeedback. - :raises: ~azure.core.exceptions.HttpResponseError + :type feedback: ~azure.ai.metricsadvisor.models.AnomalyFeedback or + ~azure.ai.metricsadvisor.models.ChangePointFeedback or + ~azure.ai.metricsadvisor.models.CommentFeedback or + ~azure.ai.metricsadvisor.models.PeriodFeedback + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -196,11 +198,11 @@ def get_feedback(self, feedback_id, **kwargs): :param str feedback_id: the id of the feedback. :return: The feedback object - :rtype: ~azure.ai.metriscadvisor.models.AnomalyFeedback or - ~azure.ai.metriscadvisor.models.ChangePointFeedback or - ~azure.ai.metriscadvisor.models.CommentFeedback or - ~azure.ai.metriscadvisor.models.PeriodFeedback. - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.ai.metricsadvisor.models.AnomalyFeedback or + ~azure.ai.metricsadvisor.models.ChangePointFeedback or + ~azure.ai.metricsadvisor.models.CommentFeedback or + ~azure.ai.metricsadvisor.models.PeriodFeedback + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -235,8 +237,9 @@ def list_feedbacks(self, metric_id, **kwargs): "FeedbackCreatedTime". :paramtype time_mode: str or ~azure.ai.metricsadvisor.models.FeedbackQueryTimeMode :return: Pageable list of MetricFeedback - :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.MetricFeedback] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[ + Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]] + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -285,8 +288,8 @@ def list_incident_root_causes(self, detection_configuration_id, incident_id, **k :param incident_id: incident id. :type incident_id: str :return: Pageable of root cause for incident - :rtype: ItemPaged[~azure.ai.metriscadvisor.models.IncidentRootCause] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.IncidentRootCause] + :raises ~azure.core.exceptions.HttpResponseError: """ return self._client.get_root_cause_of_incident_by_anomaly_detection_configuration( # type: ignore @@ -315,8 +318,8 @@ def list_metric_enriched_series_data( :param ~datetime.datetime start_time: start time filter under chosen time mode. :param ~datetime.datetime end_time: end time filter under chosen time mode. :return: Pageable of SeriesResult - :rtype: ItemPaged[~azure.ai.metricsadvisor.models.SeriesResult] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.SeriesResult] + :raises ~azure.core.exceptions.HttpResponseError: """ series_list = [ @@ -353,7 +356,8 @@ def list_alerts_for_alert_configuration(self, alert_configuration_id, start_time :keyword int skip: :return: Alerts under anomaly alert configuration. :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.Alert] - :raises: ~azure.core.exceptions.HttpResponseError + :raises ~azure.core.exceptions.HttpResponseError: + .. admonition:: Example: .. literalinclude:: ../samples/sample_anomaly_alert_configuration.py @@ -385,14 +389,15 @@ def list_anomalies_for_alert(self, alert_configuration_id, alert_id, **kwargs): """Query anomalies under a specific alert. - :param alert_configuration_id: anomaly detection configuration unique id. + :param alert_configuration_id: anomaly alert configuration unique id. :type alert_configuration_id: str :param alert_id: alert id. :type alert_id: str :keyword int skip: :return: Anomalies under a specific alert. :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.Anomaly] - :raises: ~azure.core.exceptions.HttpResponseError + :raises ~azure.core.exceptions.HttpResponseError: + .. admonition:: Example: .. literalinclude:: ../samples/sample_anomaly_alert_configuration.py @@ -427,7 +432,7 @@ def list_anomalies_for_detection_configuration(self, detection_configuration_id, :paramtype filter: ~azure.ai.metricsadvisor.models.DetectionAnomalyFilterCondition :return: Anomalies under anomaly detection configuration. :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.Anomaly] - :raises: ~azure.core.exceptions.HttpResponseError + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -463,11 +468,11 @@ def list_dimension_values_for_detection_configuration( :param ~datetime.datetime start_time: start time filter under chosen time mode. :param ~datetime.datetime end_time: end time filter under chosen time mode. :keyword int skip: - :keyword dimension_name: str + :keyword str dimension_name: The dimension name to query. :paramtype dimension_filter: ~azure.ai.metricsadvisor.models.DimensionGroupIdentity :return: Dimension values of anomalies. :rtype: ~azure.core.paging.ItemPaged[str] - :raises: ~azure.core.exceptions.HttpResponseError + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -497,8 +502,8 @@ def list_incidents_for_alert(self, alert_configuration_id, alert_id, **kwargs): :type alert_id: str :keyword int skip: :return: Incidents under a specific alert. - :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metriscadvisor.models.Incident] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.Incident] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -523,8 +528,8 @@ def list_incidents_for_detection_configuration(self, detection_configuration_id, :keyword filter: :paramtype filter: ~azure.ai.metricsadvisor.models.DetectionIncidentFilterCondition :return: Incidents under a specific alert. - :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metriscadvisor.models.Incident] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.Incident] + :raises ~azure.core.exceptions.HttpResponseError: """ filter_condition = kwargs.pop('filter', None) @@ -556,7 +561,7 @@ def list_metric_dimension_values(self, metric_id, dimension_name, **kwargs): :paramtype dimension_value_filter: str :return: Dimension from certain metric. :rtype: ~azure.core.paging.ItemPaged[str] - :raises: ~azure.core.exceptions.HttpResponseError + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -586,8 +591,8 @@ def list_metrics_series_data(self, metric_id, start_time, end_time, series_to_fi :param series_to_filter: query specific series. :type series_to_filter: list[dict[str, str]] :return: Time series data from metric. - :rtype: ItemPaged[~azure.ai.metriscadvisor.models.MetricSeriesData] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesData] + :raises ~azure.core.exceptions.HttpResponseError: """ metric_data_query_options = MetricDataQueryOptions( @@ -619,8 +624,8 @@ def list_metric_series_definitions(self, metric_id, active_since, **kwargs): :keyword dimension_filter: filter specfic dimension name and values. :paramtype dimension_filter: dict[str, list[str]] :return: Series (dimension combinations) from metric. - :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metriscadvisor.models.MetricSeriesDefinition] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesDefinition] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -649,8 +654,8 @@ def list_metric_enrichment_status(self, metric_id, start_time, end_time, **kwarg :param ~datetime.datetime end_time: end time filter under chosen time mode. :keyword int skip: :return: Anomaly detection status. - :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metriscadvisor.models.EnrichmentStatus] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.paging.ItemPaged[~azure.ai.metricsadvisor.models.EnrichmentStatus] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_administration_client_async.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_administration_client_async.py index df20dfe0e3ca..d212babb197c 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_administration_client_async.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_administration_client_async.py @@ -264,6 +264,7 @@ async def create_metric_anomaly_detection_configuration( :param str name: The name for the anomaly detection configuration :param str metric_id: Required. metric unique id. :param whole_series_detection_condition: Required. + Conditions to detect anomalies in all time series of a metric. :type whole_series_detection_condition: ~azure.ai.metricsadvisor.models.MetricDetectionCondition :keyword str description: anomaly detection configuration description. :keyword series_group_detection_conditions: detection configuration for series group. @@ -317,7 +318,7 @@ async def get_data_feed(self, data_feed_id: str, **kwargs: Any) -> DataFeed: :param data_feed_id: The data feed unique id. :type data_feed_id: str :return: DataFeed - :rtype: azure.ai.metricsadvisor.models.DataFeed + :rtype: ~azure.ai.metricsadvisor.models.DataFeed :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -428,8 +429,8 @@ async def get_data_feed_ingestion_progress( :param data_feed_id: The data feed unique id. :type data_feed_id: str - :return: DataFeedIngestionProgress, containing latest_success_timestamp - and latest_active_timestamp + :return: DataFeedIngestionProgress, containing `latest_success_timestamp` + and `latest_active_timestamp` :rtype: ~azure.ai.metricsadvisor.models.DataFeedIngestionProgress :raises ~azure.core.exceptions.HttpResponseError: @@ -457,9 +458,9 @@ async def refresh_data_feed_ingestion( :param data_feed_id: The data feed unique id. :type data_feed_id: str - :param start_time: The start point of time range to refreshes data ingestion. + :param start_time: The start point of time range to refresh data ingestion. :type start_time: ~datetime.datetime - :param end_time: The end point of time range to refreshes data ingestion. + :param end_time: The end point of time range to refresh data ingestion. :type end_time: ~datetime.datetime :return: None :rtype: None @@ -599,7 +600,7 @@ async def update_data_feed( all-up value. :keyword rollup_type: Mark if the data feed needs rollup. Possible values include: "NoRollup", "AutoRollup", "AlreadyRollup". Default value: "AutoRollup". - :paramtype roll_up_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType + :paramtype rollup_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType :keyword list[str] auto_rollup_group_by_column_names: Roll up columns. :keyword rollup_method: Roll up method. Possible values include: "None", "Sum", "Max", "Min", "Avg", "Count". @@ -758,6 +759,7 @@ async def update_metric_anomaly_detection_configuration( :keyword str name: The name for the anomaly detection configuration :keyword str metric_id: metric unique id. :keyword whole_series_detection_condition: Required. + Conditions to detect anomalies in all time series of a metric. :paramtype whole_series_detection_condition: ~azure.ai.metricsadvisor.models.MetricDetectionCondition :keyword str description: anomaly detection configuration description. :keyword series_group_detection_conditions: detection configuration for series group. @@ -912,7 +914,7 @@ def list_hooks( :keyword str hook_name: filter hook by its name. :keyword int skip: :return: Pageable containing EmailHook and WebHook - :rtype: ~azure.core.paging.AsyncItemPaged[Union[~azure.ai.metricsadvisor.models.Hook, + :rtype: ~azure.core.async_paging.AsyncItemPaged[Union[~azure.ai.metricsadvisor.models.Hook, ~azure.ai.metricsadvisor.models.EmailHook, ~azure.ai.metricsadvisor.models.WebHook]] :raises ~azure.core.exceptions.HttpResponseError: @@ -957,7 +959,7 @@ def list_data_feeds( :keyword str creator: filter data feed by its creator. :keyword int skip: :return: Pageable of DataFeed - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.DataFeed] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.DataFeed] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -999,7 +1001,7 @@ def list_anomaly_alert_configurations( :param detection_configuration_id: anomaly detection configuration unique id. :type detection_configuration_id: str :return: Pageable of AnomalyAlertConfiguration - :rtype: AsyncItemPaged[AnomalyAlertConfiguration] + :rtype: ~azure.core.async_paging.AsyncItemPaged[AnomalyAlertConfiguration] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -1030,7 +1032,7 @@ def list_metric_anomaly_detection_configurations( :param metric_id: metric unique id. :type metric_id: str :return: Pageable of AnomalyDetectionConfiguration - :rtype: AsyncItemPaged[AnomalyDetectionConfiguration] + :rtype: ~azure.core.async_paging.AsyncItemPaged[AnomalyDetectionConfiguration] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -1068,7 +1070,7 @@ def list_data_feed_ingestion_status( :type end_time: ~datetime.datetime :keyword int skip: :return: Pageable of DataFeedIngestionStatus - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.DataFeedIngestionStatus] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.DataFeedIngestionStatus] :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_client_async.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_client_async.py index 5d9bdf2f680c..a382c2a991e8 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_client_async.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/aio/_metrics_advisor_client_async.py @@ -67,16 +67,18 @@ class MetricsAdvisorClient(object): """Represents an client that calls restful API of Azure Metrics Advisor service. - :param str endpoint: Url to the Azure Metrics Advisor service endpoint - :param credential: credential Used to authenticate requests to the service. - :type credential: azure.ai.metricsadvisor.MetricsAdvisorKeyCredential - :keyword Pipeline pipeline: If omitted, the standard pipeline is used. - :keyword HttpTransport transport: If omitted, the standard pipeline is used. - :keyword list[HTTPPolicy] policies: If omitted, the standard pipeline is used. + :param str endpoint: Supported Cognitive Services endpoints (protocol and hostname, + for example: https://:code:``.cognitiveservices.azure.com). + :param credential: An instance of ~azure.ai.metricsadvisor.MetricsAdvisorKeyCredential. + Requires both subscription key and API key. + :type credential: ~azure.ai.metricsadvisor.MetricsAdvisorKeyCredential + :keyword Pipeline pipeline: If omitted, the standard pipeline is used. + :keyword HttpTransport transport: If omitted, the standard pipeline is used. + :keyword list[HTTPPolicy] policies: If omitted, the standard pipeline is used. """ def __init__(self, endpoint, credential, **kwargs): - # type: (str, MetricsAdvisorKeyCredential, dict) -> None + # type: (str, MetricsAdvisorKeyCredential, Any) -> None try: if not endpoint.lower().startswith('http'): endpoint = "https://" + endpoint @@ -167,11 +169,11 @@ async def add_feedback(self, feedback, **kwargs): """Create a new metric feedback. :param feedback: metric feedback. - :type feedback: ~azure.ai.metriscadvisor.models.AnomalyFeedback or - ~azure.ai.metriscadvisor.models.ChangePointFeedback or - ~azure.ai.metriscadvisor.models.CommentFeedback or - ~azure.ai.metriscadvisor.models.PeriodFeedback. - :raises: ~azure.core.exceptions.HttpResponseError + :type feedback: ~azure.ai.metricsadvisor.models.AnomalyFeedback or + ~azure.ai.metricsadvisor.models.ChangePointFeedback or + ~azure.ai.metricsadvisor.models.CommentFeedback or + ~azure.ai.metricsadvisor.models.PeriodFeedback + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -195,11 +197,11 @@ async def get_feedback(self, feedback_id, **kwargs): :param str feedback_id: the id of the feedback. :return: The feedback object - :rtype: ~azure.ai.metriscadvisor.models.AnomalyFeedback or - ~azure.ai.metriscadvisor.models.ChangePointFeedback or - ~azure.ai.metriscadvisor.models.CommentFeedback or - ~azure.ai.metriscadvisor.models.PeriodFeedback. - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.ai.metricsadvisor.models.AnomalyFeedback or + ~azure.ai.metricsadvisor.models.ChangePointFeedback or + ~azure.ai.metricsadvisor.models.CommentFeedback or + ~azure.ai.metricsadvisor.models.PeriodFeedback + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -239,8 +241,9 @@ def list_feedbacks( "FeedbackCreatedTime". :paramtype time_mode: str or ~azure.ai.metricsadvisor.models.FeedbackQueryTimeMode :return: Pageable list of MetricFeedback - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.MetricFeedback] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[ + Union[AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback]] + :raises ~azure.core.exceptions.HttpResponseError: .. admonition:: Example: @@ -289,8 +292,8 @@ def list_incident_root_causes(self, detection_configuration_id, incident_id, **k :param incident_id: incident id. :type incident_id: str :return: Pageable of root cause for incident - :rtype: AsyncItemPaged[~azure.ai.metriscadvisor.models.IncidentRootCause] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.IncidentRootCause] + :raises ~azure.core.exceptions.HttpResponseError: """ return self._client.get_root_cause_of_incident_by_anomaly_detection_configuration( # type: ignore @@ -319,8 +322,8 @@ def list_metric_enriched_series_data( :param ~datetime.datetime start_time: start time filter under chosen time mode. :param ~datetime.datetime end_time: end time filter under chosen time mode. :return: Pageable of SeriesResult - :rtype: AsyncItemPaged[~azure.ai.metricsadvisor.models.SeriesResult] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.SeriesResult] + :raises ~azure.core.exceptions.HttpResponseError: """ series_list = [ @@ -355,8 +358,9 @@ def list_alerts_for_alert_configuration(self, alert_configuration_id, start_time :type time_mode: str or ~azure.ai.metricsadvisor.models.TimeMode :keyword int skip: :return: Alerts under anomaly alert configuration. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Alert] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Alert] + :raises ~azure.core.exceptions.HttpResponseError: + .. admonition:: Example: .. literalinclude:: ../samples/async_samples/sample_anomaly_alert_configuration_async.py @@ -394,8 +398,9 @@ def list_anomalies_for_alert(self, alert_configuration_id, alert_id, **kwargs): :type alert_id: str :keyword int skip: :return: Anomalies under a specific alert. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Anomaly] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Anomaly] + :raises ~azure.core.exceptions.HttpResponseError: + .. admonition:: Example: .. literalinclude:: ../samples/async_samples/sample_anomaly_alert_configuration_async.py @@ -429,8 +434,8 @@ def list_anomalies_for_detection_configuration(self, detection_configuration_id, :keyword filter: :paramtype filter: ~azure.ai.metricsadvisor.models.DetectionAnomalyFilterCondition :return: Anomalies under anomaly detection configuration. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Anomaly] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Anomaly] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -466,11 +471,11 @@ def list_dimension_values_for_detection_configuration( :param ~datetime.datetime start_time: start time filter under chosen time mode. :param ~datetime.datetime end_time: end time filter under chosen time mode. :keyword int skip: - :keyword dimension_name: str + :keyword str dimension_name: The dimension name to query. :paramtype dimension_filter: ~azure.ai.metricsadvisor.models.DimensionGroupIdentity :return: Dimension values of anomalies. - :rtype: ~azure.core.paging.AsyncItemPaged[str] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[str] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -500,8 +505,8 @@ def list_incidents_for_alert(self, alert_configuration_id, alert_id, **kwargs): :type alert_id: str :keyword int skip: :return: Incidents under a specific alert. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metriscadvisor.models.Incident] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Incident] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -519,15 +524,15 @@ def list_incidents_for_detection_configuration(self, detection_configuration_id, """Query incidents under a specific alert. - :param detection_configuration_id: anomaly alerting configuration unique id. + :param detection_configuration_id: anomaly detection configuration unique id. :type detection_configuration_id: str :param ~datetime.datetime start_time: start time filter under chosen time mode. :param ~datetime.datetime end_time: end time filter under chosen time mode. :keyword filter: :paramtype filter: ~azure.ai.metricsadvisor.models.DetectionIncidentFilterCondition :return: Incidents under a specific alert. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metriscadvisor.models.Incident] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.Incident] + :raises ~azure.core.exceptions.HttpResponseError: """ filter_condition = kwargs.pop('filter', None) @@ -558,8 +563,8 @@ def list_metric_dimension_values(self, metric_id, dimension_name, **kwargs): :keyword dimension_value_filter: dimension value to be filtered. :paramtype dimension_value_filter: str :return: Dimension from certain metric. - :rtype: ~azure.core.paging.AsyncItemPaged[str] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[str] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -595,8 +600,8 @@ def list_metrics_series_data( :param series_to_filter: query specific series. :type series_to_filter: list[dict[str, str]] :return: Time series data from metric. - :rtype: AsyncItemPaged[~azure.ai.metriscadvisor.models.MetricSeriesData] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesData] + :raises ~azure.core.exceptions.HttpResponseError: """ metric_data_query_options = MetricDataQueryOptions( @@ -628,8 +633,8 @@ def list_metric_series_definitions(self, metric_id, active_since, **kwargs): :keyword dimension_filter: filter specfic dimension name and values. :paramtype dimension_filter: dict[str, list[str]] :return: Series (dimension combinations) from metric. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metriscadvisor.models.MetricSeriesDefinition] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.MetricSeriesDefinition] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) @@ -658,8 +663,8 @@ def list_metric_enrichment_status(self, metric_id, start_time, end_time, **kwarg :param ~datetime.datetime end_time: end time filter under chosen time mode. :keyword int skip: :return: Anomaly detection status. - :rtype: ~azure.core.paging.AsyncItemPaged[~azure.ai.metriscadvisor.models.EnrichmentStatus] - :raises: ~azure.core.exceptions.HttpResponseError + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.ai.metricsadvisor.models.EnrichmentStatus] + :raises ~azure.core.exceptions.HttpResponseError: """ skip = kwargs.pop('skip', None) diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/__init__.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/__init__.py index 38babfa94517..6ebaaa609bdb 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/__init__.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/__init__.py @@ -38,7 +38,8 @@ AnomalyValue, ChangePointValue, PeriodType, - FeedbackType + FeedbackType, + TimeMode ) from .._generated.models import ( @@ -48,12 +49,11 @@ DetectionAnomalyFilterCondition, DimensionGroupIdentity, DetectionIncidentFilterCondition, - DimensionGroupConfiguration, - SeriesConfiguration, EnrichmentStatus, MetricSeriesItem as MetricSeriesDefinition, IngestionStatus as DataFeedIngestionStatus, - SeriesIdentity + SeriesIdentity, + SeverityFilterCondition ) from ._models import ( @@ -110,7 +110,8 @@ AzureDataLakeStorageGen2DataFeed, ElasticsearchDataFeed, MetricAnomalyAlertScopeType, - DataFeedRollupType + DataFeedRollupType, + IncidentRootCause ) @@ -128,8 +129,6 @@ "Incident", "DetectionIncidentFilterCondition", "AnomalyDetectionConfiguration", - "DimensionGroupConfiguration", - "SeriesConfiguration", "MetricAnomalyAlertConfigurationsOperator", "DataFeedStatus", "DataFeedGranularity", @@ -189,11 +188,13 @@ "ChangeThresholdCondition", "HardThresholdCondition", "SeriesIdentity", - "DataFeedIngestionStatus", "AzureDataLakeStorageGen2DataFeed", "ElasticsearchDataFeed", "AnomalyValue", "ChangePointValue", "PeriodType", - "FeedbackType" + "FeedbackType", + "TimeMode", + "IncidentRootCause", + "SeverityFilterCondition" ) diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/_models.py b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/_models.py index 76cada75e397..67de4f6394d7 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/_models.py +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/models/_models.py @@ -246,7 +246,7 @@ class DataFeedRollupSettings(object): :keyword str rollup_identification_value: The identification value for the row of calculated all-up value. :keyword rollup_type: Mark if the data feed needs rollup. Possible values include: "NoRollup", "AutoRollup", "AlreadyRollup". Default value: "AutoRollup". - :paramtype roll_up_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType + :paramtype rollup_type: str or ~azure.ai.metricsadvisor.models.DataFeedRollupType :keyword list[str] auto_rollup_group_by_column_names: Roll up columns. :keyword rollup_method: Roll up method. Possible values include: "None", "Sum", "Max", "Min", "Avg", "Count". @@ -677,6 +677,7 @@ class AnomalyDetectionConfiguration(object): :ivar str description: anomaly detection configuration description. :ivar str metric_id: Required. metric unique id. :ivar whole_series_detection_condition: Required. + Conditions to detect anomalies in all time series of a metric. :vartype whole_series_detection_condition: ~azure.ai.metricsadvisor.models.MetricDetectionCondition :ivar series_group_detection_conditions: detection configuration for series group. :vartype series_group_detection_conditions: @@ -1840,31 +1841,24 @@ class Anomaly(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar metric_id: metric unique id - - only return for alerting anomaly result. + :ivar metric_id: metric unique id. Only returned for alerting anomaly result. :vartype metric_id: str - :ivar detection_configuration_id: anomaly detection configuration unique id - - only return for alerting anomaly result. + :ivar detection_configuration_id: anomaly detection configuration unique id. + Only returned for alerting anomaly result. :vartype detection_configuration_id: str :ivar timestamp: anomaly time. :vartype timestamp: ~datetime.datetime - :ivar created_time: created time - - only return for alerting result. + :ivar created_time: created time. Only returned for alerting result. :vartype created_time: ~datetime.datetime - :ivar modified_time: modified time - - only return for alerting result. + :ivar modified_time: modified time. Only returned for alerting result. :vartype modified_time: ~datetime.datetime :ivar dimension: dimension specified for series. :vartype dimension: dict[str, str] :ivar severity: anomaly severity. Possible values include: "Low", "Medium", "High". :vartype anomaly_severity: str or ~azure.ai.metricsadvisor.models.Severity :vartype severity: str - :ivar status: nomaly status. only return for alerting anomaly result. Possible - values include: "Active", "Resolved". + :ivar status: anomaly status. only returned for alerting anomaly result. Possible + values include: "Active", "Resolved". :vartype status: str """ @@ -1930,13 +1924,10 @@ class Incident(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar metric_id: metric unique id - - only return for alerting incident result. + :ivar metric_id: metric unique id. Only returned for alerting incident result. :vartype metric_id: str - :ivar detection_configuration_id: anomaly detection configuration unique id - - only return for alerting incident result. + :ivar detection_configuration_id: anomaly detection configuration unique id. + Only returned for alerting incident result. :vartype detection_configuration_id: str :ivar id: incident id. :vartype id: str @@ -1949,7 +1940,7 @@ class Incident(msrest.serialization.Model): :ivar severity: max severity of latest anomalies in the incident. Possible values include: "Low", "Medium", "High". :vartype severity: str or ~azure.ai.metricsadvisor.models.Severity - :ivar incident_status: incident status + :ivar status: incident status only return for alerting incident result. Possible values include: "Active", "Resolved". :vartype status: str or ~azure.ai.metricsadvisor.models.IncidentPropertyIncidentStatus """