diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES index 851f0dccf..ec000f44a 100644 --- a/gooddata-api-client/.openapi-generator/FILES +++ b/gooddata-api-client/.openapi-generator/FILES @@ -791,6 +791,7 @@ docs/NotificationChannelDestination.md docs/NotificationChannelsApi.md docs/NotificationContent.md docs/NotificationData.md +docs/NotificationFilter.md docs/Notifications.md docs/NotificationsMeta.md docs/NotificationsMetaTotal.md @@ -1787,6 +1788,7 @@ gooddata_api_client/model/notification.py gooddata_api_client/model/notification_channel_destination.py gooddata_api_client/model/notification_content.py gooddata_api_client/model/notification_data.py +gooddata_api_client/model/notification_filter.py gooddata_api_client/model/notifications.py gooddata_api_client/model/notifications_meta.py gooddata_api_client/model/notifications_meta_total.py diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md index 261224874..6571c4925 100644 --- a/gooddata-api-client/README.md +++ b/gooddata-api-client/README.md @@ -1657,6 +1657,7 @@ Class | Method | HTTP request | Description - [NotificationChannelDestination](docs/NotificationChannelDestination.md) - [NotificationContent](docs/NotificationContent.md) - [NotificationData](docs/NotificationData.md) + - [NotificationFilter](docs/NotificationFilter.md) - [Notifications](docs/Notifications.md) - [NotificationsMeta](docs/NotificationsMeta.md) - [NotificationsMetaTotal](docs/NotificationsMetaTotal.md) diff --git a/gooddata-api-client/docs/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md index 9b6527408..e321fd5ac 100644 --- a/gooddata-api-client/docs/ActionsApi.md +++ b/gooddata-api-client/docs/ActionsApi.md @@ -734,9 +734,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = actions_api.ActionsApi(api_client) workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier afm_cancel_tokens = AfmCancelTokens( - token_ids=[ - "token_ids_example", - ], + result_id_to_cancel_token_pairs={ + "key": "key_example", + }, ) # AfmCancelTokens | # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/AfmCancelTokens.md b/gooddata-api-client/docs/AfmCancelTokens.md index 8a28fc7c7..edc56953f 100644 --- a/gooddata-api-client/docs/AfmCancelTokens.md +++ b/gooddata-api-client/docs/AfmCancelTokens.md @@ -5,7 +5,7 @@ Any information related to cancellation. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**token_ids** | **[str]** | Token ids to be used in the cancellation. | +**result_id_to_cancel_token_pairs** | **{str: (str,)}** | resultId to cancel token pairs | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/AlertDescription.md b/gooddata-api-client/docs/AlertDescription.md index 0a66d39ea..d2097cd38 100644 --- a/gooddata-api-client/docs/AlertDescription.md +++ b/gooddata-api-client/docs/AlertDescription.md @@ -9,7 +9,6 @@ Name | Type | Description | Notes **attribute** | **str** | | [optional] **current_values** | [**[AlertEvaluationRow]**](AlertEvaluationRow.md) | | [optional] **error_message** | **str** | | [optional] -**filter_count** | **int** | | [optional] **formatted_threshold** | **str** | | [optional] **lower_threshold** | **float** | | [optional] **remaining_alert_evaluation_count** | **int** | | [optional] @@ -17,6 +16,7 @@ Name | Type | Description | Notes **threshold** | **float** | | [optional] **total_value_count** | **int** | | [optional] **trace_id** | **str** | | [optional] +**triggered_at** | **datetime** | | [optional] **triggered_count** | **int** | | [optional] **upper_threshold** | **float** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/AutomationSchedule.md b/gooddata-api-client/docs/AutomationSchedule.md index 495ba7fa8..4046aaba8 100644 --- a/gooddata-api-client/docs/AutomationSchedule.md +++ b/gooddata-api-client/docs/AutomationSchedule.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **cron** | **str** | Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. | +**timezone** | **str** | Timezone in which the schedule is defined. | **cron_description** | **str** | Human-readable description of the cron expression. | [optional] [readonly] **first_run** | **datetime** | Timestamp of the first scheduled action. If not provided default to the next scheduled time. | [optional] -**timezone** | **str** | Timezone in which the schedule is defined. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/ExportResult.md b/gooddata-api-client/docs/ExportResult.md index 68bc038aa..7bd806095 100644 --- a/gooddata-api-client/docs/ExportResult.md +++ b/gooddata-api-client/docs/ExportResult.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **error_message** | **str** | | [optional] **file_uri** | **str** | | [optional] **trace_id** | **str** | | [optional] +**triggered_at** | **datetime** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/JsonApiAutomationInAttributesSchedule.md b/gooddata-api-client/docs/JsonApiAutomationInAttributesSchedule.md index adc7a2027..a4a998524 100644 --- a/gooddata-api-client/docs/JsonApiAutomationInAttributesSchedule.md +++ b/gooddata-api-client/docs/JsonApiAutomationInAttributesSchedule.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **cron** | **str** | Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. | +**timezone** | **str** | Timezone in which the schedule is defined. | **cron_description** | **str** | Human-readable description of the cron expression. | [optional] [readonly] **first_run** | **datetime** | Timestamp of the first scheduled action. If not provided default to the next scheduled time. | [optional] -**timezone** | **str** | Timezone in which the schedule is defined. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/NotificationFilter.md b/gooddata-api-client/docs/NotificationFilter.md new file mode 100644 index 000000000..8a2b68598 --- /dev/null +++ b/gooddata-api-client/docs/NotificationFilter.md @@ -0,0 +1,13 @@ +# NotificationFilter + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | **str** | | +**title** | **str** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/WebhookMessageData.md b/gooddata-api-client/docs/WebhookMessageData.md index b1fa3b4be..fc3fed6e9 100644 --- a/gooddata-api-client/docs/WebhookMessageData.md +++ b/gooddata-api-client/docs/WebhookMessageData.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes **automation** | [**WebhookAutomationInfo**](WebhookAutomationInfo.md) | | **alert** | [**AlertDescription**](AlertDescription.md) | | [optional] **details** | **{str: (str,)}** | | [optional] +**filters** | [**[NotificationFilter]**](NotificationFilter.md) | | [optional] **recipients** | [**[WebhookRecipient]**](WebhookRecipient.md) | | [optional] **remaining_action_count** | **int** | | [optional] **tabular_exports** | [**[ExportResult]**](ExportResult.md) | | [optional] diff --git a/gooddata-api-client/gooddata_api_client/model/afm_cancel_tokens.py b/gooddata-api-client/gooddata_api_client/model/afm_cancel_tokens.py index fa33499f2..f97891164 100644 --- a/gooddata-api-client/gooddata_api_client/model/afm_cancel_tokens.py +++ b/gooddata-api-client/gooddata_api_client/model/afm_cancel_tokens.py @@ -82,7 +82,7 @@ def openapi_types(): and the value is attribute type. """ return { - 'token_ids': ([str],), # noqa: E501 + 'result_id_to_cancel_token_pairs': ({str: (str,)},), # noqa: E501 } @cached_property @@ -91,7 +91,7 @@ def discriminator(): attribute_map = { - 'token_ids': 'tokenIds', # noqa: E501 + 'result_id_to_cancel_token_pairs': 'resultIdToCancelTokenPairs', # noqa: E501 } read_only_vars = { @@ -101,11 +101,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, token_ids, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, result_id_to_cancel_token_pairs, *args, **kwargs): # noqa: E501 """AfmCancelTokens - a model defined in OpenAPI Args: - token_ids ([str]): Token ids to be used in the cancellation. + result_id_to_cancel_token_pairs ({str: (str,)}): resultId to cancel token pairs Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -169,7 +169,7 @@ def _from_openapi_data(cls, token_ids, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.token_ids = token_ids + self.result_id_to_cancel_token_pairs = result_id_to_cancel_token_pairs for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -190,11 +190,11 @@ def _from_openapi_data(cls, token_ids, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, token_ids, *args, **kwargs): # noqa: E501 + def __init__(self, result_id_to_cancel_token_pairs, *args, **kwargs): # noqa: E501 """AfmCancelTokens - a model defined in OpenAPI Args: - token_ids ([str]): Token ids to be used in the cancellation. + result_id_to_cancel_token_pairs ({str: (str,)}): resultId to cancel token pairs Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -256,7 +256,7 @@ def __init__(self, token_ids, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.token_ids = token_ids + self.result_id_to_cancel_token_pairs = result_id_to_cancel_token_pairs for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/gooddata-api-client/gooddata_api_client/model/alert_description.py b/gooddata-api-client/gooddata_api_client/model/alert_description.py index 473b211c6..64888f59e 100644 --- a/gooddata-api-client/gooddata_api_client/model/alert_description.py +++ b/gooddata-api-client/gooddata_api_client/model/alert_description.py @@ -99,7 +99,6 @@ def openapi_types(): 'attribute': (str,), # noqa: E501 'current_values': ([AlertEvaluationRow],), # noqa: E501 'error_message': (str,), # noqa: E501 - 'filter_count': (int,), # noqa: E501 'formatted_threshold': (str,), # noqa: E501 'lower_threshold': (float,), # noqa: E501 'remaining_alert_evaluation_count': (int,), # noqa: E501 @@ -107,6 +106,7 @@ def openapi_types(): 'threshold': (float,), # noqa: E501 'total_value_count': (int,), # noqa: E501 'trace_id': (str,), # noqa: E501 + 'triggered_at': (datetime,), # noqa: E501 'triggered_count': (int,), # noqa: E501 'upper_threshold': (float,), # noqa: E501 } @@ -122,7 +122,6 @@ def discriminator(): 'attribute': 'attribute', # noqa: E501 'current_values': 'currentValues', # noqa: E501 'error_message': 'errorMessage', # noqa: E501 - 'filter_count': 'filterCount', # noqa: E501 'formatted_threshold': 'formattedThreshold', # noqa: E501 'lower_threshold': 'lowerThreshold', # noqa: E501 'remaining_alert_evaluation_count': 'remainingAlertEvaluationCount', # noqa: E501 @@ -130,6 +129,7 @@ def discriminator(): 'threshold': 'threshold', # noqa: E501 'total_value_count': 'totalValueCount', # noqa: E501 'trace_id': 'traceId', # noqa: E501 + 'triggered_at': 'triggeredAt', # noqa: E501 'triggered_count': 'triggeredCount', # noqa: E501 'upper_threshold': 'upperThreshold', # noqa: E501 } @@ -182,7 +182,6 @@ def _from_openapi_data(cls, condition, metric, *args, **kwargs): # noqa: E501 attribute (str): [optional] # noqa: E501 current_values ([AlertEvaluationRow]): [optional] # noqa: E501 error_message (str): [optional] # noqa: E501 - filter_count (int): [optional] # noqa: E501 formatted_threshold (str): [optional] # noqa: E501 lower_threshold (float): [optional] # noqa: E501 remaining_alert_evaluation_count (int): [optional] # noqa: E501 @@ -190,6 +189,7 @@ def _from_openapi_data(cls, condition, metric, *args, **kwargs): # noqa: E501 threshold (float): [optional] # noqa: E501 total_value_count (int): [optional] # noqa: E501 trace_id (str): [optional] # noqa: E501 + triggered_at (datetime): [optional] # noqa: E501 triggered_count (int): [optional] # noqa: E501 upper_threshold (float): [optional] # noqa: E501 """ @@ -286,7 +286,6 @@ def __init__(self, condition, metric, *args, **kwargs): # noqa: E501 attribute (str): [optional] # noqa: E501 current_values ([AlertEvaluationRow]): [optional] # noqa: E501 error_message (str): [optional] # noqa: E501 - filter_count (int): [optional] # noqa: E501 formatted_threshold (str): [optional] # noqa: E501 lower_threshold (float): [optional] # noqa: E501 remaining_alert_evaluation_count (int): [optional] # noqa: E501 @@ -294,6 +293,7 @@ def __init__(self, condition, metric, *args, **kwargs): # noqa: E501 threshold (float): [optional] # noqa: E501 total_value_count (int): [optional] # noqa: E501 trace_id (str): [optional] # noqa: E501 + triggered_at (datetime): [optional] # noqa: E501 triggered_count (int): [optional] # noqa: E501 upper_threshold (float): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/automation_schedule.py b/gooddata-api-client/gooddata_api_client/model/automation_schedule.py index fc1589514..391cbce13 100644 --- a/gooddata-api-client/gooddata_api_client/model/automation_schedule.py +++ b/gooddata-api-client/gooddata_api_client/model/automation_schedule.py @@ -89,9 +89,9 @@ def openapi_types(): """ return { 'cron': (str,), # noqa: E501 + 'timezone': (str,), # noqa: E501 'cron_description': (str,), # noqa: E501 'first_run': (datetime,), # noqa: E501 - 'timezone': (str,), # noqa: E501 } @cached_property @@ -101,9 +101,9 @@ def discriminator(): attribute_map = { 'cron': 'cron', # noqa: E501 + 'timezone': 'timezone', # noqa: E501 'cron_description': 'cronDescription', # noqa: E501 'first_run': 'firstRun', # noqa: E501 - 'timezone': 'timezone', # noqa: E501 } read_only_vars = { @@ -114,11 +114,12 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, cron, timezone, *args, **kwargs): # noqa: E501 """AutomationSchedule - a model defined in OpenAPI Args: cron (str): Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. + timezone (str): Timezone in which the schedule is defined. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -153,7 +154,6 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) cron_description (str): Human-readable description of the cron expression.. [optional] # noqa: E501 first_run (datetime): Timestamp of the first scheduled action. If not provided default to the next scheduled time.. [optional] # noqa: E501 - timezone (str): Timezone in which the schedule is defined.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -186,6 +186,7 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.cron = cron + self.timezone = timezone for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -206,11 +207,12 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, cron, *args, **kwargs): # noqa: E501 + def __init__(self, cron, timezone, *args, **kwargs): # noqa: E501 """AutomationSchedule - a model defined in OpenAPI Args: cron (str): Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. + timezone (str): Timezone in which the schedule is defined. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -245,7 +247,6 @@ def __init__(self, cron, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) cron_description (str): Human-readable description of the cron expression.. [optional] # noqa: E501 first_run (datetime): Timestamp of the first scheduled action. If not provided default to the next scheduled time.. [optional] # noqa: E501 - timezone (str): Timezone in which the schedule is defined.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -276,6 +277,7 @@ def __init__(self, cron, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.cron = cron + self.timezone = timezone for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_data_source.py b/gooddata-api-client/gooddata_api_client/model/declarative_data_source.py index 57cb82efc..582ffcf6a 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_data_source.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_data_source.py @@ -82,10 +82,10 @@ class DeclarativeDataSource(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, ('cache_strategy',): { 'ALWAYS': "ALWAYS", diff --git a/gooddata-api-client/gooddata_api_client/model/export_result.py b/gooddata-api-client/gooddata_api_client/model/export_result.py index 589eff95e..dfcf79fd7 100644 --- a/gooddata-api-client/gooddata_api_client/model/export_result.py +++ b/gooddata-api-client/gooddata_api_client/model/export_result.py @@ -94,6 +94,7 @@ def openapi_types(): 'error_message': (str,), # noqa: E501 'file_uri': (str,), # noqa: E501 'trace_id': (str,), # noqa: E501 + 'triggered_at': (datetime,), # noqa: E501 } @cached_property @@ -108,6 +109,7 @@ def discriminator(): 'error_message': 'errorMessage', # noqa: E501 'file_uri': 'fileUri', # noqa: E501 'trace_id': 'traceId', # noqa: E501 + 'triggered_at': 'triggeredAt', # noqa: E501 } read_only_vars = { @@ -159,6 +161,7 @@ def _from_openapi_data(cls, export_id, file_name, status, *args, **kwargs): # n error_message (str): [optional] # noqa: E501 file_uri (str): [optional] # noqa: E501 trace_id (str): [optional] # noqa: E501 + triggered_at (datetime): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -255,6 +258,7 @@ def __init__(self, export_id, file_name, status, *args, **kwargs): # noqa: E501 error_message (str): [optional] # noqa: E501 file_uri (str): [optional] # noqa: E501 trace_id (str): [optional] # noqa: E501 + triggered_at (datetime): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_automation_in_attributes_schedule.py b/gooddata-api-client/gooddata_api_client/model/json_api_automation_in_attributes_schedule.py index 0d40d0e9c..d7a62d544 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_automation_in_attributes_schedule.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_automation_in_attributes_schedule.py @@ -89,9 +89,9 @@ def openapi_types(): """ return { 'cron': (str,), # noqa: E501 + 'timezone': (str,), # noqa: E501 'cron_description': (str,), # noqa: E501 'first_run': (datetime,), # noqa: E501 - 'timezone': (str,), # noqa: E501 } @cached_property @@ -101,9 +101,9 @@ def discriminator(): attribute_map = { 'cron': 'cron', # noqa: E501 + 'timezone': 'timezone', # noqa: E501 'cron_description': 'cronDescription', # noqa: E501 'first_run': 'firstRun', # noqa: E501 - 'timezone': 'timezone', # noqa: E501 } read_only_vars = { @@ -114,11 +114,12 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, cron, timezone, *args, **kwargs): # noqa: E501 """JsonApiAutomationInAttributesSchedule - a model defined in OpenAPI Args: cron (str): Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. + timezone (str): Timezone in which the schedule is defined. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -153,7 +154,6 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) cron_description (str): Human-readable description of the cron expression.. [optional] # noqa: E501 first_run (datetime): Timestamp of the first scheduled action. If not provided default to the next scheduled time.. [optional] # noqa: E501 - timezone (str): Timezone in which the schedule is defined.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -186,6 +186,7 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.cron = cron + self.timezone = timezone for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -206,11 +207,12 @@ def _from_openapi_data(cls, cron, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, cron, *args, **kwargs): # noqa: E501 + def __init__(self, cron, timezone, *args, **kwargs): # noqa: E501 """JsonApiAutomationInAttributesSchedule - a model defined in OpenAPI Args: cron (str): Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays. + timezone (str): Timezone in which the schedule is defined. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -245,7 +247,6 @@ def __init__(self, cron, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) cron_description (str): Human-readable description of the cron expression.. [optional] # noqa: E501 first_run (datetime): Timestamp of the first scheduled action. If not provided default to the next scheduled time.. [optional] # noqa: E501 - timezone (str): Timezone in which the schedule is defined.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -276,6 +277,7 @@ def __init__(self, cron, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.cron = cron + self.timezone = timezone for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_identifier_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_identifier_out_attributes.py index cbc85f21b..53ed24c7d 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_identifier_out_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_identifier_out_attributes.py @@ -76,10 +76,10 @@ class JsonApiDataSourceIdentifierOutAttributes(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_in_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_in_attributes.py index 6494b21f1..65cb349a3 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_in_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_in_attributes.py @@ -80,10 +80,10 @@ class JsonApiDataSourceInAttributes(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, ('cache_strategy',): { 'None': None, diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_out_attributes.py index b0d2e116e..21f8aa4c8 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_out_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_out_attributes.py @@ -80,10 +80,10 @@ class JsonApiDataSourceOutAttributes(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, ('authentication_type',): { 'None': None, diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_patch_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_patch_attributes.py index e02fb4232..60c332e63 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_data_source_patch_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_data_source_patch_attributes.py @@ -85,10 +85,10 @@ class JsonApiDataSourcePatchAttributes(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/notification_filter.py b/gooddata-api-client/gooddata_api_client/model/notification_filter.py new file mode 100644 index 000000000..3f77cd810 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/notification_filter.py @@ -0,0 +1,276 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class NotificationFilter(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'filter': (str,), # noqa: E501 + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'filter': 'filter', # noqa: E501 + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, filter, title, *args, **kwargs): # noqa: E501 + """NotificationFilter - a model defined in OpenAPI + + Args: + filter (str): + title (str): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.filter = filter + self.title = title + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, filter, title, *args, **kwargs): # noqa: E501 + """NotificationFilter - a model defined in OpenAPI + + Args: + filter (str): + title (str): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.filter = filter + self.title = title + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/test_definition_request.py b/gooddata-api-client/gooddata_api_client/model/test_definition_request.py index 35bd82310..6f44beeb7 100644 --- a/gooddata-api-client/gooddata_api_client/model/test_definition_request.py +++ b/gooddata-api-client/gooddata_api_client/model/test_definition_request.py @@ -80,10 +80,10 @@ class TestDefinitionRequest(ModelNormal): 'MYSQL': "MYSQL", 'MARIADB': "MARIADB", 'ORACLE': "ORACLE", - 'PINOT': "PINOT", 'SINGLESTORE': "SINGLESTORE", 'MOTHERDUCK': "MOTHERDUCK", 'FLEXCONNECT': "FLEXCONNECT", + 'STARROCKS': "STARROCKS", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/webhook_message_data.py b/gooddata-api-client/gooddata_api_client/model/webhook_message_data.py index addb33f76..66f43b575 100644 --- a/gooddata-api-client/gooddata_api_client/model/webhook_message_data.py +++ b/gooddata-api-client/gooddata_api_client/model/webhook_message_data.py @@ -33,10 +33,12 @@ def lazy_import(): from gooddata_api_client.model.alert_description import AlertDescription from gooddata_api_client.model.export_result import ExportResult + from gooddata_api_client.model.notification_filter import NotificationFilter from gooddata_api_client.model.webhook_automation_info import WebhookAutomationInfo from gooddata_api_client.model.webhook_recipient import WebhookRecipient globals()['AlertDescription'] = AlertDescription globals()['ExportResult'] = ExportResult + globals()['NotificationFilter'] = NotificationFilter globals()['WebhookAutomationInfo'] = WebhookAutomationInfo globals()['WebhookRecipient'] = WebhookRecipient @@ -97,6 +99,7 @@ def openapi_types(): 'automation': (WebhookAutomationInfo,), # noqa: E501 'alert': (AlertDescription,), # noqa: E501 'details': ({str: (str,)},), # noqa: E501 + 'filters': ([NotificationFilter],), # noqa: E501 'recipients': ([WebhookRecipient],), # noqa: E501 'remaining_action_count': (int,), # noqa: E501 'tabular_exports': ([ExportResult],), # noqa: E501 @@ -112,6 +115,7 @@ def discriminator(): 'automation': 'automation', # noqa: E501 'alert': 'alert', # noqa: E501 'details': 'details', # noqa: E501 + 'filters': 'filters', # noqa: E501 'recipients': 'recipients', # noqa: E501 'remaining_action_count': 'remainingActionCount', # noqa: E501 'tabular_exports': 'tabularExports', # noqa: E501 @@ -164,6 +168,7 @@ def _from_openapi_data(cls, automation, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) alert (AlertDescription): [optional] # noqa: E501 details ({str: (str,)}): [optional] # noqa: E501 + filters ([NotificationFilter]): [optional] # noqa: E501 recipients ([WebhookRecipient]): [optional] # noqa: E501 remaining_action_count (int): [optional] # noqa: E501 tabular_exports ([ExportResult]): [optional] # noqa: E501 @@ -259,6 +264,7 @@ def __init__(self, automation, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) alert (AlertDescription): [optional] # noqa: E501 details ({str: (str,)}): [optional] # noqa: E501 + filters ([NotificationFilter]): [optional] # noqa: E501 recipients ([WebhookRecipient]): [optional] # noqa: E501 remaining_action_count (int): [optional] # noqa: E501 tabular_exports ([ExportResult]): [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py index ac36293ad..fe1476756 100644 --- a/gooddata-api-client/gooddata_api_client/models/__init__.py +++ b/gooddata-api-client/gooddata_api_client/models/__init__.py @@ -763,6 +763,7 @@ from gooddata_api_client.model.notification_channel_destination import NotificationChannelDestination from gooddata_api_client.model.notification_content import NotificationContent from gooddata_api_client.model.notification_data import NotificationData +from gooddata_api_client.model.notification_filter import NotificationFilter from gooddata_api_client.model.notifications import Notifications from gooddata_api_client.model.notifications_meta import NotificationsMeta from gooddata_api_client.model.notifications_meta_total import NotificationsMetaTotal diff --git a/gooddata-sdk/gooddata_sdk/compute/service.py b/gooddata-sdk/gooddata_sdk/compute/service.py index f42472b1e..74c4de735 100644 --- a/gooddata-sdk/gooddata_sdk/compute/service.py +++ b/gooddata-sdk/gooddata_sdk/compute/service.py @@ -3,6 +3,7 @@ import logging +from gooddata_api_client import ApiException from gooddata_api_client.model.afm_cancel_tokens import AfmCancelTokens from gooddata_api_client.model.chat_history_request import ChatHistoryRequest from gooddata_api_client.model.chat_history_result import ChatHistoryResult @@ -114,7 +115,7 @@ def ai_chat_history_reset(self, workspace_id: str) -> None: chat_history_request = ChatHistoryRequest(reset=True) self._actions_api.ai_chat_history(workspace_id, chat_history_request, _check_return_type=False) - def cancel_executions(self, executions: list[tuple[str, str]]) -> None: + def cancel_executions(self, executions: dict[str, dict[str, str]]) -> None: """ Try to cancel given executions using the cancel api endpoint. Order of token applications is not guaranteed. @@ -122,17 +123,12 @@ def cancel_executions(self, executions: list[tuple[str, str]]) -> None: *Note that this is currently a noop, we will be enabling this functionality soon.* Args: - executions: list of tuples [workspace_id, cancel_token] to send for cancellation + executions: maps workspace_id |-> result_id_to_cancel_token_pairs """ - workspace_to_tokens: dict[str, set[str]] = {} - - for execution in executions: - workspace_id, cancel_token = execution - - if workspace_id not in workspace_to_tokens: - workspace_to_tokens[workspace_id] = set() - - workspace_to_tokens[workspace_id].add(cancel_token) - - for workspace_id, token_ids in workspace_to_tokens.items(): - self._actions_api.cancel_executions(workspace_id, AfmCancelTokens(list(token_ids))) + try: + for workspace_id, cancel_tokens in executions.items(): + self._actions_api.cancel_executions( + workspace_id, AfmCancelTokens(result_id_to_cancel_token_pairs=cancel_tokens) + ) + except ApiException as e: + print("Exception when calling ActionsApi->cancel_executions: %s\n", e) diff --git a/schemas/gooddata-afm-client.json b/schemas/gooddata-afm-client.json index 156f80555..acced67d7 100644 --- a/schemas/gooddata-afm-client.json +++ b/schemas/gooddata-afm-client.json @@ -118,16 +118,17 @@ "AfmCancelTokens": { "description": "Any information related to cancellation.", "properties": { - "tokenIds": { - "description": "Token ids to be used in the cancellation.", - "items": { + "resultIdToCancelTokenPairs": { + "additionalProperties": { + "description": "resultId to cancel token pairs", "type": "string" }, - "type": "array" + "description": "resultId to cancel token pairs", + "type": "object" } }, "required": [ - "tokenIds" + "resultIdToCancelTokenPairs" ], "type": "object" }, diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json index cdbc8c4c5..6afe8e984 100644 --- a/schemas/gooddata-api-client.json +++ b/schemas/gooddata-api-client.json @@ -236,16 +236,17 @@ "AfmCancelTokens": { "description": "Any information related to cancellation.", "properties": { - "tokenIds": { - "description": "Token ids to be used in the cancellation.", - "items": { + "resultIdToCancelTokenPairs": { + "additionalProperties": { + "description": "resultId to cancel token pairs", "type": "string" }, - "type": "array" + "description": "resultId to cancel token pairs", + "type": "object" } }, "required": [ - "tokenIds" + "resultIdToCancelTokenPairs" ], "type": "object" }, @@ -623,10 +624,6 @@ "errorMessage": { "type": "string" }, - "filterCount": { - "format": "int32", - "type": "integer" - }, "formattedThreshold": { "type": "string" }, @@ -661,6 +658,10 @@ "traceId": { "type": "string" }, + "triggeredAt": { + "format": "date-time", + "type": "string" + }, "triggeredCount": { "format": "int32", "type": "integer" @@ -1164,7 +1165,7 @@ }, "AutomationMetadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -1225,7 +1226,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -3208,10 +3210,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "example": "POSTGRESQL", "type": "string" @@ -6191,6 +6193,10 @@ }, "traceId": { "type": "string" + }, + "triggeredAt": { + "format": "date-time", + "type": "string" } }, "required": [ @@ -8311,7 +8317,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -8353,7 +8359,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -8569,7 +8576,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -8615,7 +8622,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -8931,7 +8939,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -8973,7 +8981,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -10360,10 +10369,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" } @@ -10566,10 +10575,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, @@ -10730,10 +10739,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, @@ -10948,10 +10957,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, @@ -20325,6 +20334,21 @@ ], "type": "object" }, + "NotificationFilter": { + "properties": { + "filter": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "filter", + "title" + ], + "type": "object" + }, "Notifications": { "properties": { "data": { @@ -22471,10 +22495,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "example": "POSTGRESQL", "type": "string" @@ -23316,6 +23340,12 @@ }, "type": "object" }, + "filters": { + "items": { + "$ref": "#/components/schemas/NotificationFilter" + }, + "type": "array" + }, "recipients": { "items": { "$ref": "#/components/schemas/WebhookRecipient" diff --git a/schemas/gooddata-automation-client.json b/schemas/gooddata-automation-client.json index 7ca4dc80e..6f5682bff 100644 --- a/schemas/gooddata-automation-client.json +++ b/schemas/gooddata-automation-client.json @@ -91,10 +91,6 @@ "errorMessage": { "type": "string" }, - "filterCount": { - "format": "int32", - "type": "integer" - }, "formattedThreshold": { "type": "string" }, @@ -129,6 +125,10 @@ "traceId": { "type": "string" }, + "triggeredAt": { + "format": "date-time", + "type": "string" + }, "triggeredCount": { "format": "int32", "type": "integer" @@ -176,7 +176,7 @@ }, "AutomationMetadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -407,6 +407,10 @@ }, "traceId": { "type": "string" + }, + "triggeredAt": { + "format": "date-time", + "type": "string" } }, "required": [ @@ -534,6 +538,21 @@ ], "type": "object" }, + "NotificationFilter": { + "properties": { + "filter": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "filter", + "title" + ], + "type": "object" + }, "Notifications": { "properties": { "data": { @@ -991,6 +1010,12 @@ }, "type": "object" }, + "filters": { + "items": { + "$ref": "#/components/schemas/NotificationFilter" + }, + "type": "array" + }, "recipients": { "items": { "$ref": "#/components/schemas/WebhookRecipient" diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json index d8c7f9305..bd70c3a59 100644 --- a/schemas/gooddata-metadata-client.json +++ b/schemas/gooddata-metadata-client.json @@ -595,7 +595,7 @@ }, "AutomationMetadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -637,7 +637,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -1961,10 +1962,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "example": "POSTGRESQL", "type": "string" @@ -6268,7 +6269,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -6310,7 +6311,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -6526,7 +6528,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -6572,7 +6574,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -6888,7 +6891,7 @@ }, "metadata": { "description": "Additional information for the automation.", - "maxLength": 15000, + "maxLength": 250000, "nullable": true, "properties": { "visibleFilters": { @@ -6930,7 +6933,8 @@ } }, "required": [ - "cron" + "cron", + "timezone" ], "type": "object" }, @@ -8317,10 +8321,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" } @@ -8523,10 +8527,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, @@ -8687,10 +8691,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, @@ -8905,10 +8909,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "type": "string" }, diff --git a/schemas/gooddata-scan-client.json b/schemas/gooddata-scan-client.json index f4f536469..fa72deedd 100644 --- a/schemas/gooddata-scan-client.json +++ b/schemas/gooddata-scan-client.json @@ -625,10 +625,10 @@ "MYSQL", "MARIADB", "ORACLE", - "PINOT", "SINGLESTORE", "MOTHERDUCK", - "FLEXCONNECT" + "FLEXCONNECT", + "STARROCKS" ], "example": "POSTGRESQL", "type": "string"