diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES index 1773f4846..46dd96ed8 100644 --- a/gooddata-api-client/.openapi-generator/FILES +++ b/gooddata-api-client/.openapi-generator/FILES @@ -787,6 +787,7 @@ docs/PdmSql.md docs/PermissionsApi.md docs/PermissionsAssignment.md docs/PermissionsForAssignee.md +docs/PermissionsForAssigneeAllOf.md docs/PermissionsForAssigneeRule.md docs/PlatformUsage.md docs/PlatformUsageRequest.md @@ -806,6 +807,11 @@ docs/RangeMeasureValueFilterRangeMeasureValueFilter.md docs/RangeWrapper.md docs/RankingFilter.md docs/RankingFilterRankingFilter.md +docs/RawCustomLabel.md +docs/RawCustomMetric.md +docs/RawCustomOverride.md +docs/RawExportApi.md +docs/RawExportRequest.md docs/ReferenceIdentifier.md docs/ReferenceSourceColumn.md docs/Relative.md @@ -836,6 +842,8 @@ docs/Settings.md docs/SimpleMeasureDefinition.md docs/SimpleMeasureDefinitionMeasure.md docs/Skeleton.md +docs/SlidesExportRequest.md +docs/SlideshowExportApi.md docs/SmartFunctionResponse.md docs/SmartFunctionsApi.md docs/Smtp.md @@ -965,8 +973,10 @@ gooddata_api_client/api/organization_entity_apis_api.py gooddata_api_client/api/organization_model_controller_api.py gooddata_api_client/api/permissions_api.py gooddata_api_client/api/plugins_api.py +gooddata_api_client/api/raw_export_api.py gooddata_api_client/api/reporting_settings_api.py gooddata_api_client/api/scanning_api.py +gooddata_api_client/api/slideshow_export_api.py gooddata_api_client/api/smart_functions_api.py gooddata_api_client/api/tabular_export_api.py gooddata_api_client/api/test_connection_api.py @@ -1737,6 +1747,7 @@ gooddata_api_client/model/pdm_ldm_request.py gooddata_api_client/model/pdm_sql.py gooddata_api_client/model/permissions_assignment.py gooddata_api_client/model/permissions_for_assignee.py +gooddata_api_client/model/permissions_for_assignee_all_of.py gooddata_api_client/model/permissions_for_assignee_rule.py gooddata_api_client/model/platform_usage.py gooddata_api_client/model/platform_usage_request.py @@ -1755,6 +1766,10 @@ gooddata_api_client/model/range_measure_value_filter_range_measure_value_filter. gooddata_api_client/model/range_wrapper.py gooddata_api_client/model/ranking_filter.py gooddata_api_client/model/ranking_filter_ranking_filter.py +gooddata_api_client/model/raw_custom_label.py +gooddata_api_client/model/raw_custom_metric.py +gooddata_api_client/model/raw_custom_override.py +gooddata_api_client/model/raw_export_request.py gooddata_api_client/model/reference_identifier.py gooddata_api_client/model/reference_source_column.py gooddata_api_client/model/relative.py @@ -1783,6 +1798,7 @@ gooddata_api_client/model/settings.py gooddata_api_client/model/simple_measure_definition.py gooddata_api_client/model/simple_measure_definition_measure.py gooddata_api_client/model/skeleton.py +gooddata_api_client/model/slides_export_request.py gooddata_api_client/model/smart_function_response.py gooddata_api_client/model/smtp.py gooddata_api_client/model/smtp_all_of.py diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md index 5159d50e0..0d3dbc04d 100644 --- a/gooddata-api-client/README.md +++ b/gooddata-api-client/README.md @@ -282,11 +282,16 @@ Class | Method | HTTP request | Description *PluginsApi* | [**get_entity_dashboard_plugins**](docs/PluginsApi.md#get_entity_dashboard_plugins) | **GET** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Get a Plugin *PluginsApi* | [**patch_entity_dashboard_plugins**](docs/PluginsApi.md#patch_entity_dashboard_plugins) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Patch a Plugin *PluginsApi* | [**update_entity_dashboard_plugins**](docs/PluginsApi.md#update_entity_dashboard_plugins) | **PUT** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Put a Plugin +*RawExportApi* | [**create_raw_export**](docs/RawExportApi.md#create_raw_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/raw | (EXPERIMENTAL) Create raw export request +*RawExportApi* | [**get_raw_export**](docs/RawExportApi.md#get_raw_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId} | (EXPERIMENTAL) Retrieve exported files *ReportingSettingsApi* | [**resolve_all_settings_without_workspace**](docs/ReportingSettingsApi.md#resolve_all_settings_without_workspace) | **GET** /api/v1/actions/resolveSettings | Values for all settings without workspace. *ReportingSettingsApi* | [**resolve_settings_without_workspace**](docs/ReportingSettingsApi.md#resolve_settings_without_workspace) | **POST** /api/v1/actions/resolveSettings | Values for selected settings without workspace. *ScanningApi* | [**get_data_source_schemata**](docs/ScanningApi.md#get_data_source_schemata) | **GET** /api/v1/actions/dataSources/{dataSourceId}/scanSchemata | Get a list of schema names of a database *ScanningApi* | [**scan_data_source**](docs/ScanningApi.md#scan_data_source) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scan | Scan a database to get a physical data model (PDM) *ScanningApi* | [**scan_sql**](docs/ScanningApi.md#scan_sql) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scanSql | Collect metadata about SQL query +*SlideshowExportApi* | [**create_slides_export**](docs/SlideshowExportApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request +*SlideshowExportApi* | [**get_slides_export**](docs/SlideshowExportApi.md#get_slides_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId} | (EXPERIMENTAL) Retrieve exported files +*SlideshowExportApi* | [**get_slides_export_metadata**](docs/SlideshowExportApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context *SmartFunctionsApi* | [**ai_chat**](docs/SmartFunctionsApi.md#ai_chat) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/chat | (BETA) Chat with AI *SmartFunctionsApi* | [**ai_chat_history**](docs/SmartFunctionsApi.md#ai_chat_history) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/chatHistory | (BETA) Get Chat History *SmartFunctionsApi* | [**ai_chat_stream**](docs/SmartFunctionsApi.md#ai_chat_stream) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/chatStream | (BETA) Chat with AI @@ -402,6 +407,8 @@ Class | Method | HTTP request | Description *ActionsApi* | [**compute_valid_objects**](docs/ActionsApi.md#compute_valid_objects) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/computeValidObjects | Valid objects *ActionsApi* | [**create_dashboard_export_request**](docs/ActionsApi.md#create_dashboard_export_request) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/export/tabular | (EXPERIMENTAL) Create dashboard tabular export request *ActionsApi* | [**create_pdf_export**](docs/ActionsApi.md#create_pdf_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/visual | Create visual - pdf export request +*ActionsApi* | [**create_raw_export**](docs/ActionsApi.md#create_raw_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/raw | (EXPERIMENTAL) Create raw export request +*ActionsApi* | [**create_slides_export**](docs/ActionsApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request *ActionsApi* | [**create_tabular_export**](docs/ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request *ActionsApi* | [**dashboard_permissions**](docs/ActionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions *ActionsApi* | [**explain_afm**](docs/ActionsApi.md#explain_afm) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/explain | AFM explain resource. @@ -414,6 +421,9 @@ Class | Method | HTTP request | Description *ActionsApi* | [**get_exported_file**](docs/ActionsApi.md#get_exported_file) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId} | Retrieve exported files *ActionsApi* | [**get_metadata**](docs/ActionsApi.md#get_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata | Retrieve metadata context *ActionsApi* | [**get_notifications**](docs/ActionsApi.md#get_notifications) | **GET** /api/v1/actions/notifications | Get latest notifications. +*ActionsApi* | [**get_raw_export**](docs/ActionsApi.md#get_raw_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId} | (EXPERIMENTAL) Retrieve exported files +*ActionsApi* | [**get_slides_export**](docs/ActionsApi.md#get_slides_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId} | (EXPERIMENTAL) Retrieve exported files +*ActionsApi* | [**get_slides_export_metadata**](docs/ActionsApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context *ActionsApi* | [**get_tabular_export**](docs/ActionsApi.md#get_tabular_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/tabular/{exportId} | Retrieve exported files *ActionsApi* | [**get_translation_tags**](docs/ActionsApi.md#get_translation_tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/translations | Get translation tags. *ActionsApi* | [**inherited_entity_conflicts**](docs/ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds identifier conflicts in workspace hierarchy. @@ -1613,6 +1623,7 @@ Class | Method | HTTP request | Description - [PdmSql](docs/PdmSql.md) - [PermissionsAssignment](docs/PermissionsAssignment.md) - [PermissionsForAssignee](docs/PermissionsForAssignee.md) + - [PermissionsForAssigneeAllOf](docs/PermissionsForAssigneeAllOf.md) - [PermissionsForAssigneeRule](docs/PermissionsForAssigneeRule.md) - [PlatformUsage](docs/PlatformUsage.md) - [PlatformUsageRequest](docs/PlatformUsageRequest.md) @@ -1631,6 +1642,10 @@ Class | Method | HTTP request | Description - [RangeWrapper](docs/RangeWrapper.md) - [RankingFilter](docs/RankingFilter.md) - [RankingFilterRankingFilter](docs/RankingFilterRankingFilter.md) + - [RawCustomLabel](docs/RawCustomLabel.md) + - [RawCustomMetric](docs/RawCustomMetric.md) + - [RawCustomOverride](docs/RawCustomOverride.md) + - [RawExportRequest](docs/RawExportRequest.md) - [ReferenceIdentifier](docs/ReferenceIdentifier.md) - [ReferenceSourceColumn](docs/ReferenceSourceColumn.md) - [Relative](docs/Relative.md) @@ -1659,6 +1674,7 @@ Class | Method | HTTP request | Description - [SimpleMeasureDefinition](docs/SimpleMeasureDefinition.md) - [SimpleMeasureDefinitionMeasure](docs/SimpleMeasureDefinitionMeasure.md) - [Skeleton](docs/Skeleton.md) + - [SlidesExportRequest](docs/SlidesExportRequest.md) - [SmartFunctionResponse](docs/SmartFunctionResponse.md) - [Smtp](docs/Smtp.md) - [SmtpAllOf](docs/SmtpAllOf.md) diff --git a/gooddata-api-client/docs/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md index 4b4086b5f..f98bfad1f 100644 --- a/gooddata-api-client/docs/ActionsApi.md +++ b/gooddata-api-client/docs/ActionsApi.md @@ -23,6 +23,8 @@ Method | HTTP request | Description [**compute_valid_objects**](ActionsApi.md#compute_valid_objects) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/computeValidObjects | Valid objects [**create_dashboard_export_request**](ActionsApi.md#create_dashboard_export_request) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/export/tabular | (EXPERIMENTAL) Create dashboard tabular export request [**create_pdf_export**](ActionsApi.md#create_pdf_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/visual | Create visual - pdf export request +[**create_raw_export**](ActionsApi.md#create_raw_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/raw | (EXPERIMENTAL) Create raw export request +[**create_slides_export**](ActionsApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request [**create_tabular_export**](ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request [**dashboard_permissions**](ActionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions [**explain_afm**](ActionsApi.md#explain_afm) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/explain | AFM explain resource. @@ -35,6 +37,9 @@ Method | HTTP request | Description [**get_exported_file**](ActionsApi.md#get_exported_file) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId} | Retrieve exported files [**get_metadata**](ActionsApi.md#get_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata | Retrieve metadata context [**get_notifications**](ActionsApi.md#get_notifications) | **GET** /api/v1/actions/notifications | Get latest notifications. +[**get_raw_export**](ActionsApi.md#get_raw_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId} | (EXPERIMENTAL) Retrieve exported files +[**get_slides_export**](ActionsApi.md#get_slides_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId} | (EXPERIMENTAL) Retrieve exported files +[**get_slides_export_metadata**](ActionsApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context [**get_tabular_export**](ActionsApi.md#get_tabular_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/tabular/{exportId} | Retrieve exported files [**get_translation_tags**](ActionsApi.md#get_translation_tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/translations | Get translation tags. [**inherited_entity_conflicts**](ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds identifier conflicts in workspace hierarchy. @@ -109,7 +114,7 @@ with gooddata_api_client.ApiClient() as api_client: limit_create_context=10, limit_search=5, question="question_example", - relevant_score_threshold=0.4, + relevant_score_threshold=0.45, search_score_threshold=0.9, thread_id_suffix="thread_id_suffix_example", title_to_descriptor_ratio=0.7, @@ -191,7 +196,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = actions_api.ActionsApi(api_client) workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier chat_history_request = ChatHistoryRequest( - chat_history_interaction_id=1, + chat_history_interaction_id="chat_history_interaction_id_example", reset=True, thread_id_suffix="thread_id_suffix_example", user_feedback="POSITIVE", @@ -269,7 +274,7 @@ with gooddata_api_client.ApiClient() as api_client: limit_create_context=10, limit_search=5, question="question_example", - relevant_score_threshold=0.4, + relevant_score_threshold=0.45, search_score_threshold=0.9, thread_id_suffix="thread_id_suffix_example", title_to_descriptor_ratio=0.7, @@ -405,7 +410,7 @@ No authorization required Info about the platform usage. -Provides information about platform usage, like amount of users, workspaces, ... +Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. ### Example @@ -1665,6 +1670,198 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **create_raw_export** +> ExportResponse create_raw_export(workspace_id, raw_export_request) + +(EXPERIMENTAL) Create raw export request + +Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.raw_export_request import RawExportRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + workspace_id = "workspaceId_example" # str | + raw_export_request = RawExportRequest( + custom_override=RawCustomOverride( + labels={ + "key": RawCustomLabel( + title="title_example", + ), + }, + metrics={ + "key": RawCustomMetric( + title="title_example", + ), + }, + ), + execution=AFM( + attributes=[ + AttributeItem( + label=AfmObjectIdentifierLabel( + identifier=AfmObjectIdentifierLabelIdentifier( + id="sample_item.price", + type="label", + ), + ), + local_identifier="attribute_1", + show_all_values=False, + ), + ], + aux_measures=[ + MeasureItem( + definition=MeasureDefinition(), + local_identifier="metric_1", + ), + ], + filters=[ + FilterDefinition(), + ], + measures=[ + MeasureItem( + definition=MeasureDefinition(), + local_identifier="metric_1", + ), + ], + ), + file_name="result", + format="CSV", + ) # RawExportRequest | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Create raw export request + api_response = api_instance.create_raw_export(workspace_id, raw_export_request) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->create_raw_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **raw_export_request** | [**RawExportRequest**](RawExportRequest.md)| | + +### Return type + +[**ExportResponse**](ExportResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Raw export request created successfully. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_slides_export** +> ExportResponse create_slides_export(workspace_id, slides_export_request) + +(EXPERIMENTAL) Create slides export request + +Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.slides_export_request import SlidesExportRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + workspace_id = "workspaceId_example" # str | + slides_export_request = SlidesExportRequest( + dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0", + file_name="filename", + format="PDF", + metadata=JsonNode(), + widget_ids=[ + "widget_ids_example", + ], + ) # SlidesExportRequest | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Create slides export request + api_response = api_instance.create_slides_export(workspace_id, slides_export_request) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->create_slides_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **slides_export_request** | [**SlidesExportRequest**](SlidesExportRequest.md)| | + +### Return type + +[**ExportResponse**](ExportResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Raw export request created successfully. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **create_tabular_export** > ExportResponse create_tabular_export(workspace_id, tabular_export_request) @@ -2562,7 +2759,7 @@ No authorization required Retrieve metadata context -This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404. +This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. ### Example @@ -2702,6 +2899,209 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_raw_export** +> get_raw_export(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve exported files + +Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve exported files + api_instance.get_raw_export(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->get_raw_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream, text/csv + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Binary export result. | * Content-Disposition -
| +**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_slides_export** +> get_slides_export(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve exported files + +Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve exported files + api_instance.get_slides_export(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->get_slides_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Binary export result. | * Content-Disposition -
| +**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_slides_export_metadata** +> get_slides_export_metadata(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve metadata context + +Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import actions_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = actions_api.ActionsApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve metadata context + api_instance.get_slides_export_metadata(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling ActionsApi->get_slides_export_metadata: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Json metadata representation | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_tabular_export** > get_tabular_export(workspace_id, export_id) @@ -3934,7 +4334,7 @@ No authorization required Info about the platform usage for particular items. -Provides information about platform usage, like amount of users, workspaces, ... +Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. ### Example diff --git a/gooddata-api-client/docs/ChatHistoryInteraction.md b/gooddata-api-client/docs/ChatHistoryInteraction.md index eb0462375..7f348776c 100644 --- a/gooddata-api-client/docs/ChatHistoryInteraction.md +++ b/gooddata-api-client/docs/ChatHistoryInteraction.md @@ -5,7 +5,7 @@ List of chat history interactions. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**chat_history_interaction_id** | **int** | Chat History interaction ID. Unique ID for each interaction. | +**chat_history_interaction_id** | **str** | Chat History interaction ID. Unique ID for each interaction. | **interaction_finished** | **bool** | Has the interaction already finished? Can be used for polling when interaction is in progress. | **question** | **str** | User question | **routing** | [**RouteResult**](RouteResult.md) | | diff --git a/gooddata-api-client/docs/ChatHistoryRequest.md b/gooddata-api-client/docs/ChatHistoryRequest.md index fefcbdc9f..ab6fc0a5d 100644 --- a/gooddata-api-client/docs/ChatHistoryRequest.md +++ b/gooddata-api-client/docs/ChatHistoryRequest.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**chat_history_interaction_id** | **int** | Return chat history records only after this interaction ID. If empty, complete chat history is returned. | [optional] +**chat_history_interaction_id** | **str** | Return chat history records only after this interaction ID. If empty, complete chat history is returned. | [optional] **reset** | **bool** | User feedback. | [optional] **thread_id_suffix** | **str** | Chat History thread suffix appended to ID generated by backend. Enables more chat windows. | [optional] **user_feedback** | **str** | User feedback. | [optional] diff --git a/gooddata-api-client/docs/ChatRequest.md b/gooddata-api-client/docs/ChatRequest.md index d8498d9fc..43fd3a043 100644 --- a/gooddata-api-client/docs/ChatRequest.md +++ b/gooddata-api-client/docs/ChatRequest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **limit_create** | **int** | Maximum number of created results. | [optional] if omitted the server will use the default value of 3 **limit_create_context** | **int** | Maximum number of relevant objects included into context for LLM (for each object type). | [optional] if omitted the server will use the default value of 10 **limit_search** | **int** | Maximum number of search results. | [optional] if omitted the server will use the default value of 5 -**relevant_score_threshold** | **float** | Score, above which we return found objects. Below this score objects are not relevant. | [optional] if omitted the server will use the default value of 0.4 +**relevant_score_threshold** | **float** | Score, above which we return found objects. Below this score objects are not relevant. | [optional] if omitted the server will use the default value of 0.45 **search_score_threshold** | **float** | Score, above which we return found object(s) and don't call LLM to create new objects. | [optional] if omitted the server will use the default value of 0.9 **thread_id_suffix** | **str** | Chat History thread suffix appended to ID generated by backend. Enables more chat windows. | [optional] **title_to_descriptor_ratio** | **float** | Temporary for experiments. Ratio of title score to descriptor score. | [optional] if omitted the server will use the default value of 0.7 diff --git a/gooddata-api-client/docs/ChatResult.md b/gooddata-api-client/docs/ChatResult.md index 42fde3d63..ab4a1c7b1 100644 --- a/gooddata-api-client/docs/ChatResult.md +++ b/gooddata-api-client/docs/ChatResult.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**chat_history_interaction_id** | **int** | Chat History interaction ID. Unique ID for each interaction. | [optional] +**chat_history_interaction_id** | **str** | Chat History interaction ID. Unique ID for each interaction. | [optional] **created_visualizations** | [**CreatedVisualizations**](CreatedVisualizations.md) | | [optional] **error_response** | **str** | Error response in anything fails. | [optional] **found_objects** | [**FoundObjects**](FoundObjects.md) | | [optional] diff --git a/gooddata-api-client/docs/DashboardPermissionsAssignment.md b/gooddata-api-client/docs/DashboardPermissionsAssignment.md index e8ac93711..538afa054 100644 --- a/gooddata-api-client/docs/DashboardPermissionsAssignment.md +++ b/gooddata-api-client/docs/DashboardPermissionsAssignment.md @@ -6,8 +6,6 @@ Desired levels of permissions for an assignee. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **permissions** | **[str]** | | -**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | -**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | **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/JsonApiIdentityProviderInAttributes.md b/gooddata-api-client/docs/JsonApiIdentityProviderInAttributes.md index 4ed21e167..1592d4ff2 100644 --- a/gooddata-api-client/docs/JsonApiIdentityProviderInAttributes.md +++ b/gooddata-api-client/docs/JsonApiIdentityProviderInAttributes.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **identifiers** | **[str]** | List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP. In multiple provider setup, this field is mandatory. | -**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] +**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] **oauth_client_id** | **str** | The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] **oauth_client_secret** | **str** | The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] **oauth_issuer_location** | **str** | The location of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] diff --git a/gooddata-api-client/docs/JsonApiIdentityProviderOutAttributes.md b/gooddata-api-client/docs/JsonApiIdentityProviderOutAttributes.md index d909d381e..7931c2f12 100644 --- a/gooddata-api-client/docs/JsonApiIdentityProviderOutAttributes.md +++ b/gooddata-api-client/docs/JsonApiIdentityProviderOutAttributes.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **identifiers** | **[str]** | List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP. In multiple provider setup, this field is mandatory. | -**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] +**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] **oauth_client_id** | **str** | The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] **oauth_issuer_location** | **str** | The location of your OIDC provider. This field is mandatory for OIDC IdP. | [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/JsonApiIdentityProviderPatchAttributes.md b/gooddata-api-client/docs/JsonApiIdentityProviderPatchAttributes.md index b39807853..d4f0a570a 100644 --- a/gooddata-api-client/docs/JsonApiIdentityProviderPatchAttributes.md +++ b/gooddata-api-client/docs/JsonApiIdentityProviderPatchAttributes.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] +**custom_claim_mapping** | **{str: (str,)}** | Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute. | [optional] **identifiers** | **[str]** | List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP. In multiple provider setup, this field is mandatory. | [optional] **oauth_client_id** | **str** | The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] **oauth_client_secret** | **str** | The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP. | [optional] diff --git a/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md b/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md index 3f5f809c1..79b1be80b 100644 --- a/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md +++ b/gooddata-api-client/docs/ManageDashboardPermissionsRequestInner.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | [optional] **assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] **assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [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/PermissionsForAssignee.md b/gooddata-api-client/docs/PermissionsForAssignee.md index e0e841217..9d9f840b1 100644 --- a/gooddata-api-client/docs/PermissionsForAssignee.md +++ b/gooddata-api-client/docs/PermissionsForAssignee.md @@ -5,6 +5,7 @@ Desired levels of permissions for an assignee identified by an identifier. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | **assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | **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/PermissionsForAssigneeAllOf.md b/gooddata-api-client/docs/PermissionsForAssigneeAllOf.md new file mode 100644 index 000000000..91f1bf02b --- /dev/null +++ b/gooddata-api-client/docs/PermissionsForAssigneeAllOf.md @@ -0,0 +1,12 @@ +# PermissionsForAssigneeAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [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/PermissionsForAssigneeRule.md b/gooddata-api-client/docs/PermissionsForAssigneeRule.md index 405f990aa..25029abb9 100644 --- a/gooddata-api-client/docs/PermissionsForAssigneeRule.md +++ b/gooddata-api-client/docs/PermissionsForAssigneeRule.md @@ -5,6 +5,7 @@ Desired levels of permissions for a collection of assignees identified by a rule ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | **assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | **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/RawCustomLabel.md b/gooddata-api-client/docs/RawCustomLabel.md new file mode 100644 index 000000000..16608a50c --- /dev/null +++ b/gooddata-api-client/docs/RawCustomLabel.md @@ -0,0 +1,13 @@ +# RawCustomLabel + +Custom label object override. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **str** | Override value. | +**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/RawCustomMetric.md b/gooddata-api-client/docs/RawCustomMetric.md new file mode 100644 index 000000000..940e5050a --- /dev/null +++ b/gooddata-api-client/docs/RawCustomMetric.md @@ -0,0 +1,13 @@ +# RawCustomMetric + +Custom metric object override. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **str** | Metric title override. | +**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/RawCustomOverride.md b/gooddata-api-client/docs/RawCustomOverride.md new file mode 100644 index 000000000..bca81cb26 --- /dev/null +++ b/gooddata-api-client/docs/RawCustomOverride.md @@ -0,0 +1,14 @@ +# RawCustomOverride + +Custom cell value overrides (IDs will be replaced with specified values). + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**labels** | [**{str: (RawCustomLabel,)}**](RawCustomLabel.md) | Currently No-Op. Map of CustomLabels with keys used as placeholders in export result. | [optional] +**metrics** | [**{str: (RawCustomMetric,)}**](RawCustomMetric.md) | Map of CustomMetrics with keys used as placeholders in export result. | [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/RawExportApi.md b/gooddata-api-client/docs/RawExportApi.md new file mode 100644 index 000000000..b9a574256 --- /dev/null +++ b/gooddata-api-client/docs/RawExportApi.md @@ -0,0 +1,192 @@ +# gooddata_api_client.RawExportApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_raw_export**](RawExportApi.md#create_raw_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/raw | (EXPERIMENTAL) Create raw export request +[**get_raw_export**](RawExportApi.md#get_raw_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId} | (EXPERIMENTAL) Retrieve exported files + + +# **create_raw_export** +> ExportResponse create_raw_export(workspace_id, raw_export_request) + +(EXPERIMENTAL) Create raw export request + +Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import raw_export_api +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.raw_export_request import RawExportRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = raw_export_api.RawExportApi(api_client) + workspace_id = "workspaceId_example" # str | + raw_export_request = RawExportRequest( + custom_override=RawCustomOverride( + labels={ + "key": RawCustomLabel( + title="title_example", + ), + }, + metrics={ + "key": RawCustomMetric( + title="title_example", + ), + }, + ), + execution=AFM( + attributes=[ + AttributeItem( + label=AfmObjectIdentifierLabel( + identifier=AfmObjectIdentifierLabelIdentifier( + id="sample_item.price", + type="label", + ), + ), + local_identifier="attribute_1", + show_all_values=False, + ), + ], + aux_measures=[ + MeasureItem( + definition=MeasureDefinition(), + local_identifier="metric_1", + ), + ], + filters=[ + FilterDefinition(), + ], + measures=[ + MeasureItem( + definition=MeasureDefinition(), + local_identifier="metric_1", + ), + ], + ), + file_name="result", + format="CSV", + ) # RawExportRequest | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Create raw export request + api_response = api_instance.create_raw_export(workspace_id, raw_export_request) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling RawExportApi->create_raw_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **raw_export_request** | [**RawExportRequest**](RawExportRequest.md)| | + +### Return type + +[**ExportResponse**](ExportResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Raw export request created successfully. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_raw_export** +> get_raw_export(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve exported files + +Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import raw_export_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = raw_export_api.RawExportApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve exported files + api_instance.get_raw_export(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling RawExportApi->get_raw_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream, text/csv + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Binary export result. | * Content-Disposition -
| +**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/gooddata-api-client/docs/RawExportRequest.md b/gooddata-api-client/docs/RawExportRequest.md new file mode 100644 index 000000000..15d7dc61a --- /dev/null +++ b/gooddata-api-client/docs/RawExportRequest.md @@ -0,0 +1,16 @@ +# RawExportRequest + +Export request object describing the export properties and overrides for raw exports. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**execution** | [**AFM**](AFM.md) | | +**file_name** | **str** | Filename of downloaded file without extension. | +**format** | **str** | Requested resulting file type. | +**custom_override** | [**RawCustomOverride**](RawCustomOverride.md) | | [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/SearchResult.md b/gooddata-api-client/docs/SearchResult.md index fd711a2b8..8ccddcf01 100644 --- a/gooddata-api-client/docs/SearchResult.md +++ b/gooddata-api-client/docs/SearchResult.md @@ -4,6 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**reasoning** | **str** | If something is not working properly this field will contain explanation. | **relationships** | [**[SearchRelationshipObject]**](SearchRelationshipObject.md) | | **results** | [**[SearchResultObject]**](SearchResultObject.md) | | **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/SlidesExportRequest.md b/gooddata-api-client/docs/SlidesExportRequest.md new file mode 100644 index 000000000..c01b93825 --- /dev/null +++ b/gooddata-api-client/docs/SlidesExportRequest.md @@ -0,0 +1,17 @@ +# SlidesExportRequest + +Export request object describing the export properties and metadata for slides exports. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dashboard_id** | **str** | Dashboard identifier | +**file_name** | **str** | File name to be used for retrieving the pdf document. | +**format** | **str** | Requested resulting file type. | +**metadata** | [**JsonNode**](JsonNode.md) | | [optional] +**widget_ids** | **[str]** | List of widget identifiers to be exported. Note that only one widget is currently supported. | [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/SlideshowExportApi.md b/gooddata-api-client/docs/SlideshowExportApi.md new file mode 100644 index 000000000..6c9bf1afb --- /dev/null +++ b/gooddata-api-client/docs/SlideshowExportApi.md @@ -0,0 +1,224 @@ +# gooddata_api_client.SlideshowExportApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_slides_export**](SlideshowExportApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request +[**get_slides_export**](SlideshowExportApi.md#get_slides_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId} | (EXPERIMENTAL) Retrieve exported files +[**get_slides_export_metadata**](SlideshowExportApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context + + +# **create_slides_export** +> ExportResponse create_slides_export(workspace_id, slides_export_request) + +(EXPERIMENTAL) Create slides export request + +Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import slideshow_export_api +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.slides_export_request import SlidesExportRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = slideshow_export_api.SlideshowExportApi(api_client) + workspace_id = "workspaceId_example" # str | + slides_export_request = SlidesExportRequest( + dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0", + file_name="filename", + format="PDF", + metadata=JsonNode(), + widget_ids=[ + "widget_ids_example", + ], + ) # SlidesExportRequest | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Create slides export request + api_response = api_instance.create_slides_export(workspace_id, slides_export_request) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling SlideshowExportApi->create_slides_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **slides_export_request** | [**SlidesExportRequest**](SlidesExportRequest.md)| | + +### Return type + +[**ExportResponse**](ExportResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Raw export request created successfully. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_slides_export** +> get_slides_export(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve exported files + +Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import slideshow_export_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = slideshow_export_api.SlideshowExportApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve exported files + api_instance.get_slides_export(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling SlideshowExportApi->get_slides_export: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Binary export result. | * Content-Disposition -
| +**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_slides_export_metadata** +> get_slides_export_metadata(workspace_id, export_id) + +(EXPERIMENTAL) Retrieve metadata context + +Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified. + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import slideshow_export_api +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = slideshow_export_api.SlideshowExportApi(api_client) + workspace_id = "workspaceId_example" # str | + export_id = "exportId_example" # str | + + # example passing only required values which don't have defaults set + try: + # (EXPERIMENTAL) Retrieve metadata context + api_instance.get_slides_export_metadata(workspace_id, export_id) + except gooddata_api_client.ApiException as e: + print("Exception when calling SlideshowExportApi->get_slides_export_metadata: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **workspace_id** | **str**| | + **export_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Json metadata representation | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/gooddata-api-client/docs/SmartFunctionsApi.md b/gooddata-api-client/docs/SmartFunctionsApi.md index 2c3282164..4839f90f8 100644 --- a/gooddata-api-client/docs/SmartFunctionsApi.md +++ b/gooddata-api-client/docs/SmartFunctionsApi.md @@ -50,7 +50,7 @@ with gooddata_api_client.ApiClient() as api_client: limit_create_context=10, limit_search=5, question="question_example", - relevant_score_threshold=0.4, + relevant_score_threshold=0.45, search_score_threshold=0.9, thread_id_suffix="thread_id_suffix_example", title_to_descriptor_ratio=0.7, @@ -132,7 +132,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = smart_functions_api.SmartFunctionsApi(api_client) workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier chat_history_request = ChatHistoryRequest( - chat_history_interaction_id=1, + chat_history_interaction_id="chat_history_interaction_id_example", reset=True, thread_id_suffix="thread_id_suffix_example", user_feedback="POSITIVE", @@ -210,7 +210,7 @@ with gooddata_api_client.ApiClient() as api_client: limit_create_context=10, limit_search=5, question="question_example", - relevant_score_threshold=0.4, + relevant_score_threshold=0.45, search_score_threshold=0.9, thread_id_suffix="thread_id_suffix_example", title_to_descriptor_ratio=0.7, diff --git a/gooddata-api-client/docs/UsageApi.md b/gooddata-api-client/docs/UsageApi.md index c7f054328..b85c6f70b 100644 --- a/gooddata-api-client/docs/UsageApi.md +++ b/gooddata-api-client/docs/UsageApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description Info about the platform usage. -Provides information about platform usage, like amount of users, workspaces, ... +Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. ### Example @@ -76,7 +76,7 @@ No authorization required Info about the platform usage for particular items. -Provides information about platform usage, like amount of users, workspaces, ... +Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. ### Example diff --git a/gooddata-api-client/docs/VisualExportApi.md b/gooddata-api-client/docs/VisualExportApi.md index 079767b94..d8ba776b3 100644 --- a/gooddata-api-client/docs/VisualExportApi.md +++ b/gooddata-api-client/docs/VisualExportApi.md @@ -156,7 +156,7 @@ No authorization required Retrieve metadata context -This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404. +This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. ### Example diff --git a/gooddata-api-client/gooddata_api_client/api/actions_api.py b/gooddata-api-client/gooddata_api_client/api/actions_api.py index cf35af066..e1196d8e5 100644 --- a/gooddata-api-client/gooddata_api_client/api/actions_api.py +++ b/gooddata-api-client/gooddata_api_client/api/actions_api.py @@ -65,6 +65,7 @@ from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment from gooddata_api_client.model.platform_usage import PlatformUsage from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest +from gooddata_api_client.model.raw_export_request import RawExportRequest from gooddata_api_client.model.resolve_settings_request import ResolveSettingsRequest from gooddata_api_client.model.resolved_setting import ResolvedSetting from gooddata_api_client.model.result_cache_metadata import ResultCacheMetadata @@ -74,6 +75,7 @@ from gooddata_api_client.model.scan_sql_response import ScanSqlResponse from gooddata_api_client.model.search_request import SearchRequest from gooddata_api_client.model.search_result import SearchResult +from gooddata_api_client.model.slides_export_request import SlidesExportRequest from gooddata_api_client.model.smart_function_response import SmartFunctionResponse from gooddata_api_client.model.tabular_export_request import TabularExportRequest from gooddata_api_client.model.test_definition_request import TestDefinitionRequest @@ -1305,6 +1307,118 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.create_raw_export_endpoint = _Endpoint( + settings={ + 'response_type': (ExportResponse,), + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/raw', + 'operation_id': 'create_raw_export', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'raw_export_request', + ], + 'required': [ + 'workspace_id', + 'raw_export_request', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'raw_export_request': + (RawExportRequest,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + }, + 'location_map': { + 'workspace_id': 'path', + 'raw_export_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.create_slides_export_endpoint = _Endpoint( + settings={ + 'response_type': (ExportResponse,), + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides', + 'operation_id': 'create_slides_export', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'slides_export_request', + ], + 'required': [ + 'workspace_id', + 'slides_export_request', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'slides_export_request': + (SlidesExportRequest,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + }, + 'location_map': { + 'workspace_id': 'path', + 'slides_export_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.create_tabular_export_endpoint = _Endpoint( settings={ 'response_type': (ExportResponse,), @@ -2060,6 +2174,174 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_raw_export_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId}', + 'operation_id': 'get_raw_export', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/vnd.apache.arrow.file', + 'application/vnd.apache.arrow.stream', + 'text/csv' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.get_slides_export_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}', + 'operation_id': 'get_slides_export', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.get_slides_export_metadata_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata', + 'operation_id': 'get_slides_export_metadata', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_tabular_export_endpoint = _Endpoint( settings={ 'response_type': None, @@ -4454,7 +4736,7 @@ def all_platform_usage( ): """Info about the platform usage. # noqa: E501 - Provides information about platform usage, like amount of users, workspaces, ... # noqa: E501 + Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True @@ -5762,19 +6044,193 @@ def create_pdf_export( visual_export_request return self.create_pdf_export_endpoint.call_with_http_info(**kwargs) - def create_tabular_export( + def create_raw_export( self, workspace_id, - tabular_export_request, + raw_export_request, **kwargs ): - """Create tabular export request # noqa: E501 + """(EXPERIMENTAL) Create raw export request # noqa: E501 - An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 + Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.create_tabular_export(workspace_id, tabular_export_request, async_req=True) + >>> thread = api.create_raw_export(workspace_id, raw_export_request, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + raw_export_request (RawExportRequest): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ExportResponse + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['raw_export_request'] = \ + raw_export_request + return self.create_raw_export_endpoint.call_with_http_info(**kwargs) + + def create_slides_export( + self, + workspace_id, + slides_export_request, + **kwargs + ): + """(EXPERIMENTAL) Create slides export request # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.create_slides_export(workspace_id, slides_export_request, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + slides_export_request (SlidesExportRequest): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ExportResponse + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['slides_export_request'] = \ + slides_export_request + return self.create_slides_export_endpoint.call_with_http_info(**kwargs) + + def create_tabular_export( + self, + workspace_id, + tabular_export_request, + **kwargs + ): + """Create tabular export request # noqa: E501 + + An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.create_tabular_export(workspace_id, tabular_export_request, async_req=True) >>> result = thread.get() Args: @@ -6639,7 +7095,7 @@ def get_metadata( ): """Retrieve metadata context # noqa: E501 - This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404. # noqa: E501 + This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True @@ -6801,6 +7257,267 @@ def get_notifications( kwargs['_request_auths'] = kwargs.get('_request_auths', None) return self.get_notifications_endpoint.call_with_http_info(**kwargs) + def get_raw_export( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve exported files # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_raw_export(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_raw_export_endpoint.call_with_http_info(**kwargs) + + def get_slides_export( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve exported files # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_slides_export(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_slides_export_endpoint.call_with_http_info(**kwargs) + + def get_slides_export_metadata( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve metadata context # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_slides_export_metadata(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_slides_export_metadata_endpoint.call_with_http_info(**kwargs) + def get_tabular_export( self, workspace_id, @@ -8244,7 +8961,7 @@ def particular_platform_usage( ): """Info about the platform usage for particular items. # noqa: E501 - Provides information about platform usage, like amount of users, workspaces, ... # noqa: E501 + Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/gooddata-api-client/gooddata_api_client/api/raw_export_api.py b/gooddata-api-client/gooddata_api_client/api/raw_export_api.py new file mode 100644 index 000000000..215c69600 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/api/raw_export_api.py @@ -0,0 +1,327 @@ +""" + 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.api_client import ApiClient, Endpoint as _Endpoint +from gooddata_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.raw_export_request import RawExportRequest + + +class RawExportApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.create_raw_export_endpoint = _Endpoint( + settings={ + 'response_type': (ExportResponse,), + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/raw', + 'operation_id': 'create_raw_export', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'raw_export_request', + ], + 'required': [ + 'workspace_id', + 'raw_export_request', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'raw_export_request': + (RawExportRequest,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + }, + 'location_map': { + 'workspace_id': 'path', + 'raw_export_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.get_raw_export_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId}', + 'operation_id': 'get_raw_export', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/vnd.apache.arrow.file', + 'application/vnd.apache.arrow.stream', + 'text/csv' + ], + 'content_type': [], + }, + api_client=api_client + ) + + def create_raw_export( + self, + workspace_id, + raw_export_request, + **kwargs + ): + """(EXPERIMENTAL) Create raw export request # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.create_raw_export(workspace_id, raw_export_request, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + raw_export_request (RawExportRequest): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ExportResponse + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['raw_export_request'] = \ + raw_export_request + return self.create_raw_export_endpoint.call_with_http_info(**kwargs) + + def get_raw_export( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve exported files # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_raw_export(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_raw_export_endpoint.call_with_http_info(**kwargs) + diff --git a/gooddata-api-client/gooddata_api_client/api/slideshow_export_api.py b/gooddata-api-client/gooddata_api_client/api/slideshow_export_api.py new file mode 100644 index 000000000..91cb31453 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/api/slideshow_export_api.py @@ -0,0 +1,468 @@ +""" + 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.api_client import ApiClient, Endpoint as _Endpoint +from gooddata_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.slides_export_request import SlidesExportRequest + + +class SlideshowExportApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.create_slides_export_endpoint = _Endpoint( + settings={ + 'response_type': (ExportResponse,), + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides', + 'operation_id': 'create_slides_export', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'slides_export_request', + ], + 'required': [ + 'workspace_id', + 'slides_export_request', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'slides_export_request': + (SlidesExportRequest,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + }, + 'location_map': { + 'workspace_id': 'path', + 'slides_export_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.get_slides_export_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}', + 'operation_id': 'get_slides_export', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/pdf', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.get_slides_export_metadata_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata', + 'operation_id': 'get_slides_export_metadata', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'workspace_id', + 'export_id', + ], + 'required': [ + 'workspace_id', + 'export_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'workspace_id': + (str,), + 'export_id': + (str,), + }, + 'attribute_map': { + 'workspace_id': 'workspaceId', + 'export_id': 'exportId', + }, + 'location_map': { + 'workspace_id': 'path', + 'export_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + + def create_slides_export( + self, + workspace_id, + slides_export_request, + **kwargs + ): + """(EXPERIMENTAL) Create slides export request # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.create_slides_export(workspace_id, slides_export_request, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + slides_export_request (SlidesExportRequest): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ExportResponse + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['slides_export_request'] = \ + slides_export_request + return self.create_slides_export_endpoint.call_with_http_info(**kwargs) + + def get_slides_export( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve exported files # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_slides_export(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_slides_export_endpoint.call_with_http_info(**kwargs) + + def get_slides_export_metadata( + self, + workspace_id, + export_id, + **kwargs + ): + """(EXPERIMENTAL) Retrieve metadata context # noqa: E501 + + Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_slides_export_metadata(workspace_id, export_id, async_req=True) + >>> result = thread.get() + + Args: + workspace_id (str): + export_id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _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) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['workspace_id'] = \ + workspace_id + kwargs['export_id'] = \ + export_id + return self.get_slides_export_metadata_endpoint.call_with_http_info(**kwargs) + diff --git a/gooddata-api-client/gooddata_api_client/api/usage_api.py b/gooddata-api-client/gooddata_api_client/api/usage_api.py index b4eb4e2be..45d593cc3 100644 --- a/gooddata-api-client/gooddata_api_client/api/usage_api.py +++ b/gooddata-api-client/gooddata_api_client/api/usage_api.py @@ -136,7 +136,7 @@ def all_platform_usage( ): """Info about the platform usage. # noqa: E501 - Provides information about platform usage, like amount of users, workspaces, ... # noqa: E501 + Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True @@ -215,7 +215,7 @@ def particular_platform_usage( ): """Info about the platform usage for particular items. # noqa: E501 - Provides information about platform usage, like amount of users, workspaces, ... # noqa: E501 + Provides information about platform usage, like amount of users, workspaces, ... _NOTE_: The `admin` user is always excluded from this amount. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/gooddata-api-client/gooddata_api_client/api/visual_export_api.py b/gooddata-api-client/gooddata_api_client/api/visual_export_api.py index aaea5804f..007962c1d 100644 --- a/gooddata-api-client/gooddata_api_client/api/visual_export_api.py +++ b/gooddata-api-client/gooddata_api_client/api/visual_export_api.py @@ -386,7 +386,7 @@ def get_metadata( ): """Retrieve metadata context # noqa: E501 - This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404. # noqa: E501 + This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True diff --git a/gooddata-api-client/gooddata_api_client/apis/__init__.py b/gooddata-api-client/gooddata_api_client/apis/__init__.py index 312eda2a4..6a6d80788 100644 --- a/gooddata-api-client/gooddata_api_client/apis/__init__.py +++ b/gooddata-api-client/gooddata_api_client/apis/__init__.py @@ -53,8 +53,10 @@ from gooddata_api_client.api.organization_entity_apis_api import OrganizationEntityAPIsApi from gooddata_api_client.api.permissions_api import PermissionsApi from gooddata_api_client.api.plugins_api import PluginsApi +from gooddata_api_client.api.raw_export_api import RawExportApi from gooddata_api_client.api.reporting_settings_api import ReportingSettingsApi from gooddata_api_client.api.scanning_api import ScanningApi +from gooddata_api_client.api.slideshow_export_api import SlideshowExportApi from gooddata_api_client.api.smart_functions_api import SmartFunctionsApi from gooddata_api_client.api.tabular_export_api import TabularExportApi from gooddata_api_client.api.test_connection_api import TestConnectionApi diff --git a/gooddata-api-client/gooddata_api_client/model/chat_history_interaction.py b/gooddata-api-client/gooddata_api_client/model/chat_history_interaction.py index 195daeff7..b2af5d1c0 100644 --- a/gooddata-api-client/gooddata_api_client/model/chat_history_interaction.py +++ b/gooddata-api-client/gooddata_api_client/model/chat_history_interaction.py @@ -100,7 +100,7 @@ def openapi_types(): """ lazy_import() return { - 'chat_history_interaction_id': (int,), # noqa: E501 + 'chat_history_interaction_id': (str,), # noqa: E501 'interaction_finished': (bool,), # noqa: E501 'question': (str,), # noqa: E501 'routing': (RouteResult,), # noqa: E501 @@ -141,7 +141,7 @@ def _from_openapi_data(cls, chat_history_interaction_id, interaction_finished, q """ChatHistoryInteraction - a model defined in OpenAPI Args: - chat_history_interaction_id (int): Chat History interaction ID. Unique ID for each interaction. + chat_history_interaction_id (str): Chat History interaction ID. Unique ID for each interaction. interaction_finished (bool): Has the interaction already finished? Can be used for polling when interaction is in progress. question (str): User question routing (RouteResult): @@ -242,7 +242,7 @@ def __init__(self, chat_history_interaction_id, interaction_finished, question, """ChatHistoryInteraction - a model defined in OpenAPI Args: - chat_history_interaction_id (int): Chat History interaction ID. Unique ID for each interaction. + chat_history_interaction_id (str): Chat History interaction ID. Unique ID for each interaction. interaction_finished (bool): Has the interaction already finished? Can be used for polling when interaction is in progress. question (str): User question routing (RouteResult): diff --git a/gooddata-api-client/gooddata_api_client/model/chat_history_request.py b/gooddata-api-client/gooddata_api_client/model/chat_history_request.py index ee46df157..53862ff12 100644 --- a/gooddata-api-client/gooddata_api_client/model/chat_history_request.py +++ b/gooddata-api-client/gooddata_api_client/model/chat_history_request.py @@ -87,7 +87,7 @@ def openapi_types(): and the value is attribute type. """ return { - 'chat_history_interaction_id': (int,), # noqa: E501 + 'chat_history_interaction_id': (str,), # noqa: E501 'reset': (bool,), # noqa: E501 'thread_id_suffix': (str,), # noqa: E501 'user_feedback': (str,), # noqa: E501 @@ -146,7 +146,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - chat_history_interaction_id (int): Return chat history records only after this interaction ID. If empty, complete chat history is returned.. [optional] # noqa: E501 + chat_history_interaction_id (str): Return chat history records only after this interaction ID. If empty, complete chat history is returned.. [optional] # noqa: E501 reset (bool): User feedback.. [optional] # noqa: E501 thread_id_suffix (str): Chat History thread suffix appended to ID generated by backend. Enables more chat windows.. [optional] # noqa: E501 user_feedback (str): User feedback.. [optional] # noqa: E501 @@ -235,7 +235,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - chat_history_interaction_id (int): Return chat history records only after this interaction ID. If empty, complete chat history is returned.. [optional] # noqa: E501 + chat_history_interaction_id (str): Return chat history records only after this interaction ID. If empty, complete chat history is returned.. [optional] # noqa: E501 reset (bool): User feedback.. [optional] # noqa: E501 thread_id_suffix (str): Chat History thread suffix appended to ID generated by backend. Enables more chat windows.. [optional] # noqa: E501 user_feedback (str): User feedback.. [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/chat_request.py b/gooddata-api-client/gooddata_api_client/model/chat_request.py index ad6687b1e..8fa16a9ec 100644 --- a/gooddata-api-client/gooddata_api_client/model/chat_request.py +++ b/gooddata-api-client/gooddata_api_client/model/chat_request.py @@ -166,7 +166,7 @@ def _from_openapi_data(cls, question, *args, **kwargs): # noqa: E501 limit_create (int): Maximum number of created results.. [optional] if omitted the server will use the default value of 3 # noqa: E501 limit_create_context (int): Maximum number of relevant objects included into context for LLM (for each object type).. [optional] if omitted the server will use the default value of 10 # noqa: E501 limit_search (int): Maximum number of search results.. [optional] if omitted the server will use the default value of 5 # noqa: E501 - relevant_score_threshold (float): Score, above which we return found objects. Below this score objects are not relevant.. [optional] if omitted the server will use the default value of 0.4 # noqa: E501 + relevant_score_threshold (float): Score, above which we return found objects. Below this score objects are not relevant.. [optional] if omitted the server will use the default value of 0.45 # noqa: E501 search_score_threshold (float): Score, above which we return found object(s) and don't call LLM to create new objects.. [optional] if omitted the server will use the default value of 0.9 # noqa: E501 thread_id_suffix (str): Chat History thread suffix appended to ID generated by backend. Enables more chat windows.. [optional] # noqa: E501 title_to_descriptor_ratio (float): Temporary for experiments. Ratio of title score to descriptor score.. [optional] if omitted the server will use the default value of 0.7 # noqa: E501 @@ -263,7 +263,7 @@ def __init__(self, question, *args, **kwargs): # noqa: E501 limit_create (int): Maximum number of created results.. [optional] if omitted the server will use the default value of 3 # noqa: E501 limit_create_context (int): Maximum number of relevant objects included into context for LLM (for each object type).. [optional] if omitted the server will use the default value of 10 # noqa: E501 limit_search (int): Maximum number of search results.. [optional] if omitted the server will use the default value of 5 # noqa: E501 - relevant_score_threshold (float): Score, above which we return found objects. Below this score objects are not relevant.. [optional] if omitted the server will use the default value of 0.4 # noqa: E501 + relevant_score_threshold (float): Score, above which we return found objects. Below this score objects are not relevant.. [optional] if omitted the server will use the default value of 0.45 # noqa: E501 search_score_threshold (float): Score, above which we return found object(s) and don't call LLM to create new objects.. [optional] if omitted the server will use the default value of 0.9 # noqa: E501 thread_id_suffix (str): Chat History thread suffix appended to ID generated by backend. Enables more chat windows.. [optional] # noqa: E501 title_to_descriptor_ratio (float): Temporary for experiments. Ratio of title score to descriptor score.. [optional] if omitted the server will use the default value of 0.7 # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/chat_result.py b/gooddata-api-client/gooddata_api_client/model/chat_result.py index 8f25e33ec..ac4dbf6da 100644 --- a/gooddata-api-client/gooddata_api_client/model/chat_result.py +++ b/gooddata-api-client/gooddata_api_client/model/chat_result.py @@ -92,7 +92,7 @@ def openapi_types(): """ lazy_import() return { - 'chat_history_interaction_id': (int,), # noqa: E501 + 'chat_history_interaction_id': (str,), # noqa: E501 'created_visualizations': (CreatedVisualizations,), # noqa: E501 'error_response': (str,), # noqa: E501 'found_objects': (FoundObjects,), # noqa: E501 @@ -157,7 +157,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - chat_history_interaction_id (int): Chat History interaction ID. Unique ID for each interaction.. [optional] # noqa: E501 + chat_history_interaction_id (str): Chat History interaction ID. Unique ID for each interaction.. [optional] # noqa: E501 created_visualizations (CreatedVisualizations): [optional] # noqa: E501 error_response (str): Error response in anything fails.. [optional] # noqa: E501 found_objects (FoundObjects): [optional] # noqa: E501 @@ -249,7 +249,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - chat_history_interaction_id (int): Chat History interaction ID. Unique ID for each interaction.. [optional] # noqa: E501 + chat_history_interaction_id (str): Chat History interaction ID. Unique ID for each interaction.. [optional] # noqa: E501 created_visualizations (CreatedVisualizations): [optional] # noqa: E501 error_response (str): Error response in anything fails.. [optional] # noqa: E501 found_objects (FoundObjects): [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py index 0cfe9a563..674515ff4 100644 --- a/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py +++ b/gooddata-api-client/gooddata_api_client/model/dashboard_permissions_assignment.py @@ -30,18 +30,8 @@ from gooddata_api_client.exceptions import ApiAttributeError -def lazy_import(): - from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier - from gooddata_api_client.model.assignee_rule import AssigneeRule - from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee - from gooddata_api_client.model.permissions_for_assignee_rule import PermissionsForAssigneeRule - globals()['AssigneeIdentifier'] = AssigneeIdentifier - globals()['AssigneeRule'] = AssigneeRule - globals()['PermissionsForAssignee'] = PermissionsForAssignee - globals()['PermissionsForAssigneeRule'] = PermissionsForAssigneeRule - - -class DashboardPermissionsAssignment(ModelComposed): + +class DashboardPermissionsAssignment(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -82,7 +72,6 @@ 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 """ - lazy_import() return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 _nullable = False @@ -97,11 +86,8 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ - lazy_import() return { 'permissions': ([str],), # noqa: E501 - 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 - 'assignee_rule': (AssigneeRule,), # noqa: E501 } @cached_property @@ -111,22 +97,22 @@ def discriminator(): attribute_map = { 'permissions': 'permissions', # noqa: E501 - 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 - 'assignee_rule': 'assigneeRule', # noqa: E501 } read_only_vars = { } + _composed_schemas = {} + @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 """DashboardPermissionsAssignment - a model defined in OpenAPI - Keyword Args: + Args: permissions ([str]): - assignee_identifier (AssigneeIdentifier): - assignee_rule (AssigneeRule): + + 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. @@ -160,7 +146,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) - _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _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', ()) @@ -188,29 +174,15 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - constant_args = { - '_check_type': _check_type, - '_path_to_item': _path_to_item, - '_spec_property_naming': _spec_property_naming, - '_configuration': _configuration, - '_visited_composed_classes': self._visited_composed_classes, - } - composed_info = validate_get_composed_info( - constant_args, kwargs, self) - self._composed_instances = composed_info[0] - self._var_name_to_model_instances = composed_info[1] - self._additional_properties_model_instances = composed_info[2] - discarded_args = composed_info[3] - + self.permissions = permissions for var_name, var_value in kwargs.items(): - if var_name in discarded_args and \ + if var_name not in self.attribute_map and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self._additional_properties_model_instances: + self.additional_properties_type is None: # discard variable. continue setattr(self, var_name, var_value) - return self required_properties = set([ @@ -220,19 +192,16 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 '_path_to_item', '_configuration', '_visited_composed_classes', - '_composed_instances', - '_var_name_to_model_instances', - '_additional_properties_model_instances', ]) @convert_js_args_to_python_args - def __init__(self, *args, **kwargs): # noqa: E501 + def __init__(self, permissions, *args, **kwargs): # noqa: E501 """DashboardPermissionsAssignment - a model defined in OpenAPI - Keyword Args: + Args: permissions ([str]): - assignee_identifier (AssigneeIdentifier): - assignee_rule (AssigneeRule): + + 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. @@ -292,49 +261,15 @@ def __init__(self, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - constant_args = { - '_check_type': _check_type, - '_path_to_item': _path_to_item, - '_spec_property_naming': _spec_property_naming, - '_configuration': _configuration, - '_visited_composed_classes': self._visited_composed_classes, - } - composed_info = validate_get_composed_info( - constant_args, kwargs, self) - self._composed_instances = composed_info[0] - self._var_name_to_model_instances = composed_info[1] - self._additional_properties_model_instances = composed_info[2] - discarded_args = composed_info[3] - + self.permissions = permissions for var_name, var_value in kwargs.items(): - if var_name in discarded_args and \ + if var_name not in self.attribute_map and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self._additional_properties_model_instances: + 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.") - - @cached_property - def _composed_schemas(): - # we need this here to make our import statements work - # we must store _composed_schemas in here so the code is only run - # when we invoke this method. If we kept this at the class - # level we would get an error because the class level - # code would be run when this module is imported, and these composed - # classes don't exist yet because their module has not finished - # loading - lazy_import() - return { - 'anyOf': [ - ], - 'allOf': [ - ], - 'oneOf': [ - PermissionsForAssignee, - PermissionsForAssigneeRule, - ], - } diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_setting.py b/gooddata-api-client/gooddata_api_client/model/declarative_setting.py index c9d65acc4..7187e653f 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_setting.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_setting.py @@ -79,6 +79,7 @@ class DeclarativeSetting(ModelNormal): 'SEPARATORS': "SEPARATORS", 'DATE_FILTER_CONFIG': "DATE_FILTER_CONFIG", 'JIT_PROVISIONING': "JIT_PROVISIONING", + 'DASHBOARD_FILTERS_APPLY_MODE': "DASHBOARD_FILTERS_APPLY_MODE", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_in_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_in_attributes.py index 86812d45c..a946fa8de 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_in_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_in_attributes.py @@ -162,7 +162,7 @@ def _from_openapi_data(cls, identifiers, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_client_secret (str): The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_issuer_location (str): The location of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 @@ -256,7 +256,7 @@ def __init__(self, identifiers, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_client_secret (str): The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_issuer_location (str): The location of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_out_attributes.py index 341f5a2f1..c942a6de7 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_out_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_out_attributes.py @@ -152,7 +152,7 @@ def _from_openapi_data(cls, identifiers, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_issuer_location (str): The location of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 """ @@ -244,7 +244,7 @@ def __init__(self, identifiers, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_issuer_location (str): The location of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_patch_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_patch_attributes.py index a1353c52b..fb4b8ea6f 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_patch_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_identity_provider_patch_attributes.py @@ -159,7 +159,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 identifiers ([str]): List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP. In multiple provider setup, this field is mandatory.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_client_secret (str): The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 @@ -250,7 +250,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 + custom_claim_mapping ({str: (str,)}): Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.. [optional] # noqa: E501 identifiers ([str]): List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP. In multiple provider setup, this field is mandatory.. [optional] # noqa: E501 oauth_client_id (str): The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 oauth_client_secret (str): The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.. [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py index 4ce2d6f8a..62aa42a79 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py @@ -75,6 +75,7 @@ class JsonApiOrganizationSettingInAttributes(ModelNormal): 'SEPARATORS': "SEPARATORS", 'DATE_FILTER_CONFIG': "DATE_FILTER_CONFIG", 'JIT_PROVISIONING': "JIT_PROVISIONING", + 'DASHBOARD_FILTERS_APPLY_MODE': "DASHBOARD_FILTERS_APPLY_MODE", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py b/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py index 48ae34287..72b4aa6ad 100644 --- a/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py +++ b/gooddata-api-client/gooddata_api_client/model/manage_dashboard_permissions_request_inner.py @@ -66,6 +66,11 @@ class ManageDashboardPermissionsRequestInner(ModelComposed): """ allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, } validations = { @@ -94,6 +99,7 @@ def openapi_types(): """ lazy_import() return { + 'permissions': ([str],), # noqa: E501 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 'assignee_rule': (AssigneeRule,), # noqa: E501 } @@ -104,6 +110,7 @@ def discriminator(): attribute_map = { + 'permissions': 'permissions', # noqa: E501 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 'assignee_rule': 'assigneeRule', # noqa: E501 } @@ -147,6 +154,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + permissions ([str]): [optional] # noqa: E501 assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 assignee_rule (AssigneeRule): [optional] # noqa: E501 """ @@ -252,6 +260,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + permissions ([str]): [optional] # noqa: E501 assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 assignee_rule (AssigneeRule): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py index 4688f5935..0e4fb2e89 100644 --- a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py @@ -32,10 +32,14 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment + from gooddata_api_client.model.permissions_for_assignee_all_of import PermissionsForAssigneeAllOf globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment + globals()['PermissionsForAssigneeAllOf'] = PermissionsForAssigneeAllOf -class PermissionsForAssignee(ModelNormal): +class PermissionsForAssignee(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -60,6 +64,11 @@ class PermissionsForAssignee(ModelNormal): """ allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, } validations = { @@ -88,6 +97,7 @@ def openapi_types(): """ lazy_import() return { + 'permissions': ([str],), # noqa: E501 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 } @@ -97,23 +107,21 @@ def discriminator(): attribute_map = { + 'permissions': 'permissions', # noqa: E501 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 } read_only_vars = { } - _composed_schemas = {} - @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, assignee_identifier, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 """PermissionsForAssignee - a model defined in OpenAPI - Args: - assignee_identifier (AssigneeIdentifier): - Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): _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. @@ -147,7 +155,7 @@ def _from_openapi_data(cls, assignee_identifier, *args, **kwargs): # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) - _spec_property_naming = kwargs.pop('_spec_property_naming', 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', ()) @@ -175,15 +183,29 @@ def _from_openapi_data(cls, assignee_identifier, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_identifier = assignee_identifier + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # discard variable. continue setattr(self, var_name, var_value) + return self required_properties = set([ @@ -193,16 +215,18 @@ def _from_openapi_data(cls, assignee_identifier, *args, **kwargs): # noqa: E501 '_path_to_item', '_configuration', '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', ]) @convert_js_args_to_python_args - def __init__(self, assignee_identifier, *args, **kwargs): # noqa: E501 + def __init__(self, *args, **kwargs): # noqa: E501 """PermissionsForAssignee - a model defined in OpenAPI - Args: - assignee_identifier (AssigneeIdentifier): - Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): _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. @@ -262,15 +286,49 @@ def __init__(self, assignee_identifier, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_identifier = assignee_identifier + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # 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.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DashboardPermissionsAssignment, + PermissionsForAssigneeAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py new file mode 100644 index 000000000..e3230b392 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_all_of.py @@ -0,0 +1,270 @@ +""" + 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 + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + globals()['AssigneeIdentifier'] = AssigneeIdentifier + + +class PermissionsForAssigneeAllOf(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 + """ + lazy_import() + 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. + """ + lazy_import() + return { + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeAllOf - a model defined in OpenAPI + + 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,) + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _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__,) + + 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, *args, **kwargs): # noqa: E501 + """PermissionsForAssigneeAllOf - a model defined in OpenAPI + + 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,) + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + """ + + _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__,) + + 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/permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py index 3aaca5ed6..320b6cb96 100644 --- a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py @@ -32,10 +32,14 @@ def lazy_import(): from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment + from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf globals()['AssigneeRule'] = AssigneeRule + globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment + globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf -class PermissionsForAssigneeRule(ModelNormal): +class PermissionsForAssigneeRule(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -60,6 +64,11 @@ class PermissionsForAssigneeRule(ModelNormal): """ allowed_values = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, } validations = { @@ -88,6 +97,7 @@ def openapi_types(): """ lazy_import() return { + 'permissions': ([str],), # noqa: E501 'assignee_rule': (AssigneeRule,), # noqa: E501 } @@ -97,23 +107,21 @@ def discriminator(): attribute_map = { + 'permissions': 'permissions', # noqa: E501 'assignee_rule': 'assigneeRule', # noqa: E501 } read_only_vars = { } - _composed_schemas = {} - @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, assignee_rule, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 """PermissionsForAssigneeRule - a model defined in OpenAPI - Args: - assignee_rule (AssigneeRule): - Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): _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. @@ -147,7 +155,7 @@ def _from_openapi_data(cls, assignee_rule, *args, **kwargs): # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) - _spec_property_naming = kwargs.pop('_spec_property_naming', 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', ()) @@ -175,15 +183,29 @@ def _from_openapi_data(cls, assignee_rule, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_rule = assignee_rule + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # discard variable. continue setattr(self, var_name, var_value) + return self required_properties = set([ @@ -193,16 +215,18 @@ def _from_openapi_data(cls, assignee_rule, *args, **kwargs): # noqa: E501 '_path_to_item', '_configuration', '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', ]) @convert_js_args_to_python_args - def __init__(self, assignee_rule, *args, **kwargs): # noqa: E501 + def __init__(self, *args, **kwargs): # noqa: E501 """PermissionsForAssigneeRule - a model defined in OpenAPI - Args: - assignee_rule (AssigneeRule): - Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): _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. @@ -262,15 +286,49 @@ def __init__(self, assignee_rule, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.assignee_rule = assignee_rule + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + for var_name, var_value in kwargs.items(): - if var_name not in self.attribute_map and \ + if var_name in discarded_args and \ self._configuration is not None and \ self._configuration.discard_unknown_keys and \ - self.additional_properties_type is None: + self._additional_properties_model_instances: # 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.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + DashboardPermissionsAssignment, + DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/raw_custom_label.py b/gooddata-api-client/gooddata_api_client/model/raw_custom_label.py new file mode 100644 index 000000000..e961048d5 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/raw_custom_label.py @@ -0,0 +1,270 @@ +""" + 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 RawCustomLabel(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 { + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, title, *args, **kwargs): # noqa: E501 + """RawCustomLabel - a model defined in OpenAPI + + Args: + title (str): Override value. + + 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.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, title, *args, **kwargs): # noqa: E501 + """RawCustomLabel - a model defined in OpenAPI + + Args: + title (str): Override value. + + 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.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/raw_custom_metric.py b/gooddata-api-client/gooddata_api_client/model/raw_custom_metric.py new file mode 100644 index 000000000..0ffa16c40 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/raw_custom_metric.py @@ -0,0 +1,270 @@ +""" + 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 RawCustomMetric(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 { + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, title, *args, **kwargs): # noqa: E501 + """RawCustomMetric - a model defined in OpenAPI + + Args: + title (str): Metric title override. + + 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.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, title, *args, **kwargs): # noqa: E501 + """RawCustomMetric - a model defined in OpenAPI + + Args: + title (str): Metric title override. + + 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.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/raw_custom_override.py b/gooddata-api-client/gooddata_api_client/model/raw_custom_override.py new file mode 100644 index 000000000..e9f89023b --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/raw_custom_override.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 + + +def lazy_import(): + from gooddata_api_client.model.raw_custom_label import RawCustomLabel + from gooddata_api_client.model.raw_custom_metric import RawCustomMetric + globals()['RawCustomLabel'] = RawCustomLabel + globals()['RawCustomMetric'] = RawCustomMetric + + +class RawCustomOverride(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 + """ + lazy_import() + 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. + """ + lazy_import() + return { + 'labels': ({str: (RawCustomLabel,)},), # noqa: E501 + 'metrics': ({str: (RawCustomMetric,)},), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'labels': 'labels', # noqa: E501 + 'metrics': 'metrics', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """RawCustomOverride - a model defined in OpenAPI + + 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,) + labels ({str: (RawCustomLabel,)}): Currently No-Op. Map of CustomLabels with keys used as placeholders in export result.. [optional] # noqa: E501 + metrics ({str: (RawCustomMetric,)}): Map of CustomMetrics with keys used as placeholders in export result.. [optional] # noqa: E501 + """ + + _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__,) + + 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, *args, **kwargs): # noqa: E501 + """RawCustomOverride - a model defined in OpenAPI + + 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,) + labels ({str: (RawCustomLabel,)}): Currently No-Op. Map of CustomLabels with keys used as placeholders in export result.. [optional] # noqa: E501 + metrics ({str: (RawCustomMetric,)}): Map of CustomMetrics with keys used as placeholders in export result.. [optional] # noqa: E501 + """ + + _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__,) + + 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/raw_export_request.py b/gooddata-api-client/gooddata_api_client/model/raw_export_request.py new file mode 100644 index 000000000..7faf8d3a7 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/raw_export_request.py @@ -0,0 +1,299 @@ +""" + 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 + + +def lazy_import(): + from gooddata_api_client.model.afm import AFM + from gooddata_api_client.model.raw_custom_override import RawCustomOverride + globals()['AFM'] = AFM + globals()['RawCustomOverride'] = RawCustomOverride + + +class RawExportRequest(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 = { + ('format',): { + 'ARROW_FILE': "ARROW_FILE", + 'ARROW_STREAM': "ARROW_STREAM", + 'CSV': "CSV", + }, + } + + 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 + """ + lazy_import() + 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. + """ + lazy_import() + return { + 'execution': (AFM,), # noqa: E501 + 'file_name': (str,), # noqa: E501 + 'format': (str,), # noqa: E501 + 'custom_override': (RawCustomOverride,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'execution': 'execution', # noqa: E501 + 'file_name': 'fileName', # noqa: E501 + 'format': 'format', # noqa: E501 + 'custom_override': 'customOverride', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, execution, file_name, format, *args, **kwargs): # noqa: E501 + """RawExportRequest - a model defined in OpenAPI + + Args: + execution (AFM): + file_name (str): Filename of downloaded file without extension. + format (str): Requested resulting file type. + + 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,) + custom_override (RawCustomOverride): [optional] # noqa: E501 + """ + + _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.execution = execution + self.file_name = file_name + self.format = format + 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, execution, file_name, format, *args, **kwargs): # noqa: E501 + """RawExportRequest - a model defined in OpenAPI + + Args: + execution (AFM): + file_name (str): Filename of downloaded file without extension. + format (str): Requested resulting file type. + + 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,) + custom_override (RawCustomOverride): [optional] # noqa: E501 + """ + + _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.execution = execution + self.file_name = file_name + self.format = format + 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/resolved_setting.py b/gooddata-api-client/gooddata_api_client/model/resolved_setting.py index aafeda364..b0d31ff89 100644 --- a/gooddata-api-client/gooddata_api_client/model/resolved_setting.py +++ b/gooddata-api-client/gooddata_api_client/model/resolved_setting.py @@ -79,6 +79,7 @@ class ResolvedSetting(ModelNormal): 'SEPARATORS': "SEPARATORS", 'DATE_FILTER_CONFIG': "DATE_FILTER_CONFIG", 'JIT_PROVISIONING': "JIT_PROVISIONING", + 'DASHBOARD_FILTERS_APPLY_MODE': "DASHBOARD_FILTERS_APPLY_MODE", }, } diff --git a/gooddata-api-client/gooddata_api_client/model/search_result.py b/gooddata-api-client/gooddata_api_client/model/search_result.py index d240bf16c..d7bb3f07f 100644 --- a/gooddata-api-client/gooddata_api_client/model/search_result.py +++ b/gooddata-api-client/gooddata_api_client/model/search_result.py @@ -90,6 +90,7 @@ def openapi_types(): """ lazy_import() return { + 'reasoning': (str,), # noqa: E501 'relationships': ([SearchRelationshipObject],), # noqa: E501 'results': ([SearchResultObject],), # noqa: E501 } @@ -100,6 +101,7 @@ def discriminator(): attribute_map = { + 'reasoning': 'reasoning', # noqa: E501 'relationships': 'relationships', # noqa: E501 'results': 'results', # noqa: E501 } @@ -111,10 +113,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, relationships, results, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, reasoning, relationships, results, *args, **kwargs): # noqa: E501 """SearchResult - a model defined in OpenAPI Args: + reasoning (str): If something is not working properly this field will contain explanation. relationships ([SearchRelationshipObject]): results ([SearchResultObject]): @@ -180,6 +183,7 @@ def _from_openapi_data(cls, relationships, results, *args, **kwargs): # noqa: E self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.reasoning = reasoning self.relationships = relationships self.results = results for var_name, var_value in kwargs.items(): @@ -202,10 +206,11 @@ def _from_openapi_data(cls, relationships, results, *args, **kwargs): # noqa: E ]) @convert_js_args_to_python_args - def __init__(self, relationships, results, *args, **kwargs): # noqa: E501 + def __init__(self, reasoning, relationships, results, *args, **kwargs): # noqa: E501 """SearchResult - a model defined in OpenAPI Args: + reasoning (str): If something is not working properly this field will contain explanation. relationships ([SearchRelationshipObject]): results ([SearchResultObject]): @@ -269,6 +274,7 @@ def __init__(self, relationships, results, *args, **kwargs): # noqa: E501 self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.reasoning = reasoning self.relationships = relationships self.results = results for var_name, var_value in kwargs.items(): diff --git a/gooddata-api-client/gooddata_api_client/model/slides_export_request.py b/gooddata-api-client/gooddata_api_client/model/slides_export_request.py new file mode 100644 index 000000000..4d683b1a1 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/slides_export_request.py @@ -0,0 +1,303 @@ +""" + 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 + + +def lazy_import(): + from gooddata_api_client.model.json_node import JsonNode + globals()['JsonNode'] = JsonNode + + +class SlidesExportRequest(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 = { + ('format',): { + 'PDF': "PDF", + 'PPTX': "PPTX", + }, + } + + validations = { + ('widget_ids',): { + 'max_items': 1, + }, + } + + @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 + """ + lazy_import() + 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. + """ + lazy_import() + return { + 'dashboard_id': (str,), # noqa: E501 + 'file_name': (str,), # noqa: E501 + 'format': (str,), # noqa: E501 + 'metadata': (JsonNode,), # noqa: E501 + 'widget_ids': ([str],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'dashboard_id': 'dashboardId', # noqa: E501 + 'file_name': 'fileName', # noqa: E501 + 'format': 'format', # noqa: E501 + 'metadata': 'metadata', # noqa: E501 + 'widget_ids': 'widgetIds', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, dashboard_id, file_name, format, *args, **kwargs): # noqa: E501 + """SlidesExportRequest - a model defined in OpenAPI + + Args: + dashboard_id (str): Dashboard identifier + file_name (str): File name to be used for retrieving the pdf document. + format (str): Requested resulting file type. + + 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,) + metadata (JsonNode): [optional] # noqa: E501 + widget_ids ([str]): List of widget identifiers to be exported. Note that only one widget is currently supported.. [optional] # noqa: E501 + """ + + _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.dashboard_id = dashboard_id + self.file_name = file_name + self.format = format + 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, dashboard_id, file_name, format, *args, **kwargs): # noqa: E501 + """SlidesExportRequest - a model defined in OpenAPI + + Args: + dashboard_id (str): Dashboard identifier + file_name (str): File name to be used for retrieving the pdf document. + format (str): Requested resulting file type. + + 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,) + metadata (JsonNode): [optional] # noqa: E501 + widget_ids ([str]): List of widget identifiers to be exported. Note that only one widget is currently supported.. [optional] # noqa: E501 + """ + + _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.dashboard_id = dashboard_id + self.file_name = file_name + self.format = format + 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/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py index 4a383a6bb..a8feeeb70 100644 --- a/gooddata-api-client/gooddata_api_client/models/__init__.py +++ b/gooddata-api-client/gooddata_api_client/models/__init__.py @@ -753,6 +753,7 @@ from gooddata_api_client.model.pdm_sql import PdmSql from gooddata_api_client.model.permissions_assignment import PermissionsAssignment from gooddata_api_client.model.permissions_for_assignee import PermissionsForAssignee +from gooddata_api_client.model.permissions_for_assignee_all_of import PermissionsForAssigneeAllOf from gooddata_api_client.model.permissions_for_assignee_rule import PermissionsForAssigneeRule from gooddata_api_client.model.platform_usage import PlatformUsage from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest @@ -771,6 +772,10 @@ from gooddata_api_client.model.range_wrapper import RangeWrapper from gooddata_api_client.model.ranking_filter import RankingFilter from gooddata_api_client.model.ranking_filter_ranking_filter import RankingFilterRankingFilter +from gooddata_api_client.model.raw_custom_label import RawCustomLabel +from gooddata_api_client.model.raw_custom_metric import RawCustomMetric +from gooddata_api_client.model.raw_custom_override import RawCustomOverride +from gooddata_api_client.model.raw_export_request import RawExportRequest from gooddata_api_client.model.reference_identifier import ReferenceIdentifier from gooddata_api_client.model.reference_source_column import ReferenceSourceColumn from gooddata_api_client.model.relative import Relative @@ -799,6 +804,7 @@ from gooddata_api_client.model.simple_measure_definition import SimpleMeasureDefinition from gooddata_api_client.model.simple_measure_definition_measure import SimpleMeasureDefinitionMeasure from gooddata_api_client.model.skeleton import Skeleton +from gooddata_api_client.model.slides_export_request import SlidesExportRequest from gooddata_api_client.model.smart_function_response import SmartFunctionResponse from gooddata_api_client.model.smtp import Smtp from gooddata_api_client.model.smtp_all_of import SmtpAllOf diff --git a/schemas/gooddata-afm-client.json b/schemas/gooddata-afm-client.json index d9eaa86e1..23238bbda 100644 --- a/schemas/gooddata-afm-client.json +++ b/schemas/gooddata-afm-client.json @@ -727,8 +727,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Chat History interaction ID. Unique ID for each interaction.", - "format": "int64", - "type": "integer" + "type": "string" }, "createdVisualizations": { "$ref": "#/components/schemas/CreatedVisualizations" @@ -782,8 +781,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Return chat history records only after this interaction ID. If empty, complete chat history is returned.", - "format": "int64", - "type": "integer" + "type": "string" }, "reset": { "description": "User feedback.", @@ -851,7 +849,7 @@ "type": "string" }, "relevantScoreThreshold": { - "default": 0.4, + "default": 0.45, "description": "Score, above which we return found objects. Below this score objects are not relevant.", "format": "double", "type": "number" @@ -885,8 +883,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Chat History interaction ID. Unique ID for each interaction.", - "format": "int64", - "type": "integer" + "type": "string" }, "createdVisualizations": { "$ref": "#/components/schemas/CreatedVisualizations" @@ -2848,6 +2845,10 @@ }, "SearchResult": { "properties": { + "reasoning": { + "description": "If something is not working properly this field will contain explanation.", + "type": "string" + }, "relationships": { "items": { "$ref": "#/components/schemas/SearchRelationshipObject" @@ -2862,6 +2863,7 @@ } }, "required": [ + "reasoning", "relationships", "results" ], diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json index c867d8224..4e1c73e23 100644 --- a/schemas/gooddata-api-client.json +++ b/schemas/gooddata-api-client.json @@ -1172,8 +1172,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Chat History interaction ID. Unique ID for each interaction.", - "format": "int64", - "type": "integer" + "type": "string" }, "createdVisualizations": { "$ref": "#/components/schemas/CreatedVisualizations" @@ -1227,8 +1226,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Return chat history records only after this interaction ID. If empty, complete chat history is returned.", - "format": "int64", - "type": "integer" + "type": "string" }, "reset": { "description": "User feedback.", @@ -1296,7 +1294,7 @@ "type": "string" }, "relevantScoreThreshold": { - "default": 0.4, + "default": 0.45, "description": "Score, above which we return found objects. Below this score objects are not relevant.", "format": "double", "type": "number" @@ -1330,8 +1328,7 @@ "properties": { "chatHistoryInteractionId": { "description": "Chat History interaction ID. Unique ID for each interaction.", - "format": "int64", - "type": "integer" + "type": "string" }, "createdVisualizations": { "$ref": "#/components/schemas/CreatedVisualizations" @@ -1884,14 +1881,6 @@ }, "DashboardPermissionsAssignment": { "description": "Desired levels of permissions for an assignee.", - "oneOf": [ - { - "$ref": "#/components/schemas/PermissionsForAssignee" - }, - { - "$ref": "#/components/schemas/PermissionsForAssigneeRule" - } - ], "properties": { "permissions": { "items": { @@ -4332,7 +4321,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "example": "TIMEZONE", "type": "string" @@ -12741,7 +12731,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -12823,7 +12813,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -12935,7 +12925,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -15164,7 +15154,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -15232,7 +15223,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -15340,7 +15332,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16814,7 +16807,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16882,7 +16876,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -18627,7 +18622,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -18695,7 +18691,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -18829,7 +18826,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -18897,7 +18895,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -19782,26 +19781,44 @@ "type": "object" }, "PermissionsForAssignee": { - "description": "Desired levels of permissions for an assignee identified by an identifier.", - "properties": { - "assigneeIdentifier": { - "$ref": "#/components/schemas/AssigneeIdentifier" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" } - }, + ], + "description": "Desired levels of permissions for an assignee identified by an identifier.", "required": [ - "assigneeIdentifier" + "assigneeIdentifier", + "permissions" ], "type": "object" }, "PermissionsForAssigneeRule": { - "description": "Desired levels of permissions for a collection of assignees identified by a rule.", - "properties": { - "assigneeRule": { - "$ref": "#/components/schemas/AssigneeRule" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" } - }, + ], + "description": "Desired levels of permissions for a collection of assignees identified by a rule.", "required": [ - "assigneeRule" + "assigneeRule", + "permissions" ], "type": "object" }, @@ -20126,6 +20143,84 @@ ], "type": "object" }, + "RawCustomLabel": { + "description": "Custom label object override.", + "properties": { + "title": { + "description": "Override value.", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "RawCustomMetric": { + "description": "Custom metric object override.", + "properties": { + "title": { + "description": "Metric title override.", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "RawCustomOverride": { + "description": "Custom cell value overrides (IDs will be replaced with specified values).", + "properties": { + "labels": { + "additionalProperties": { + "$ref": "#/components/schemas/RawCustomLabel" + }, + "description": "Currently No-Op. Map of CustomLabels with keys used as placeholders in export result.", + "type": "object" + }, + "metrics": { + "additionalProperties": { + "$ref": "#/components/schemas/RawCustomMetric" + }, + "description": "Map of CustomMetrics with keys used as placeholders in export result.", + "type": "object" + } + }, + "type": "object" + }, + "RawExportRequest": { + "description": "Export request object describing the export properties and overrides for raw exports.", + "properties": { + "customOverride": { + "$ref": "#/components/schemas/RawCustomOverride" + }, + "execution": { + "$ref": "#/components/schemas/AFM" + }, + "fileName": { + "description": "Filename of downloaded file without extension.", + "example": "result", + "type": "string" + }, + "format": { + "description": "Requested resulting file type.", + "enum": [ + "ARROW_FILE", + "ARROW_STREAM", + "CSV" + ], + "example": "CSV", + "type": "string" + } + }, + "required": [ + "execution", + "fileName", + "format" + ], + "type": "object" + }, "ReferenceIdentifier": { "description": "A reference identifier.", "properties": { @@ -20326,7 +20421,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "example": "TIMEZONE", "type": "string" @@ -20745,6 +20841,10 @@ }, "SearchResult": { "properties": { + "reasoning": { + "description": "If something is not working properly this field will contain explanation.", + "type": "string" + }, "relationships": { "items": { "$ref": "#/components/schemas/SearchRelationshipObject" @@ -20759,6 +20859,7 @@ } }, "required": [ + "reasoning", "relationships", "results" ], @@ -20958,6 +21059,47 @@ "namespace": "urn:oasis:names:tc:xliff:document:2.0" } }, + "SlidesExportRequest": { + "description": "Export request object describing the export properties and metadata for slides exports.", + "properties": { + "dashboardId": { + "description": "Dashboard identifier", + "example": "761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0", + "type": "string" + }, + "fileName": { + "description": "File name to be used for retrieving the pdf document.", + "example": "filename", + "type": "string" + }, + "format": { + "description": "Requested resulting file type.", + "enum": [ + "PDF", + "PPTX" + ], + "example": "PDF", + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "widgetIds": { + "description": "List of widget identifiers to be exported. Note that only one widget is currently supported.", + "items": { + "type": "string" + }, + "maxItems": 1, + "type": "array" + } + }, + "required": [ + "dashboardId", + "fileName", + "format" + ], + "type": "object" + }, "SmartFunctionResponse": { "properties": { "links": { @@ -22536,7 +22678,7 @@ "paths": { "/api/v1/actions/collectUsage": { "get": { - "description": "Provides information about platform usage, like amount of users, workspaces, ...", + "description": "Provides information about platform usage, like amount of users, workspaces, ...\n\n_NOTE_: The `admin` user is always excluded from this amount.", "operationId": "allPlatformUsage", "responses": { "200": { @@ -22566,7 +22708,7 @@ } }, "post": { - "description": "Provides information about platform usage, like amount of users, workspaces, ...", + "description": "Provides information about platform usage, like amount of users, workspaces, ...\n\n_NOTE_: The `admin` user is always excluded from this amount.", "operationId": "particularPlatformUsage", "requestBody": { "content": { @@ -25583,6 +25725,296 @@ ] } }, + "/api/v1/actions/workspaces/{workspaceId}/export/raw": { + "post": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", + "operationId": "createRawExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RawExportRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportResponse" + } + } + }, + "description": "Raw export request created successfully." + } + }, + "summary": "(EXPERIMENTAL) Create raw export request", + "tags": [ + "Raw export", + "actions" + ], + "x-gdc-security-info": { + "description": "Permissions required to execute raw export.", + "permissions": [ + "EXPORT_TABULAR" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId}": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.", + "operationId": "getRawExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/vnd.apache.arrow.file": {}, + "application/vnd.apache.arrow.stream": {}, + "text/csv": {} + }, + "description": "Binary export result.", + "headers": { + "Content-Disposition": { + "schema": { + "example": "attachment; filename='result.csv'", + "pattern": "attachment; filename='[^']+'", + "type": "string" + }, + "style": "simple" + } + } + }, + "202": { + "content": { + "application/vnd.apache.arrow.file": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "application/vnd.apache.arrow.stream": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "text/csv": { + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "description": "Request is accepted, provided exportId exists, but export is not yet ready." + } + }, + "summary": "(EXPERIMENTAL) Retrieve exported files", + "tags": [ + "Raw export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_TABULAR" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides": { + "post": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", + "operationId": "createSlidesExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SlidesExportRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportResponse" + } + } + }, + "description": "Raw export request created successfully." + } + }, + "summary": "(EXPERIMENTAL) Create slides export request", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Permissions required to execute slides export.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.", + "operationId": "getSlidesExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/pdf": {}, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": {} + }, + "description": "Binary export result.", + "headers": { + "Content-Disposition": { + "schema": { + "example": "attachment; filename='result.pdf'", + "pattern": "attachment; filename='[^']+'", + "type": "string" + }, + "style": "simple" + } + } + }, + "202": { + "content": { + "application/pdf": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "description": "Request is accepted, provided exportId exists, but export is not yet ready." + } + }, + "summary": "(EXPERIMENTAL) Retrieve exported files", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified.", + "operationId": "getSlidesExportMetadata", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": {} + }, + "description": "Json metadata representation" + } + }, + "summary": "(EXPERIMENTAL) Retrieve metadata context", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, "/api/v1/actions/workspaces/{workspaceId}/export/tabular": { "post": { "description": "An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", @@ -25832,7 +26264,7 @@ }, "/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata": { "get": { - "description": "This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404.", + "description": "This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified.", "operationId": "getMetadata", "parameters": [ { diff --git a/schemas/gooddata-export-client.json b/schemas/gooddata-export-client.json index 5a2647cdc..27671db4f 100644 --- a/schemas/gooddata-export-client.json +++ b/schemas/gooddata-export-client.json @@ -1,6 +1,429 @@ { "components": { "schemas": { + "AFM": { + "description": "Top level executable entity. Combination of [A]ttributes, [F]ilters & [M]etrics.", + "properties": { + "attributes": { + "description": "Attributes to be used in the computation.", + "items": { + "$ref": "#/components/schemas/AttributeItem" + }, + "type": "array" + }, + "auxMeasures": { + "description": "Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.", + "items": { + "$ref": "#/components/schemas/MeasureItem" + }, + "type": "array" + }, + "filters": { + "description": "Various filter types to filter the execution result.", + "items": { + "$ref": "#/components/schemas/FilterDefinition" + }, + "type": "array" + }, + "measures": { + "description": "Metrics to be computed.", + "items": { + "$ref": "#/components/schemas/MeasureItem" + }, + "type": "array" + } + }, + "required": [ + "attributes", + "filters", + "measures" + ], + "type": "object" + }, + "AbsoluteDateFilter": { + "description": "A datetime filter specifying exact from and to values.", + "properties": { + "absoluteDateFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "dataset": { + "$ref": "#/components/schemas/AfmObjectIdentifierDataset" + }, + "from": { + "example": "2020-07-01 18:23", + "pattern": "^\\d{4}-\\d{1,2}-\\d{1,2}( \\d{1,2}:\\d{1,2})?$", + "type": "string" + }, + "localIdentifier": { + "type": "string" + }, + "to": { + "example": "2020-07-16 23:59", + "pattern": "^\\d{4}-\\d{1,2}-\\d{1,2}( \\d{1,2}:\\d{1,2})?$", + "type": "string" + } + }, + "required": [ + "from", + "to", + "dataset" + ], + "type": "object" + } + }, + "required": [ + "absoluteDateFilter" + ], + "type": "object" + }, + "AbstractMeasureValueFilter": { + "oneOf": [ + { + "$ref": "#/components/schemas/ComparisonMeasureValueFilter" + }, + { + "$ref": "#/components/schemas/RangeMeasureValueFilter" + }, + { + "$ref": "#/components/schemas/RankingFilter" + } + ], + "type": "object" + }, + "AfmIdentifier": { + "description": "Reference to the attribute label to which the filter should be applied.", + "oneOf": [ + { + "$ref": "#/components/schemas/AfmObjectIdentifier" + }, + { + "$ref": "#/components/schemas/AfmLocalIdentifier" + } + ], + "type": "object" + }, + "AfmLocalIdentifier": { + "properties": { + "localIdentifier": { + "example": "sampleAutoGenerated0123_ID", + "pattern": "^[.a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "required": [ + "localIdentifier" + ], + "type": "object" + }, + "AfmObjectIdentifier": { + "description": "ObjectIdentifier with `identifier` wrapper. This serves to distinguish MD object identifiers in AFM request from local identifiers.", + "properties": { + "identifier": { + "properties": { + "id": { + "example": "sample_item.price", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "enum": [ + "analyticalDashboard", + "attribute", + "dashboardPlugin", + "dataset", + "fact", + "label", + "metric", + "prompt", + "visualizationObject", + "filterContext" + ], + "example": "fact", + "type": "string" + } + }, + "required": [ + "type", + "id" + ], + "type": "object" + } + }, + "required": [ + "identifier" + ], + "type": "object" + }, + "AfmObjectIdentifierAttribute": { + "description": "Reference to the date attribute to use.", + "properties": { + "identifier": { + "properties": { + "id": { + "example": "sample_item.price", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "enum": [ + "attribute" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + } + }, + "required": [ + "identifier" + ], + "type": "object" + }, + "AfmObjectIdentifierCore": { + "description": "Reference to the metric, fact or attribute object to use for the metric.", + "properties": { + "identifier": { + "properties": { + "id": { + "example": "sample_item.price", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "enum": [ + "attribute", + "label", + "fact", + "metric" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + } + }, + "required": [ + "identifier" + ], + "type": "object" + }, + "AfmObjectIdentifierDataset": { + "description": "Reference to the date dataset to which the filter should be applied.", + "properties": { + "identifier": { + "properties": { + "id": { + "example": "sample_item.price", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "enum": [ + "dataset" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + } + }, + "required": [ + "identifier" + ], + "type": "object" + }, + "AfmObjectIdentifierLabel": { + "properties": { + "identifier": { + "properties": { + "id": { + "example": "sample_item.price", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "enum": [ + "label" + ], + "type": "string" + } + }, + "required": [ + "type", + "id" + ], + "type": "object" + } + }, + "required": [ + "identifier" + ], + "type": "object" + }, + "ArithmeticMeasureDefinition": { + "description": "Metric representing arithmetics between other metrics.", + "properties": { + "arithmeticMeasure": { + "properties": { + "measureIdentifiers": { + "description": "List of metrics to apply arithmetic operation by chosen operator.", + "items": { + "$ref": "#/components/schemas/AfmLocalIdentifier" + }, + "type": "array" + }, + "operator": { + "description": "Arithmetic operator describing operation between metrics.", + "enum": [ + "SUM", + "DIFFERENCE", + "MULTIPLICATION", + "RATIO", + "CHANGE" + ], + "example": "SUM", + "type": "string" + } + }, + "required": [ + "measureIdentifiers", + "operator" + ], + "type": "object" + } + }, + "required": [ + "arithmeticMeasure" + ], + "type": "object" + }, + "AttributeFilter": { + "description": "Abstract filter definition type attributes", + "oneOf": [ + { + "$ref": "#/components/schemas/NegativeAttributeFilter" + }, + { + "$ref": "#/components/schemas/PositiveAttributeFilter" + } + ], + "type": "object" + }, + "AttributeFilterElements": { + "description": "Filter on specific set of label values.", + "properties": { + "values": { + "description": "Set of label values.", + "example": [ + "value1", + "value2" + ], + "items": { + "nullable": true, + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "values" + ], + "type": "object" + }, + "AttributeItem": { + "properties": { + "label": { + "$ref": "#/components/schemas/AfmObjectIdentifierLabel" + }, + "localIdentifier": { + "description": "Local identifier of the attribute. This can be used to reference the attribute in other parts of the execution definition.", + "example": "attribute_1", + "pattern": "^[.a-zA-Z0-9_-]+$", + "type": "string" + }, + "showAllValues": { + "default": false, + "description": "Indicates whether to show all values of given attribute even if the data bound to those values is not available.", + "type": "boolean" + } + }, + "required": [ + "label", + "localIdentifier" + ], + "type": "object" + }, + "ComparisonMeasureValueFilter": { + "description": "Filter the result by comparing specified metric to given constant value, using given comparison operator.", + "properties": { + "comparisonMeasureValueFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "dimensionality": { + "description": "References to the attributes to be used when filtering.", + "items": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "type": "array" + }, + "localIdentifier": { + "type": "string" + }, + "measure": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "operator": { + "enum": [ + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL_TO", + "LESS_THAN", + "LESS_THAN_OR_EQUAL_TO", + "EQUAL_TO", + "NOT_EQUAL_TO" + ], + "example": "GREATER_THAN", + "type": "string" + }, + "treatNullValuesAs": { + "description": "A value that will be substituted for null values in the metric for the comparisons.", + "example": 0, + "type": "number" + }, + "value": { + "example": 1327, + "type": "number" + } + }, + "required": [ + "operator", + "value", + "measure" + ], + "type": "object" + } + }, + "required": [ + "comparisonMeasureValueFilter" + ], + "type": "object" + }, "CustomLabel": { "description": "Custom label object override.", "properties": { @@ -52,6 +475,18 @@ }, "type": "object" }, + "DateFilter": { + "description": "Abstract filter definition type for dates.", + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteDateFilter" + }, + { + "$ref": "#/components/schemas/RelativeDateFilter" + } + ], + "type": "object" + }, "ExportResponse": { "properties": { "exportResult": { @@ -63,6 +498,96 @@ ], "type": "object" }, + "FilterDefinition": { + "description": "Abstract filter definition type", + "oneOf": [ + { + "$ref": "#/components/schemas/InlineFilterDefinition" + }, + { + "$ref": "#/components/schemas/RankingFilter" + }, + { + "$ref": "#/components/schemas/ComparisonMeasureValueFilter" + }, + { + "$ref": "#/components/schemas/RangeMeasureValueFilter" + }, + { + "$ref": "#/components/schemas/AbsoluteDateFilter" + }, + { + "$ref": "#/components/schemas/RelativeDateFilter" + }, + { + "$ref": "#/components/schemas/NegativeAttributeFilter" + }, + { + "$ref": "#/components/schemas/PositiveAttributeFilter" + } + ], + "type": "object" + }, + "FilterDefinitionForSimpleMeasure": { + "description": "Abstract filter definition type for simple metric.", + "oneOf": [ + { + "$ref": "#/components/schemas/DateFilter" + }, + { + "$ref": "#/components/schemas/AttributeFilter" + } + ], + "type": "object" + }, + "InlineFilterDefinition": { + "description": "Filter in form of direct MAQL query.", + "properties": { + "inline": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "filter": { + "description": "MAQL query representing the filter.", + "type": "string" + }, + "localIdentifier": { + "type": "string" + } + }, + "required": [ + "filter" + ], + "type": "object" + } + }, + "required": [ + "inline" + ], + "type": "object" + }, + "InlineMeasureDefinition": { + "description": "Metric defined by the raw MAQL query.", + "properties": { + "inline": { + "properties": { + "maql": { + "description": "MAQL query defining the metric.", + "type": "string" + } + }, + "required": [ + "maql" + ], + "type": "object" + } + }, + "required": [ + "inline" + ], + "type": "object" + }, "JsonNode": { "description": "Metadata definition in free-form JSON format.", "example": {}, @@ -70,6 +595,85 @@ "nullable": true, "type": "object" }, + "MeasureDefinition": { + "description": "Abstract metric definition type", + "oneOf": [ + { + "$ref": "#/components/schemas/InlineMeasureDefinition" + }, + { + "$ref": "#/components/schemas/ArithmeticMeasureDefinition" + }, + { + "$ref": "#/components/schemas/SimpleMeasureDefinition" + }, + { + "$ref": "#/components/schemas/PopMeasureDefinition" + } + ], + "type": "object" + }, + "MeasureItem": { + "description": "Metric is a quantity that is calculated from the data.", + "properties": { + "definition": { + "$ref": "#/components/schemas/MeasureDefinition" + }, + "localIdentifier": { + "description": "Local identifier of the metric. This can be used to reference the metric in other parts of the execution definition.", + "example": "metric_1", + "pattern": "^[.a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "required": [ + "definition", + "localIdentifier" + ], + "type": "object" + }, + "MeasureValueFilter": { + "description": "Abstract filter definition type filtering by the value of the metric.", + "oneOf": [ + { + "$ref": "#/components/schemas/ComparisonMeasureValueFilter" + }, + { + "$ref": "#/components/schemas/RangeMeasureValueFilter" + } + ], + "type": "object" + }, + "NegativeAttributeFilter": { + "description": "Filter able to limit element values by label and related selected negated elements.", + "properties": { + "negativeAttributeFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "label": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "localIdentifier": { + "type": "string" + }, + "notIn": { + "$ref": "#/components/schemas/AttributeFilterElements" + } + }, + "required": [ + "notIn", + "label" + ], + "type": "object" + } + }, + "required": [ + "negativeAttributeFilter" + ], + "type": "object" + }, "PdfTableStyle": { "description": "Custom CSS styles for the table. (PDF, HTML)", "example": [ @@ -119,6 +723,392 @@ ], "type": "object" }, + "PopDataset": { + "description": "Combination of the date data set to use and how many periods ago to calculate the previous period for.", + "properties": { + "dataset": { + "$ref": "#/components/schemas/AfmObjectIdentifierDataset" + }, + "periodsAgo": { + "description": "Number of periods ago to calculate the previous period for.", + "example": 1, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "dataset", + "periodsAgo" + ], + "type": "object" + }, + "PopDatasetMeasureDefinition": { + "description": "Previous period type of metric.", + "properties": { + "previousPeriodMeasure": { + "properties": { + "dateDatasets": { + "description": "Specification of which date data sets to use for determining the period to calculate the previous period for.", + "items": { + "$ref": "#/components/schemas/PopDataset" + }, + "type": "array" + }, + "measureIdentifier": { + "$ref": "#/components/schemas/AfmLocalIdentifier" + } + }, + "required": [ + "dateDatasets", + "measureIdentifier" + ], + "type": "object" + } + }, + "required": [ + "previousPeriodMeasure" + ], + "type": "object" + }, + "PopDate": { + "description": "Combination of the date attribute to use and how many periods ago to calculate the PoP for.", + "properties": { + "attribute": { + "$ref": "#/components/schemas/AfmObjectIdentifierAttribute" + }, + "periodsAgo": { + "description": "Number of periods ago to calculate the previous period for.", + "example": 1, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "attribute", + "periodsAgo" + ], + "type": "object" + }, + "PopDateMeasureDefinition": { + "description": "Period over period type of metric.", + "properties": { + "overPeriodMeasure": { + "properties": { + "dateAttributes": { + "description": "Attributes to use for determining the period to calculate the PoP for.", + "items": { + "$ref": "#/components/schemas/PopDate" + }, + "type": "array" + }, + "measureIdentifier": { + "$ref": "#/components/schemas/AfmLocalIdentifier" + } + }, + "required": [ + "dateAttributes", + "measureIdentifier" + ], + "type": "object" + } + }, + "required": [ + "overPeriodMeasure" + ], + "type": "object" + }, + "PopMeasureDefinition": { + "oneOf": [ + { + "$ref": "#/components/schemas/PopDatasetMeasureDefinition" + }, + { + "$ref": "#/components/schemas/PopDateMeasureDefinition" + } + ], + "type": "object" + }, + "PositiveAttributeFilter": { + "description": "Filter able to limit element values by label and related selected elements.", + "properties": { + "positiveAttributeFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "in": { + "$ref": "#/components/schemas/AttributeFilterElements" + }, + "label": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "localIdentifier": { + "type": "string" + } + }, + "required": [ + "in", + "label" + ], + "type": "object" + } + }, + "required": [ + "positiveAttributeFilter" + ], + "type": "object" + }, + "RangeMeasureValueFilter": { + "description": "Filter the result by comparing specified metric to given range of values.", + "properties": { + "rangeMeasureValueFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "dimensionality": { + "description": "References to the attributes to be used when filtering.", + "items": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "type": "array" + }, + "from": { + "example": 100, + "type": "number" + }, + "localIdentifier": { + "type": "string" + }, + "measure": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "operator": { + "enum": [ + "BETWEEN", + "NOT_BETWEEN" + ], + "example": "BETWEEN", + "type": "string" + }, + "to": { + "example": 999, + "type": "number" + }, + "treatNullValuesAs": { + "description": "A value that will be substituted for null values in the metric for the comparisons.", + "example": 0, + "type": "number" + } + }, + "required": [ + "from", + "operator", + "to", + "measure" + ], + "type": "object" + } + }, + "required": [ + "rangeMeasureValueFilter" + ], + "type": "object" + }, + "RankingFilter": { + "description": "Filter the result on top/bottom N values according to given metric(s).", + "properties": { + "rankingFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "dimensionality": { + "description": "References to the attributes to be used when filtering.", + "items": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "type": "array" + }, + "localIdentifier": { + "type": "string" + }, + "measures": { + "description": "References to the metrics to be used when filtering.", + "items": { + "$ref": "#/components/schemas/AfmIdentifier" + }, + "type": "array" + }, + "operator": { + "description": "The type of ranking to use, TOP or BOTTOM.", + "enum": [ + "TOP", + "BOTTOM" + ], + "type": "string" + }, + "value": { + "description": "Number of top/bottom values to filter.", + "example": 5, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "measures", + "operator", + "value" + ], + "type": "object" + } + }, + "required": [ + "rankingFilter" + ], + "type": "object" + }, + "RawCustomLabel": { + "description": "Custom label object override.", + "properties": { + "title": { + "description": "Override value.", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "RawCustomMetric": { + "description": "Custom metric object override.", + "properties": { + "title": { + "description": "Metric title override.", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "RawCustomOverride": { + "description": "Custom cell value overrides (IDs will be replaced with specified values).", + "properties": { + "labels": { + "additionalProperties": { + "$ref": "#/components/schemas/RawCustomLabel" + }, + "description": "Currently No-Op. Map of CustomLabels with keys used as placeholders in export result.", + "type": "object" + }, + "metrics": { + "additionalProperties": { + "$ref": "#/components/schemas/RawCustomMetric" + }, + "description": "Map of CustomMetrics with keys used as placeholders in export result.", + "type": "object" + } + }, + "type": "object" + }, + "RawExportRequest": { + "description": "Export request object describing the export properties and overrides for raw exports.", + "properties": { + "customOverride": { + "$ref": "#/components/schemas/RawCustomOverride" + }, + "execution": { + "$ref": "#/components/schemas/AFM" + }, + "fileName": { + "description": "Filename of downloaded file without extension.", + "example": "result", + "type": "string" + }, + "format": { + "description": "Requested resulting file type.", + "enum": [ + "ARROW_FILE", + "ARROW_STREAM", + "CSV" + ], + "example": "CSV", + "type": "string" + } + }, + "required": [ + "execution", + "fileName", + "format" + ], + "type": "object" + }, + "RelativeDateFilter": { + "description": "A date filter specifying a time interval that is relative to the current date. For example, last week, next month, and so on. Field dataset is representing qualifier of date dimension.", + "properties": { + "relativeDateFilter": { + "properties": { + "applyOnResult": { + "type": "boolean" + }, + "dataset": { + "$ref": "#/components/schemas/AfmObjectIdentifierDataset" + }, + "from": { + "description": "Start of the filtering interval. Specified by number of periods (with respect to given granularity). Typically negative (historical time interval like -2 for '2 days/weeks, ... ago').", + "example": -6, + "format": "int32", + "type": "integer" + }, + "granularity": { + "description": "Date granularity specifying particular date attribute in given dimension.", + "enum": [ + "MINUTE", + "HOUR", + "DAY", + "WEEK", + "MONTH", + "QUARTER", + "YEAR", + "MINUTE_OF_HOUR", + "HOUR_OF_DAY", + "DAY_OF_WEEK", + "DAY_OF_MONTH", + "DAY_OF_YEAR", + "WEEK_OF_YEAR", + "MONTH_OF_YEAR", + "QUARTER_OF_YEAR" + ], + "example": "DAY", + "type": "string" + }, + "localIdentifier": { + "type": "string" + }, + "to": { + "description": "End of the filtering interval. Specified by number of periods (with respect to given granularity). Value 'O' is representing current time-interval (current day, week, ...).", + "example": 0, + "format": "int32", + "type": "integer" + } + }, + "required": [ + "from", + "granularity", + "to", + "dataset" + ], + "type": "object" + } + }, + "required": [ + "relativeDateFilter" + ], + "type": "object" + }, "Settings": { "description": "Additional settings.", "properties": { @@ -168,6 +1158,95 @@ }, "type": "object" }, + "SimpleMeasureDefinition": { + "description": "Metric defined by referencing a MAQL metric or an LDM fact object with aggregation.", + "properties": { + "measure": { + "properties": { + "aggregation": { + "description": "Definition of aggregation type of the metric.", + "enum": [ + "SUM", + "COUNT", + "AVG", + "MIN", + "MAX", + "MEDIAN", + "RUNSUM", + "APPROXIMATE_COUNT" + ], + "example": "SUM", + "type": "string" + }, + "computeRatio": { + "default": false, + "description": "If true, compute the percentage of given metric values (broken down by AFM attributes) to the total (not broken down).", + "example": true, + "type": "boolean" + }, + "filters": { + "description": "Metrics can be filtered by attribute filters with the same interface as ones for global AFM. Note that only one DateFilter is allowed.", + "items": { + "$ref": "#/components/schemas/FilterDefinitionForSimpleMeasure" + }, + "type": "array" + }, + "item": { + "$ref": "#/components/schemas/AfmObjectIdentifierCore" + } + }, + "required": [ + "item" + ], + "type": "object" + } + }, + "required": [ + "measure" + ], + "type": "object" + }, + "SlidesExportRequest": { + "description": "Export request object describing the export properties and metadata for slides exports.", + "properties": { + "dashboardId": { + "description": "Dashboard identifier", + "example": "761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0", + "type": "string" + }, + "fileName": { + "description": "File name to be used for retrieving the pdf document.", + "example": "filename", + "type": "string" + }, + "format": { + "description": "Requested resulting file type.", + "enum": [ + "PDF", + "PPTX" + ], + "example": "PDF", + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "widgetIds": { + "description": "List of widget identifiers to be exported. Note that only one widget is currently supported.", + "items": { + "type": "string" + }, + "maxItems": 1, + "type": "array" + } + }, + "required": [ + "dashboardId", + "fileName", + "format" + ], + "type": "object" + }, "TabularExportRequest": { "description": "Export request object describing the export properties and overrides for tabular exports.", "properties": { @@ -306,6 +1385,296 @@ } } }, + "/api/v1/actions/workspaces/{workspaceId}/export/raw": { + "post": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly.An raw export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", + "operationId": "createRawExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RawExportRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportResponse" + } + } + }, + "description": "Raw export request created successfully." + } + }, + "summary": "(EXPERIMENTAL) Create raw export request", + "tags": [ + "Raw export", + "actions" + ], + "x-gdc-security-info": { + "description": "Permissions required to execute raw export.", + "permissions": [ + "EXPORT_TABULAR" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/raw/{exportId}": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly.After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.", + "operationId": "getRawExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/vnd.apache.arrow.file": {}, + "application/vnd.apache.arrow.stream": {}, + "text/csv": {} + }, + "description": "Binary export result.", + "headers": { + "Content-Disposition": { + "schema": { + "example": "attachment; filename='result.csv'", + "pattern": "attachment; filename='[^']+'", + "type": "string" + }, + "style": "simple" + } + } + }, + "202": { + "content": { + "application/vnd.apache.arrow.file": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "application/vnd.apache.arrow.stream": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "text/csv": { + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "description": "Request is accepted, provided exportId exists, but export is not yet ready." + } + }, + "summary": "(EXPERIMENTAL) Retrieve exported files", + "tags": [ + "Raw export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_TABULAR" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides": { + "post": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", + "operationId": "createSlidesExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SlidesExportRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportResponse" + } + } + }, + "description": "Raw export request created successfully." + } + }, + "summary": "(EXPERIMENTAL) Create slides export request", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Permissions required to execute slides export.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.", + "operationId": "getSlidesExport", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/pdf": {}, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": {} + }, + "description": "Binary export result.", + "headers": { + "Content-Disposition": { + "schema": { + "example": "attachment; filename='result.pdf'", + "pattern": "attachment; filename='[^']+'", + "type": "string" + }, + "style": "simple" + } + } + }, + "202": { + "content": { + "application/pdf": { + "schema": { + "format": "binary", + "type": "string" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "description": "Request is accepted, provided exportId exists, but export is not yet ready." + } + }, + "summary": "(EXPERIMENTAL) Retrieve exported files", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, + "/api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata": { + "get": { + "description": "Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified.", + "operationId": "getSlidesExportMetadata", + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "exportId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": {} + }, + "description": "Json metadata representation" + } + }, + "summary": "(EXPERIMENTAL) Retrieve metadata context", + "tags": [ + "Slideshow export", + "actions" + ], + "x-gdc-security-info": { + "description": "Minimal permission required to use this endpoint.", + "permissions": [ + "EXPORT_PDF" + ] + } + } + }, "/api/v1/actions/workspaces/{workspaceId}/export/tabular": { "post": { "description": "An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled.", @@ -555,7 +1924,7 @@ }, "/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata": { "get": { - "description": "This endpoints serves as a cache for user defined metadata for the front end ui to retrieve them, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified. If metadata for given {exportId} has been found, endpoint returns the value 200 else 404.", + "description": "This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/visual endpoint. The metadata structure is not verified.", "operationId": "getMetadata", "parameters": [ { diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json index cd1594523..e8c29f470 100644 --- a/schemas/gooddata-metadata-client.json +++ b/schemas/gooddata-metadata-client.json @@ -887,14 +887,6 @@ }, "DashboardPermissionsAssignment": { "description": "Desired levels of permissions for an assignee.", - "oneOf": [ - { - "$ref": "#/components/schemas/PermissionsForAssignee" - }, - { - "$ref": "#/components/schemas/PermissionsForAssigneeRule" - } - ], "properties": { "permissions": { "items": { @@ -3179,7 +3171,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "example": "TIMEZONE", "type": "string" @@ -10797,7 +10790,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -10879,7 +10872,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -10991,7 +10984,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", + "description": "Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", "maxLength": 10000, "type": "object" }, @@ -13220,7 +13213,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -13288,7 +13282,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -13396,7 +13391,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -14870,7 +14866,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -14938,7 +14935,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16683,7 +16681,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16751,7 +16750,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16885,7 +16885,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -16953,7 +16954,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "type": "string" } @@ -17472,26 +17474,44 @@ "type": "object" }, "PermissionsForAssignee": { - "description": "Desired levels of permissions for an assignee identified by an identifier.", - "properties": { - "assigneeIdentifier": { - "$ref": "#/components/schemas/AssigneeIdentifier" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" } - }, + ], + "description": "Desired levels of permissions for an assignee identified by an identifier.", "required": [ - "assigneeIdentifier" + "assigneeIdentifier", + "permissions" ], "type": "object" }, "PermissionsForAssigneeRule": { - "description": "Desired levels of permissions for a collection of assignees identified by a rule.", - "properties": { - "assigneeRule": { - "$ref": "#/components/schemas/AssigneeRule" + "allOf": [ + { + "$ref": "#/components/schemas/DashboardPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" } - }, + ], + "description": "Desired levels of permissions for a collection of assignees identified by a rule.", "required": [ - "assigneeRule" + "assigneeRule", + "permissions" ], "type": "object" }, @@ -18016,7 +18036,8 @@ "ALERT", "SEPARATORS", "DATE_FILTER_CONFIG", - "JIT_PROVISIONING" + "JIT_PROVISIONING", + "DASHBOARD_FILTERS_APPLY_MODE" ], "example": "TIMEZONE", "type": "string" @@ -19070,7 +19091,7 @@ "paths": { "/api/v1/actions/collectUsage": { "get": { - "description": "Provides information about platform usage, like amount of users, workspaces, ...", + "description": "Provides information about platform usage, like amount of users, workspaces, ...\n\n_NOTE_: The `admin` user is always excluded from this amount.", "operationId": "allPlatformUsage", "responses": { "200": { @@ -19100,7 +19121,7 @@ } }, "post": { - "description": "Provides information about platform usage, like amount of users, workspaces, ...", + "description": "Provides information about platform usage, like amount of users, workspaces, ...\n\n_NOTE_: The `admin` user is always excluded from this amount.", "operationId": "particularPlatformUsage", "requestBody": { "content": {