diff --git a/.openapi-generator/configs/gooddata-api-client.yaml b/.openapi-generator/configs/gooddata-api-client.yaml
index b00459370..f624c4abd 100644
--- a/.openapi-generator/configs/gooddata-api-client.yaml
+++ b/.openapi-generator/configs/gooddata-api-client.yaml
@@ -1,5 +1,5 @@
# (C) 2022 GoodData Corporation
-generatorName: python
+generatorName: python-prior
templateDir: /local/.openapi-generator/custom_templates
appName: "GoodData api client OpenAPI definition"
infoName: "GoodData (generated by OpenAPI Generator)"
diff --git a/docker-compose.yaml b/docker-compose.yaml
index f86f7bb78..6a5e742f0 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -397,6 +397,7 @@ services:
condition: service_healthy
environment:
<<: [*java-opts, *quiver-env-vars]
+ JAVA_OPTS: "${JAVA_OPTS:--Xmx1G --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED}"
GRPC_CALCIQUE_HOST: calcique
GRPC_CALCIQUE_PORT: 6577
GRPC_METADATA_HOST: metadata-api
diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES
index 1912bf0d4..07aa05f83 100644
--- a/gooddata-api-client/.openapi-generator/FILES
+++ b/gooddata-api-client/.openapi-generator/FILES
@@ -84,12 +84,15 @@ docs/AlertCondition.md
docs/AlertConditionOperand.md
docs/AlertDescription.md
docs/AlertEvaluationRow.md
+docs/AllTimeDateFilter.md
+docs/AllTimeDateFilterAllTimeDateFilter.md
docs/AllowedRelationshipType.md
docs/AnalyticsCatalogCreatedBy.md
docs/AnalyticsCatalogTags.md
docs/AnalyticsCatalogUser.md
docs/AnalyticsModelApi.md
docs/AnomalyDetection.md
+docs/AnomalyDetectionConfig.md
docs/AnomalyDetectionRequest.md
docs/AnomalyDetectionResult.md
docs/AnomalyDetectionWrapper.md
@@ -137,8 +140,17 @@ docs/AutomationVisualExport.md
docs/AutomationsApi.md
docs/AvailableAssignees.md
docs/AvailableDriversApi.md
+docs/AwsBedrockAccessKeyAuth.md
+docs/AwsBedrockAccessKeyAuthAllOf.md
+docs/AwsBedrockProviderConfig.md
+docs/AzureFoundryApiKeyAuth.md
+docs/AzureFoundryApiKeyAuthAllOf.md
+docs/AzureFoundryProviderAuth.md
+docs/AzureFoundryProviderConfig.md
+docs/BedrockProviderAuth.md
docs/BoundedFilter.md
docs/CSPDirectivesApi.md
+docs/CertificationApi.md
docs/ChangeAnalysisParams.md
docs/ChangeAnalysisParamsFiltersInner.md
docs/ChangeAnalysisRequest.md
@@ -150,6 +162,7 @@ docs/ChatHistoryResult.md
docs/ChatRequest.md
docs/ChatResult.md
docs/ChatUsageResponse.md
+docs/ClusteringConfig.md
docs/ClusteringRequest.md
docs/ClusteringResult.md
docs/ColumnLocation.md
@@ -172,6 +185,8 @@ docs/ComputationApi.md
docs/ContentSlideTemplate.md
docs/CookieSecurityConfigurationApi.md
docs/CoverSlideTemplate.md
+docs/CreateKnowledgeDocumentRequestDto.md
+docs/CreateKnowledgeDocumentResponseDto.md
docs/CreatedVisualization.md
docs/CreatedVisualizationFiltersInner.md
docs/CreatedVisualizations.md
@@ -300,6 +315,7 @@ docs/DeclarativeWorkspacePermissions.md
docs/DeclarativeWorkspaces.md
docs/DefaultSmtp.md
docs/DefaultSmtpAllOf.md
+docs/DeleteKnowledgeDocumentResponseDto.md
docs/DependencyGraphApi.md
docs/DependentEntitiesGraph.md
docs/DependentEntitiesNode.md
@@ -349,14 +365,19 @@ docs/FilterContextApi.md
docs/FilterDefinition.md
docs/FilterDefinitionForSimpleMeasure.md
docs/FilterViewsApi.md
+docs/ForecastConfig.md
docs/ForecastRequest.md
docs/ForecastResult.md
docs/FoundObjects.md
docs/Frequency.md
docs/FrequencyBucket.md
docs/FrequencyProperties.md
+docs/GenerateDescriptionRequest.md
+docs/GenerateDescriptionResponse.md
docs/GenerateLdmRequest.md
docs/GenerateLogicalDataModelApi.md
+docs/GenerateTitleRequest.md
+docs/GenerateTitleResponse.md
docs/GeoAreaConfig.md
docs/GeoCollectionIdentifier.md
docs/GeographicDataApi.md
@@ -414,7 +435,7 @@ docs/JsonApiAnalyticalDashboardOutMeta.md
docs/JsonApiAnalyticalDashboardOutMetaAccessInfo.md
docs/JsonApiAnalyticalDashboardOutRelationships.md
docs/JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md
-docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md
+docs/JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md
docs/JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md
docs/JsonApiAnalyticalDashboardOutRelationshipsDatasets.md
docs/JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md
@@ -748,6 +769,18 @@ docs/JsonApiLlmEndpointOutWithLinks.md
docs/JsonApiLlmEndpointPatch.md
docs/JsonApiLlmEndpointPatchAttributes.md
docs/JsonApiLlmEndpointPatchDocument.md
+docs/JsonApiLlmProviderIn.md
+docs/JsonApiLlmProviderInAttributes.md
+docs/JsonApiLlmProviderInAttributesModelsInner.md
+docs/JsonApiLlmProviderInAttributesProviderConfig.md
+docs/JsonApiLlmProviderInDocument.md
+docs/JsonApiLlmProviderOut.md
+docs/JsonApiLlmProviderOutDocument.md
+docs/JsonApiLlmProviderOutList.md
+docs/JsonApiLlmProviderOutWithLinks.md
+docs/JsonApiLlmProviderPatch.md
+docs/JsonApiLlmProviderPatchAttributes.md
+docs/JsonApiLlmProviderPatchDocument.md
docs/JsonApiMemoryItemIn.md
docs/JsonApiMemoryItemInAttributes.md
docs/JsonApiMemoryItemInDocument.md
@@ -969,13 +1002,22 @@ docs/KeyDriversDimension.md
docs/KeyDriversRequest.md
docs/KeyDriversResponse.md
docs/KeyDriversResult.md
+docs/KnowledgeDocumentMetadataDto.md
+docs/KnowledgeSearchResultDto.md
docs/LDMDeclarativeAPIsApi.md
docs/LLMEndpointsApi.md
+docs/LLMProvidersApi.md
docs/LabelIdentifier.md
docs/LabelsApi.md
docs/LayoutApi.md
+docs/ListDatabaseInstancesResponse.md
+docs/ListKnowledgeDocumentsResponseDto.md
docs/ListLinks.md
docs/ListLinksAllOf.md
+docs/ListServicesResponse.md
+docs/LlmModel.md
+docs/LlmProviderAuth.md
+docs/LlmProviderConfig.md
docs/LocalIdentifier.md
docs/LocaleRequest.md
docs/ManageDashboardPermissionsRequestInner.md
@@ -996,9 +1038,11 @@ docs/MemoryItemUser.md
docs/MetadataCheckApi.md
docs/MetadataSyncApi.md
docs/Metric.md
+docs/MetricDefinitionOverride.md
docs/MetricRecord.md
docs/MetricValueChange.md
docs/MetricsApi.md
+docs/ModelTestResult.md
docs/NegativeAttributeFilter.md
docs/NegativeAttributeFilterNegativeAttributeFilter.md
docs/Note.md
@@ -1014,6 +1058,10 @@ docs/NotificationsMeta.md
docs/NotificationsMetaTotal.md
docs/ObjectLinks.md
docs/ObjectLinksContainer.md
+docs/OpenAIProviderConfig.md
+docs/OpenAiApiKeyAuth.md
+docs/OpenAiApiKeyAuthAllOf.md
+docs/OpenAiProviderAuth.md
docs/Operation.md
docs/OperationError.md
docs/OptionsApi.md
@@ -1032,6 +1080,7 @@ docs/Over.md
docs/PageMetadata.md
docs/Paging.md
docs/Parameter.md
+docs/PatchKnowledgeDocumentRequestDto.md
docs/PdfTableStyle.md
docs/PdfTableStyleProperty.md
docs/PdmLdmRequest.md
@@ -1094,6 +1143,7 @@ docs/ResultSpec.md
docs/RouteResult.md
docs/RsaSpecification.md
docs/RulePermission.md
+docs/RunServiceCommandRequest.md
docs/RunningSection.md
docs/SavedVisualization.md
docs/ScanRequest.md
@@ -1101,11 +1151,15 @@ docs/ScanResultPdm.md
docs/ScanSqlRequest.md
docs/ScanSqlResponse.md
docs/ScanningApi.md
+docs/SearchKnowledgeResponseDto.md
docs/SearchRelationshipObject.md
docs/SearchRequest.md
docs/SearchResult.md
docs/SearchResultObject.md
+docs/SearchStatisticsDto.md
docs/SectionSlideTemplate.md
+docs/ServiceInfo.md
+docs/SetCertificationRequest.md
docs/Settings.md
docs/SimpleMeasureDefinition.md
docs/SimpleMeasureDefinitionMeasure.md
@@ -1139,6 +1193,9 @@ docs/TabularExportRequest.md
docs/TestConnectionApi.md
docs/TestDefinitionRequest.md
docs/TestDestinationRequest.md
+docs/TestLlmProviderDefinitionRequest.md
+docs/TestLlmProviderDefinitionRequestProviderConfig.md
+docs/TestLlmProviderResponse.md
docs/TestNotification.md
docs/TestNotificationAllOf.md
docs/TestQueryDuration.md
@@ -1152,6 +1209,8 @@ docs/TotalResultHeader.md
docs/TranslationsApi.md
docs/TriggerAutomationRequest.md
docs/TriggerQualityIssuesCalculationResponse.md
+docs/UpsertKnowledgeDocumentRequestDto.md
+docs/UpsertKnowledgeDocumentResponseDto.md
docs/UsageApi.md
docs/UserAssignee.md
docs/UserContext.md
@@ -1185,6 +1244,7 @@ docs/Value.md
docs/VisibleFilter.md
docs/VisualExportApi.md
docs/VisualExportRequest.md
+docs/VisualizationConfig.md
docs/VisualizationObjectApi.md
docs/Webhook.md
docs/WebhookAllOf.md
@@ -1192,6 +1252,9 @@ docs/WebhookAutomationInfo.md
docs/WebhookMessage.md
docs/WebhookMessageData.md
docs/WebhookRecipient.md
+docs/WhatIfMeasureAdjustmentConfig.md
+docs/WhatIfScenarioConfig.md
+docs/WhatIfScenarioItem.md
docs/WidgetSlidesTemplate.md
docs/WorkspaceAutomationIdentifier.md
docs/WorkspaceAutomationManagementBulkRequest.md
@@ -1223,6 +1286,7 @@ gooddata_api_client/api/attributes_api.py
gooddata_api_client/api/automation_organization_view_controller_api.py
gooddata_api_client/api/automations_api.py
gooddata_api_client/api/available_drivers_api.py
+gooddata_api_client/api/certification_api.py
gooddata_api_client/api/computation_api.py
gooddata_api_client/api/cookie_security_configuration_api.py
gooddata_api_client/api/csp_directives_api.py
@@ -1250,6 +1314,7 @@ gooddata_api_client/api/labels_api.py
gooddata_api_client/api/layout_api.py
gooddata_api_client/api/ldm_declarative_apis_api.py
gooddata_api_client/api/llm_endpoints_api.py
+gooddata_api_client/api/llm_providers_api.py
gooddata_api_client/api/manage_permissions_api.py
gooddata_api_client/api/metadata_check_api.py
gooddata_api_client/api/metadata_sync_api.py
@@ -1369,11 +1434,14 @@ gooddata_api_client/model/alert_condition.py
gooddata_api_client/model/alert_condition_operand.py
gooddata_api_client/model/alert_description.py
gooddata_api_client/model/alert_evaluation_row.py
+gooddata_api_client/model/all_time_date_filter.py
+gooddata_api_client/model/all_time_date_filter_all_time_date_filter.py
gooddata_api_client/model/allowed_relationship_type.py
gooddata_api_client/model/analytics_catalog_created_by.py
gooddata_api_client/model/analytics_catalog_tags.py
gooddata_api_client/model/analytics_catalog_user.py
gooddata_api_client/model/anomaly_detection.py
+gooddata_api_client/model/anomaly_detection_config.py
gooddata_api_client/model/anomaly_detection_request.py
gooddata_api_client/model/anomaly_detection_result.py
gooddata_api_client/model/anomaly_detection_wrapper.py
@@ -1415,6 +1483,14 @@ gooddata_api_client/model/automation_slides_export.py
gooddata_api_client/model/automation_tabular_export.py
gooddata_api_client/model/automation_visual_export.py
gooddata_api_client/model/available_assignees.py
+gooddata_api_client/model/aws_bedrock_access_key_auth.py
+gooddata_api_client/model/aws_bedrock_access_key_auth_all_of.py
+gooddata_api_client/model/aws_bedrock_provider_config.py
+gooddata_api_client/model/azure_foundry_api_key_auth.py
+gooddata_api_client/model/azure_foundry_api_key_auth_all_of.py
+gooddata_api_client/model/azure_foundry_provider_auth.py
+gooddata_api_client/model/azure_foundry_provider_config.py
+gooddata_api_client/model/bedrock_provider_auth.py
gooddata_api_client/model/bounded_filter.py
gooddata_api_client/model/change_analysis_params.py
gooddata_api_client/model/change_analysis_params_filters_inner.py
@@ -1427,6 +1503,7 @@ gooddata_api_client/model/chat_history_result.py
gooddata_api_client/model/chat_request.py
gooddata_api_client/model/chat_result.py
gooddata_api_client/model/chat_usage_response.py
+gooddata_api_client/model/clustering_config.py
gooddata_api_client/model/clustering_request.py
gooddata_api_client/model/clustering_result.py
gooddata_api_client/model/column_location.py
@@ -1447,6 +1524,8 @@ gooddata_api_client/model/compound_measure_value_filter.py
gooddata_api_client/model/compound_measure_value_filter_compound_measure_value_filter.py
gooddata_api_client/model/content_slide_template.py
gooddata_api_client/model/cover_slide_template.py
+gooddata_api_client/model/create_knowledge_document_request_dto.py
+gooddata_api_client/model/create_knowledge_document_response_dto.py
gooddata_api_client/model/created_visualization.py
gooddata_api_client/model/created_visualization_filters_inner.py
gooddata_api_client/model/created_visualizations.py
@@ -1570,6 +1649,7 @@ gooddata_api_client/model/declarative_workspace_permissions.py
gooddata_api_client/model/declarative_workspaces.py
gooddata_api_client/model/default_smtp.py
gooddata_api_client/model/default_smtp_all_of.py
+gooddata_api_client/model/delete_knowledge_document_response_dto.py
gooddata_api_client/model/dependent_entities_graph.py
gooddata_api_client/model/dependent_entities_node.py
gooddata_api_client/model/dependent_entities_request.py
@@ -1611,13 +1691,18 @@ gooddata_api_client/model/filter.py
gooddata_api_client/model/filter_by.py
gooddata_api_client/model/filter_definition.py
gooddata_api_client/model/filter_definition_for_simple_measure.py
+gooddata_api_client/model/forecast_config.py
gooddata_api_client/model/forecast_request.py
gooddata_api_client/model/forecast_result.py
gooddata_api_client/model/found_objects.py
gooddata_api_client/model/frequency.py
gooddata_api_client/model/frequency_bucket.py
gooddata_api_client/model/frequency_properties.py
+gooddata_api_client/model/generate_description_request.py
+gooddata_api_client/model/generate_description_response.py
gooddata_api_client/model/generate_ldm_request.py
+gooddata_api_client/model/generate_title_request.py
+gooddata_api_client/model/generate_title_response.py
gooddata_api_client/model/geo_area_config.py
gooddata_api_client/model/geo_collection_identifier.py
gooddata_api_client/model/get_ai_lake_operation200_response.py
@@ -1669,7 +1754,7 @@ gooddata_api_client/model/json_api_analytical_dashboard_out_meta.py
gooddata_api_client/model/json_api_analytical_dashboard_out_meta_access_info.py
gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py
gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_analytical_dashboards.py
-gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py
+gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_certified_by.py
gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_dashboard_plugins.py
gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_datasets.py
gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_filter_contexts.py
@@ -2003,6 +2088,18 @@ gooddata_api_client/model/json_api_llm_endpoint_out_with_links.py
gooddata_api_client/model/json_api_llm_endpoint_patch.py
gooddata_api_client/model/json_api_llm_endpoint_patch_attributes.py
gooddata_api_client/model/json_api_llm_endpoint_patch_document.py
+gooddata_api_client/model/json_api_llm_provider_in.py
+gooddata_api_client/model/json_api_llm_provider_in_attributes.py
+gooddata_api_client/model/json_api_llm_provider_in_attributes_models_inner.py
+gooddata_api_client/model/json_api_llm_provider_in_attributes_provider_config.py
+gooddata_api_client/model/json_api_llm_provider_in_document.py
+gooddata_api_client/model/json_api_llm_provider_out.py
+gooddata_api_client/model/json_api_llm_provider_out_document.py
+gooddata_api_client/model/json_api_llm_provider_out_list.py
+gooddata_api_client/model/json_api_llm_provider_out_with_links.py
+gooddata_api_client/model/json_api_llm_provider_patch.py
+gooddata_api_client/model/json_api_llm_provider_patch_attributes.py
+gooddata_api_client/model/json_api_llm_provider_patch_document.py
gooddata_api_client/model/json_api_memory_item_in.py
gooddata_api_client/model/json_api_memory_item_in_attributes.py
gooddata_api_client/model/json_api_memory_item_in_document.py
@@ -2224,9 +2321,17 @@ gooddata_api_client/model/key_drivers_dimension.py
gooddata_api_client/model/key_drivers_request.py
gooddata_api_client/model/key_drivers_response.py
gooddata_api_client/model/key_drivers_result.py
+gooddata_api_client/model/knowledge_document_metadata_dto.py
+gooddata_api_client/model/knowledge_search_result_dto.py
gooddata_api_client/model/label_identifier.py
+gooddata_api_client/model/list_database_instances_response.py
+gooddata_api_client/model/list_knowledge_documents_response_dto.py
gooddata_api_client/model/list_links.py
gooddata_api_client/model/list_links_all_of.py
+gooddata_api_client/model/list_services_response.py
+gooddata_api_client/model/llm_model.py
+gooddata_api_client/model/llm_provider_auth.py
+gooddata_api_client/model/llm_provider_config.py
gooddata_api_client/model/local_identifier.py
gooddata_api_client/model/locale_request.py
gooddata_api_client/model/manage_dashboard_permissions_request_inner.py
@@ -2244,8 +2349,10 @@ gooddata_api_client/model/measure_value_filter.py
gooddata_api_client/model/memory_item_created_by_users.py
gooddata_api_client/model/memory_item_user.py
gooddata_api_client/model/metric.py
+gooddata_api_client/model/metric_definition_override.py
gooddata_api_client/model/metric_record.py
gooddata_api_client/model/metric_value_change.py
+gooddata_api_client/model/model_test_result.py
gooddata_api_client/model/negative_attribute_filter.py
gooddata_api_client/model/negative_attribute_filter_negative_attribute_filter.py
gooddata_api_client/model/note.py
@@ -2260,6 +2367,10 @@ gooddata_api_client/model/notifications_meta.py
gooddata_api_client/model/notifications_meta_total.py
gooddata_api_client/model/object_links.py
gooddata_api_client/model/object_links_container.py
+gooddata_api_client/model/open_ai_api_key_auth.py
+gooddata_api_client/model/open_ai_api_key_auth_all_of.py
+gooddata_api_client/model/open_ai_provider_auth.py
+gooddata_api_client/model/open_ai_provider_config.py
gooddata_api_client/model/operation.py
gooddata_api_client/model/operation_error.py
gooddata_api_client/model/organization_automation_identifier.py
@@ -2272,6 +2383,7 @@ gooddata_api_client/model/over.py
gooddata_api_client/model/page_metadata.py
gooddata_api_client/model/paging.py
gooddata_api_client/model/parameter.py
+gooddata_api_client/model/patch_knowledge_document_request_dto.py
gooddata_api_client/model/pdf_table_style.py
gooddata_api_client/model/pdf_table_style_property.py
gooddata_api_client/model/pdm_ldm_request.py
@@ -2330,17 +2442,22 @@ gooddata_api_client/model/result_spec.py
gooddata_api_client/model/route_result.py
gooddata_api_client/model/rsa_specification.py
gooddata_api_client/model/rule_permission.py
+gooddata_api_client/model/run_service_command_request.py
gooddata_api_client/model/running_section.py
gooddata_api_client/model/saved_visualization.py
gooddata_api_client/model/scan_request.py
gooddata_api_client/model/scan_result_pdm.py
gooddata_api_client/model/scan_sql_request.py
gooddata_api_client/model/scan_sql_response.py
+gooddata_api_client/model/search_knowledge_response_dto.py
gooddata_api_client/model/search_relationship_object.py
gooddata_api_client/model/search_request.py
gooddata_api_client/model/search_result.py
gooddata_api_client/model/search_result_object.py
+gooddata_api_client/model/search_statistics_dto.py
gooddata_api_client/model/section_slide_template.py
+gooddata_api_client/model/service_info.py
+gooddata_api_client/model/set_certification_request.py
gooddata_api_client/model/settings.py
gooddata_api_client/model/simple_measure_definition.py
gooddata_api_client/model/simple_measure_definition_measure.py
@@ -2370,6 +2487,9 @@ gooddata_api_client/model/table_warning.py
gooddata_api_client/model/tabular_export_request.py
gooddata_api_client/model/test_definition_request.py
gooddata_api_client/model/test_destination_request.py
+gooddata_api_client/model/test_llm_provider_definition_request.py
+gooddata_api_client/model/test_llm_provider_definition_request_provider_config.py
+gooddata_api_client/model/test_llm_provider_response.py
gooddata_api_client/model/test_notification.py
gooddata_api_client/model/test_notification_all_of.py
gooddata_api_client/model/test_query_duration.py
@@ -2382,6 +2502,8 @@ gooddata_api_client/model/total_execution_result_header.py
gooddata_api_client/model/total_result_header.py
gooddata_api_client/model/trigger_automation_request.py
gooddata_api_client/model/trigger_quality_issues_calculation_response.py
+gooddata_api_client/model/upsert_knowledge_document_request_dto.py
+gooddata_api_client/model/upsert_knowledge_document_response_dto.py
gooddata_api_client/model/user_assignee.py
gooddata_api_client/model/user_context.py
gooddata_api_client/model/user_group_assignee.py
@@ -2404,12 +2526,16 @@ gooddata_api_client/model/validate_llm_endpoint_response.py
gooddata_api_client/model/value.py
gooddata_api_client/model/visible_filter.py
gooddata_api_client/model/visual_export_request.py
+gooddata_api_client/model/visualization_config.py
gooddata_api_client/model/webhook.py
gooddata_api_client/model/webhook_all_of.py
gooddata_api_client/model/webhook_automation_info.py
gooddata_api_client/model/webhook_message.py
gooddata_api_client/model/webhook_message_data.py
gooddata_api_client/model/webhook_recipient.py
+gooddata_api_client/model/what_if_measure_adjustment_config.py
+gooddata_api_client/model/what_if_scenario_config.py
+gooddata_api_client/model/what_if_scenario_item.py
gooddata_api_client/model/widget_slides_template.py
gooddata_api_client/model/workspace_automation_identifier.py
gooddata_api_client/model/workspace_automation_management_bulk_request.py
diff --git a/gooddata-api-client/.openapi-generator/VERSION b/gooddata-api-client/.openapi-generator/VERSION
index 66672d4e9..cd802a1ec 100644
--- a/gooddata-api-client/.openapi-generator/VERSION
+++ b/gooddata-api-client/.openapi-generator/VERSION
@@ -1 +1 @@
-6.1.0-SNAPSHOT
\ No newline at end of file
+6.6.0
\ No newline at end of file
diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md
index c7dbd8f08..f2f8881e1 100644
--- a/gooddata-api-client/README.md
+++ b/gooddata-api-client/README.md
@@ -5,7 +5,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
- API version: v0
- Package version: 1.60.0
-- Build package: org.openapitools.codegen.languages.PythonClientCodegen
+- Build package: org.openapitools.codegen.languages.PythonPriorClientCodegen
## Requirements.
@@ -103,10 +103,13 @@ Class | Method | HTTP request | Description
*AIApi* | [**search_entities_memory_items**](docs/AIApi.md#search_entities_memory_items) | **POST** /api/v1/entities/workspaces/{workspaceId}/memoryItems/search | Search request for MemoryItem
*AIApi* | [**update_entity_knowledge_recommendations**](docs/AIApi.md#update_entity_knowledge_recommendations) | **PUT** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
*AIApi* | [**update_entity_memory_items**](docs/AIApi.md#update_entity_memory_items) | **PUT** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
-*AILakeApi* | [**deprovision_ai_lake_database_instance**](docs/AILakeApi.md#deprovision_ai_lake_database_instance) | **DELETE** /api/v1/ailake/database/instance/{instanceId} | (BETA) Delete an existing AILake Database instance
-*AILakeApi* | [**get_ai_lake_database_instance**](docs/AILakeApi.md#get_ai_lake_database_instance) | **GET** /api/v1/ailake/database/instance/{instanceId} | (BETA) Get the specified AILake Database instance
-*AILakeApi* | [**get_ai_lake_operation**](docs/AILakeApi.md#get_ai_lake_operation) | **GET** /api/v1/ailake/operation/{operationId} | (BETA) Get Long Running Operation details
-*AILakeApi* | [**provision_ai_lake_database_instance**](docs/AILakeApi.md#provision_ai_lake_database_instance) | **POST** /api/v1/ailake/database/instance | (BETA) Create a new AILake Database instance
+*AILakeApi* | [**deprovision_ai_lake_database_instance**](docs/AILakeApi.md#deprovision_ai_lake_database_instance) | **DELETE** /api/v1/ailake/database/instances/{instanceId} | (BETA) Delete an existing AILake Database instance
+*AILakeApi* | [**get_ai_lake_database_instance**](docs/AILakeApi.md#get_ai_lake_database_instance) | **GET** /api/v1/ailake/database/instances/{instanceId} | (BETA) Get the specified AILake Database instance
+*AILakeApi* | [**get_ai_lake_operation**](docs/AILakeApi.md#get_ai_lake_operation) | **GET** /api/v1/ailake/operations/{operationId} | (BETA) Get Long Running Operation details
+*AILakeApi* | [**list_ai_lake_database_instances**](docs/AILakeApi.md#list_ai_lake_database_instances) | **GET** /api/v1/ailake/database/instances | (BETA) List AI Lake Database instances
+*AILakeApi* | [**list_ai_lake_services**](docs/AILakeApi.md#list_ai_lake_services) | **GET** /api/v1/ailake/services | (BETA) List AI Lake services
+*AILakeApi* | [**provision_ai_lake_database_instance**](docs/AILakeApi.md#provision_ai_lake_database_instance) | **POST** /api/v1/ailake/database/instances | (BETA) Create a new AILake Database instance
+*AILakeApi* | [**run_ai_lake_service_command**](docs/AILakeApi.md#run_ai_lake_service_command) | **POST** /api/v1/ailake/services/{serviceId}/commands/{commandName}/run | (BETA) Run an AI Lake services command
*APITokensApi* | [**create_entity_api_tokens**](docs/APITokensApi.md#create_entity_api_tokens) | **POST** /api/v1/entities/users/{userId}/apiTokens | Post a new API token for the user
*APITokensApi* | [**delete_entity_api_tokens**](docs/APITokensApi.md#delete_entity_api_tokens) | **DELETE** /api/v1/entities/users/{userId}/apiTokens/{id} | Delete an API Token for a user
*APITokensApi* | [**get_all_entities_api_tokens**](docs/APITokensApi.md#get_all_entities_api_tokens) | **GET** /api/v1/entities/users/{userId}/apiTokens | List all api tokens for a user
@@ -167,6 +170,7 @@ Class | Method | HTTP request | Description
*CSPDirectivesApi* | [**get_entity_csp_directives**](docs/CSPDirectivesApi.md#get_entity_csp_directives) | **GET** /api/v1/entities/cspDirectives/{id} | Get CSP Directives
*CSPDirectivesApi* | [**patch_entity_csp_directives**](docs/CSPDirectivesApi.md#patch_entity_csp_directives) | **PATCH** /api/v1/entities/cspDirectives/{id} | Patch CSP Directives
*CSPDirectivesApi* | [**update_entity_csp_directives**](docs/CSPDirectivesApi.md#update_entity_csp_directives) | **PUT** /api/v1/entities/cspDirectives/{id} | Put CSP Directives
+*CertificationApi* | [**set_certification**](docs/CertificationApi.md#set_certification) | **POST** /api/v1/actions/workspaces/{workspaceId}/setCertification | Set Certification
*ComputationApi* | [**cancel_executions**](docs/ComputationApi.md#cancel_executions) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/cancel | Applies all the given cancel tokens.
*ComputationApi* | [**change_analysis**](docs/ComputationApi.md#change_analysis) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/computeChangeAnalysis | Compute change analysis
*ComputationApi* | [**change_analysis_result**](docs/ComputationApi.md#change_analysis_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/computeChangeAnalysis/result/{resultId} | Get change analysis result
@@ -309,6 +313,12 @@ Class | Method | HTTP request | Description
*LLMEndpointsApi* | [**get_entity_llm_endpoints**](docs/LLMEndpointsApi.md#get_entity_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints/{id} | Get LLM endpoint entity
*LLMEndpointsApi* | [**patch_entity_llm_endpoints**](docs/LLMEndpointsApi.md#patch_entity_llm_endpoints) | **PATCH** /api/v1/entities/llmEndpoints/{id} | Patch LLM endpoint entity
*LLMEndpointsApi* | [**update_entity_llm_endpoints**](docs/LLMEndpointsApi.md#update_entity_llm_endpoints) | **PUT** /api/v1/entities/llmEndpoints/{id} | PUT LLM endpoint entity
+*LLMProvidersApi* | [**create_entity_llm_providers**](docs/LLMProvidersApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
+*LLMProvidersApi* | [**delete_entity_llm_providers**](docs/LLMProvidersApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
+*LLMProvidersApi* | [**get_all_entities_llm_providers**](docs/LLMProvidersApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
+*LLMProvidersApi* | [**get_entity_llm_providers**](docs/LLMProvidersApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
+*LLMProvidersApi* | [**patch_entity_llm_providers**](docs/LLMProvidersApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
+*LLMProvidersApi* | [**update_entity_llm_providers**](docs/LLMProvidersApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
*LabelsApi* | [**get_all_entities_labels**](docs/LabelsApi.md#get_all_entities_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels | Get all Labels
*LabelsApi* | [**get_entity_labels**](docs/LabelsApi.md#get_entity_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Get a Label
*LabelsApi* | [**patch_entity_labels**](docs/LabelsApi.md#patch_entity_labels) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Patch a Label (beta)
@@ -402,11 +412,15 @@ Class | Method | HTTP request | Description
*SmartFunctionsApi* | [**created_by**](docs/SmartFunctionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
*SmartFunctionsApi* | [**forecast**](docs/SmartFunctionsApi.md#forecast) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/{resultId} | (BETA) Smart functions - Forecast
*SmartFunctionsApi* | [**forecast_result**](docs/SmartFunctionsApi.md#forecast_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/result/{resultId} | (BETA) Smart functions - Forecast Result
+*SmartFunctionsApi* | [**generate_description**](docs/SmartFunctionsApi.md#generate_description) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription | Generate Description for Analytics Object
+*SmartFunctionsApi* | [**generate_title**](docs/SmartFunctionsApi.md#generate_title) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle | Generate Title for Analytics Object
*SmartFunctionsApi* | [**get_quality_issues**](docs/SmartFunctionsApi.md#get_quality_issues) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/issues | Get Quality Issues
*SmartFunctionsApi* | [**get_quality_issues_calculation_status**](docs/SmartFunctionsApi.md#get_quality_issues_calculation_status) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/issues/status/{processId} | Get Quality Issues Calculation Status
*SmartFunctionsApi* | [**memory_created_by_users**](docs/SmartFunctionsApi.md#memory_created_by_users) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/memory/createdBy | Get AI Memory CreatedBy Users
*SmartFunctionsApi* | [**resolve_llm_endpoints**](docs/SmartFunctionsApi.md#resolve_llm_endpoints) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmEndpoints | Get Active LLM Endpoints for this workspace
*SmartFunctionsApi* | [**tags**](docs/SmartFunctionsApi.md#tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags | Get Analytics Catalog Tags
+*SmartFunctionsApi* | [**test_llm_provider**](docs/SmartFunctionsApi.md#test_llm_provider) | **POST** /api/v1/actions/ai/llmProvider/test | Test LLM Provider
+*SmartFunctionsApi* | [**test_llm_provider_by_id**](docs/SmartFunctionsApi.md#test_llm_provider_by_id) | **POST** /api/v1/actions/ai/llmProvider/{llmProviderId}/test | Test LLM Provider By Id
*SmartFunctionsApi* | [**trigger_quality_issues_calculation**](docs/SmartFunctionsApi.md#trigger_quality_issues_calculation) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/issues/triggerCheck | Trigger Quality Issues Calculation
*SmartFunctionsApi* | [**validate_llm_endpoint**](docs/SmartFunctionsApi.md#validate_llm_endpoint) | **POST** /api/v1/actions/ai/llmEndpoint/test | Validate LLM Endpoint
*SmartFunctionsApi* | [**validate_llm_endpoint_by_id**](docs/SmartFunctionsApi.md#validate_llm_endpoint_by_id) | **POST** /api/v1/actions/ai/llmEndpoint/{llmEndpointId}/test | Validate LLM Endpoint By Id
@@ -524,6 +538,7 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**compute_valid_descendants**](docs/ActionsApi.md#compute_valid_descendants) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/computeValidDescendants | (BETA) Valid descendants
*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_document**](docs/ActionsApi.md#create_document) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
*ActionsApi* | [**create_image_export**](docs/ActionsApi.md#create_image_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/image | (EXPERIMENTAL) Create image 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
@@ -531,16 +546,20 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**create_tabular_export**](docs/ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request
*ActionsApi* | [**created_by**](docs/ActionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
*ActionsApi* | [**dashboard_permissions**](docs/ActionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions
+*ActionsApi* | [**delete_document**](docs/ActionsApi.md#delete_document) | **DELETE** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
*ActionsApi* | [**delete_organization_automations**](docs/ActionsApi.md#delete_organization_automations) | **POST** /api/v1/actions/organization/automations/delete | Delete selected automations across all workspaces
*ActionsApi* | [**delete_workspace_automations**](docs/ActionsApi.md#delete_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/delete | Delete selected automations in the workspace
*ActionsApi* | [**explain_afm**](docs/ActionsApi.md#explain_afm) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/explain | AFM explain resource.
*ActionsApi* | [**forecast**](docs/ActionsApi.md#forecast) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/{resultId} | (BETA) Smart functions - Forecast
*ActionsApi* | [**forecast_result**](docs/ActionsApi.md#forecast_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/result/{resultId} | (BETA) Smart functions - Forecast Result
+*ActionsApi* | [**generate_description**](docs/ActionsApi.md#generate_description) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription | Generate Description for Analytics Object
*ActionsApi* | [**generate_logical_model**](docs/ActionsApi.md#generate_logical_model) | **POST** /api/v1/actions/dataSources/{dataSourceId}/generateLogicalModel | Generate logical data model (LDM) from physical data model (PDM)
*ActionsApi* | [**generate_logical_model_aac**](docs/ActionsApi.md#generate_logical_model_aac) | **POST** /api/v1/actions/dataSources/{dataSourceId}/generateLogicalModelAac | Generate logical data model in AAC format from physical data model (PDM)
+*ActionsApi* | [**generate_title**](docs/ActionsApi.md#generate_title) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle | Generate Title for Analytics Object
*ActionsApi* | [**get_data_source_schemata**](docs/ActionsApi.md#get_data_source_schemata) | **GET** /api/v1/actions/dataSources/{dataSourceId}/scanSchemata | Get a list of schema names of a database
*ActionsApi* | [**get_dependent_entities_graph**](docs/ActionsApi.md#get_dependent_entities_graph) | **GET** /api/v1/actions/workspaces/{workspaceId}/dependentEntitiesGraph | Computes the dependent entities graph
*ActionsApi* | [**get_dependent_entities_graph_from_entry_points**](docs/ActionsApi.md#get_dependent_entities_graph_from_entry_points) | **POST** /api/v1/actions/workspaces/{workspaceId}/dependentEntitiesGraph | Computes the dependent entities graph from given entry points
+*ActionsApi* | [**get_document**](docs/ActionsApi.md#get_document) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
*ActionsApi* | [**get_exported_file**](docs/ActionsApi.md#get_exported_file) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId} | Retrieve exported files
*ActionsApi* | [**get_image_export**](docs/ActionsApi.md#get_image_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/image/{exportId} | (EXPERIMENTAL) Retrieve exported files
*ActionsApi* | [**get_image_export_metadata**](docs/ActionsApi.md#get_image_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context
@@ -557,6 +576,7 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**inherited_entity_prefixes**](docs/ActionsApi.md#inherited_entity_prefixes) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes | Get used entity prefixes in hierarchy
*ActionsApi* | [**key_driver_analysis**](docs/ActionsApi.md#key_driver_analysis) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers | (EXPERIMENTAL) Compute key driver analysis
*ActionsApi* | [**key_driver_analysis_result**](docs/ActionsApi.md#key_driver_analysis_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers/result/{resultId} | (EXPERIMENTAL) Get key driver analysis result
+*ActionsApi* | [**list_documents**](docs/ActionsApi.md#list_documents) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
*ActionsApi* | [**list_workspace_user_groups**](docs/ActionsApi.md#list_workspace_user_groups) | **GET** /api/v1/actions/workspaces/{workspaceId}/userGroups |
*ActionsApi* | [**list_workspace_users**](docs/ActionsApi.md#list_workspace_users) | **GET** /api/v1/actions/workspaces/{workspaceId}/users |
*ActionsApi* | [**manage_dashboard_permissions**](docs/ActionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard
@@ -573,6 +593,7 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**outlier_detection_result**](docs/ActionsApi.md#outlier_detection_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/detectOutliers/result/{resultId} | (BETA) Outlier Detection Result
*ActionsApi* | [**overridden_child_entities**](docs/ActionsApi.md#overridden_child_entities) | **GET** /api/v1/actions/workspaces/{workspaceId}/overriddenChildEntities | Finds identifier overrides in workspace hierarchy.
*ActionsApi* | [**particular_platform_usage**](docs/ActionsApi.md#particular_platform_usage) | **POST** /api/v1/actions/collectUsage | Info about the platform usage for particular items.
+*ActionsApi* | [**patch_document**](docs/ActionsApi.md#patch_document) | **PATCH** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
*ActionsApi* | [**pause_organization_automations**](docs/ActionsApi.md#pause_organization_automations) | **POST** /api/v1/actions/organization/automations/pause | Pause selected automations across all workspaces
*ActionsApi* | [**pause_workspace_automations**](docs/ActionsApi.md#pause_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/pause | Pause selected automations in the workspace
*ActionsApi* | [**register_upload_notification**](docs/ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification
@@ -586,12 +607,16 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**retrieve_translations**](docs/ActionsApi.md#retrieve_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/retrieve | Retrieve translations for entities.
*ActionsApi* | [**scan_data_source**](docs/ActionsApi.md#scan_data_source) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scan | Scan a database to get a physical data model (PDM)
*ActionsApi* | [**scan_sql**](docs/ActionsApi.md#scan_sql) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scanSql | Collect metadata about SQL query
+*ActionsApi* | [**search_knowledge**](docs/ActionsApi.md#search_knowledge) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search |
+*ActionsApi* | [**set_certification**](docs/ActionsApi.md#set_certification) | **POST** /api/v1/actions/workspaces/{workspaceId}/setCertification | Set Certification
*ActionsApi* | [**set_translations**](docs/ActionsApi.md#set_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/set | Set translations for entities.
*ActionsApi* | [**switch_active_identity_provider**](docs/ActionsApi.md#switch_active_identity_provider) | **POST** /api/v1/actions/organization/switchActiveIdentityProvider | Switch Active Identity Provider
*ActionsApi* | [**tags**](docs/ActionsApi.md#tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags | Get Analytics Catalog Tags
*ActionsApi* | [**test_data_source**](docs/ActionsApi.md#test_data_source) | **POST** /api/v1/actions/dataSources/{dataSourceId}/test | Test data source connection by data source id
*ActionsApi* | [**test_data_source_definition**](docs/ActionsApi.md#test_data_source_definition) | **POST** /api/v1/actions/dataSource/test | Test connection by data source definition
*ActionsApi* | [**test_existing_notification_channel**](docs/ActionsApi.md#test_existing_notification_channel) | **POST** /api/v1/actions/notificationChannels/{notificationChannelId}/test | Test existing notification channel.
+*ActionsApi* | [**test_llm_provider**](docs/ActionsApi.md#test_llm_provider) | **POST** /api/v1/actions/ai/llmProvider/test | Test LLM Provider
+*ActionsApi* | [**test_llm_provider_by_id**](docs/ActionsApi.md#test_llm_provider_by_id) | **POST** /api/v1/actions/ai/llmProvider/{llmProviderId}/test | Test LLM Provider By Id
*ActionsApi* | [**test_notification_channel**](docs/ActionsApi.md#test_notification_channel) | **POST** /api/v1/actions/notificationChannels/test | Test notification channel.
*ActionsApi* | [**trigger_automation**](docs/ActionsApi.md#trigger_automation) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/trigger | Trigger automation.
*ActionsApi* | [**trigger_existing_automation**](docs/ActionsApi.md#trigger_existing_automation) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/{automationId}/trigger | Trigger existing automation.
@@ -603,6 +628,7 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**unsubscribe_organization_automations**](docs/ActionsApi.md#unsubscribe_organization_automations) | **POST** /api/v1/actions/organization/automations/unsubscribe | Unsubscribe from selected automations across all workspaces
*ActionsApi* | [**unsubscribe_selected_workspace_automations**](docs/ActionsApi.md#unsubscribe_selected_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/unsubscribe | Unsubscribe from selected automations in the workspace
*ActionsApi* | [**unsubscribe_workspace_automations**](docs/ActionsApi.md#unsubscribe_workspace_automations) | **DELETE** /api/v1/actions/workspaces/{workspaceId}/automations/unsubscribe | Unsubscribe from all automations in the workspace
+*ActionsApi* | [**upsert_document**](docs/ActionsApi.md#upsert_document) | **PUT** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
*ActionsApi* | [**validate_llm_endpoint**](docs/ActionsApi.md#validate_llm_endpoint) | **POST** /api/v1/actions/ai/llmEndpoint/test | Validate LLM Endpoint
*ActionsApi* | [**validate_llm_endpoint_by_id**](docs/ActionsApi.md#validate_llm_endpoint_by_id) | **POST** /api/v1/actions/ai/llmEndpoint/{llmEndpointId}/test | Validate LLM Endpoint By Id
*ActionsApi* | [**workspace_resolve_all_settings**](docs/ActionsApi.md#workspace_resolve_all_settings) | **GET** /api/v1/actions/workspaces/{workspaceId}/resolveSettings | Values for all settings.
@@ -626,6 +652,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**create_entity_jwks**](docs/EntitiesApi.md#create_entity_jwks) | **POST** /api/v1/entities/jwks | Post Jwks
*EntitiesApi* | [**create_entity_knowledge_recommendations**](docs/EntitiesApi.md#create_entity_knowledge_recommendations) | **POST** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations |
*EntitiesApi* | [**create_entity_llm_endpoints**](docs/EntitiesApi.md#create_entity_llm_endpoints) | **POST** /api/v1/entities/llmEndpoints | Post LLM endpoint entities
+*EntitiesApi* | [**create_entity_llm_providers**](docs/EntitiesApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
*EntitiesApi* | [**create_entity_memory_items**](docs/EntitiesApi.md#create_entity_memory_items) | **POST** /api/v1/entities/workspaces/{workspaceId}/memoryItems |
*EntitiesApi* | [**create_entity_metrics**](docs/EntitiesApi.md#create_entity_metrics) | **POST** /api/v1/entities/workspaces/{workspaceId}/metrics | Post Metrics
*EntitiesApi* | [**create_entity_notification_channels**](docs/EntitiesApi.md#create_entity_notification_channels) | **POST** /api/v1/entities/notificationChannels | Post Notification Channel entities
@@ -658,6 +685,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**delete_entity_jwks**](docs/EntitiesApi.md#delete_entity_jwks) | **DELETE** /api/v1/entities/jwks/{id} | Delete Jwk
*EntitiesApi* | [**delete_entity_knowledge_recommendations**](docs/EntitiesApi.md#delete_entity_knowledge_recommendations) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
*EntitiesApi* | [**delete_entity_llm_endpoints**](docs/EntitiesApi.md#delete_entity_llm_endpoints) | **DELETE** /api/v1/entities/llmEndpoints/{id} |
+*EntitiesApi* | [**delete_entity_llm_providers**](docs/EntitiesApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
*EntitiesApi* | [**delete_entity_memory_items**](docs/EntitiesApi.md#delete_entity_memory_items) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
*EntitiesApi* | [**delete_entity_metrics**](docs/EntitiesApi.md#delete_entity_metrics) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Delete a Metric
*EntitiesApi* | [**delete_entity_notification_channels**](docs/EntitiesApi.md#delete_entity_notification_channels) | **DELETE** /api/v1/entities/notificationChannels/{id} | Delete Notification Channel entity
@@ -698,6 +726,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**get_all_entities_knowledge_recommendations**](docs/EntitiesApi.md#get_all_entities_knowledge_recommendations) | **GET** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations |
*EntitiesApi* | [**get_all_entities_labels**](docs/EntitiesApi.md#get_all_entities_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels | Get all Labels
*EntitiesApi* | [**get_all_entities_llm_endpoints**](docs/EntitiesApi.md#get_all_entities_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints | Get all LLM endpoint entities
+*EntitiesApi* | [**get_all_entities_llm_providers**](docs/EntitiesApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
*EntitiesApi* | [**get_all_entities_memory_items**](docs/EntitiesApi.md#get_all_entities_memory_items) | **GET** /api/v1/entities/workspaces/{workspaceId}/memoryItems |
*EntitiesApi* | [**get_all_entities_metrics**](docs/EntitiesApi.md#get_all_entities_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics | Get all Metrics
*EntitiesApi* | [**get_all_entities_notification_channel_identifiers**](docs/EntitiesApi.md#get_all_entities_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers |
@@ -742,6 +771,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**get_entity_knowledge_recommendations**](docs/EntitiesApi.md#get_entity_knowledge_recommendations) | **GET** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
*EntitiesApi* | [**get_entity_labels**](docs/EntitiesApi.md#get_entity_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Get a Label
*EntitiesApi* | [**get_entity_llm_endpoints**](docs/EntitiesApi.md#get_entity_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints/{id} | Get LLM endpoint entity
+*EntitiesApi* | [**get_entity_llm_providers**](docs/EntitiesApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
*EntitiesApi* | [**get_entity_memory_items**](docs/EntitiesApi.md#get_entity_memory_items) | **GET** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
*EntitiesApi* | [**get_entity_metrics**](docs/EntitiesApi.md#get_entity_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Get a Metric
*EntitiesApi* | [**get_entity_notification_channel_identifiers**](docs/EntitiesApi.md#get_entity_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers/{id} |
@@ -782,6 +812,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**patch_entity_knowledge_recommendations**](docs/EntitiesApi.md#patch_entity_knowledge_recommendations) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
*EntitiesApi* | [**patch_entity_labels**](docs/EntitiesApi.md#patch_entity_labels) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Patch a Label (beta)
*EntitiesApi* | [**patch_entity_llm_endpoints**](docs/EntitiesApi.md#patch_entity_llm_endpoints) | **PATCH** /api/v1/entities/llmEndpoints/{id} | Patch LLM endpoint entity
+*EntitiesApi* | [**patch_entity_llm_providers**](docs/EntitiesApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
*EntitiesApi* | [**patch_entity_memory_items**](docs/EntitiesApi.md#patch_entity_memory_items) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
*EntitiesApi* | [**patch_entity_metrics**](docs/EntitiesApi.md#patch_entity_metrics) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Patch a Metric
*EntitiesApi* | [**patch_entity_notification_channels**](docs/EntitiesApi.md#patch_entity_notification_channels) | **PATCH** /api/v1/entities/notificationChannels/{id} | Patch Notification Channel entity
@@ -836,6 +867,7 @@ Class | Method | HTTP request | Description
*EntitiesApi* | [**update_entity_jwks**](docs/EntitiesApi.md#update_entity_jwks) | **PUT** /api/v1/entities/jwks/{id} | Put Jwk
*EntitiesApi* | [**update_entity_knowledge_recommendations**](docs/EntitiesApi.md#update_entity_knowledge_recommendations) | **PUT** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
*EntitiesApi* | [**update_entity_llm_endpoints**](docs/EntitiesApi.md#update_entity_llm_endpoints) | **PUT** /api/v1/entities/llmEndpoints/{id} | PUT LLM endpoint entity
+*EntitiesApi* | [**update_entity_llm_providers**](docs/EntitiesApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
*EntitiesApi* | [**update_entity_memory_items**](docs/EntitiesApi.md#update_entity_memory_items) | **PUT** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
*EntitiesApi* | [**update_entity_metrics**](docs/EntitiesApi.md#update_entity_metrics) | **PUT** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Put a Metric
*EntitiesApi* | [**update_entity_notification_channels**](docs/EntitiesApi.md#update_entity_notification_channels) | **PUT** /api/v1/entities/notificationChannels/{id} | Put Notification Channel entity
@@ -909,6 +941,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**create_entity_identity_providers**](docs/OrganizationModelControllerApi.md#create_entity_identity_providers) | **POST** /api/v1/entities/identityProviders | Post Identity Providers
*OrganizationModelControllerApi* | [**create_entity_jwks**](docs/OrganizationModelControllerApi.md#create_entity_jwks) | **POST** /api/v1/entities/jwks | Post Jwks
*OrganizationModelControllerApi* | [**create_entity_llm_endpoints**](docs/OrganizationModelControllerApi.md#create_entity_llm_endpoints) | **POST** /api/v1/entities/llmEndpoints | Post LLM endpoint entities
+*OrganizationModelControllerApi* | [**create_entity_llm_providers**](docs/OrganizationModelControllerApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
*OrganizationModelControllerApi* | [**create_entity_notification_channels**](docs/OrganizationModelControllerApi.md#create_entity_notification_channels) | **POST** /api/v1/entities/notificationChannels | Post Notification Channel entities
*OrganizationModelControllerApi* | [**create_entity_organization_settings**](docs/OrganizationModelControllerApi.md#create_entity_organization_settings) | **POST** /api/v1/entities/organizationSettings | Post Organization Setting entities
*OrganizationModelControllerApi* | [**create_entity_themes**](docs/OrganizationModelControllerApi.md#create_entity_themes) | **POST** /api/v1/entities/themes | Post Theming
@@ -923,6 +956,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**delete_entity_identity_providers**](docs/OrganizationModelControllerApi.md#delete_entity_identity_providers) | **DELETE** /api/v1/entities/identityProviders/{id} | Delete Identity Provider
*OrganizationModelControllerApi* | [**delete_entity_jwks**](docs/OrganizationModelControllerApi.md#delete_entity_jwks) | **DELETE** /api/v1/entities/jwks/{id} | Delete Jwk
*OrganizationModelControllerApi* | [**delete_entity_llm_endpoints**](docs/OrganizationModelControllerApi.md#delete_entity_llm_endpoints) | **DELETE** /api/v1/entities/llmEndpoints/{id} |
+*OrganizationModelControllerApi* | [**delete_entity_llm_providers**](docs/OrganizationModelControllerApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
*OrganizationModelControllerApi* | [**delete_entity_notification_channels**](docs/OrganizationModelControllerApi.md#delete_entity_notification_channels) | **DELETE** /api/v1/entities/notificationChannels/{id} | Delete Notification Channel entity
*OrganizationModelControllerApi* | [**delete_entity_organization_settings**](docs/OrganizationModelControllerApi.md#delete_entity_organization_settings) | **DELETE** /api/v1/entities/organizationSettings/{id} | Delete Organization entity
*OrganizationModelControllerApi* | [**delete_entity_themes**](docs/OrganizationModelControllerApi.md#delete_entity_themes) | **DELETE** /api/v1/entities/themes/{id} | Delete Theming
@@ -939,6 +973,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**get_all_entities_identity_providers**](docs/OrganizationModelControllerApi.md#get_all_entities_identity_providers) | **GET** /api/v1/entities/identityProviders | Get all Identity Providers
*OrganizationModelControllerApi* | [**get_all_entities_jwks**](docs/OrganizationModelControllerApi.md#get_all_entities_jwks) | **GET** /api/v1/entities/jwks | Get all Jwks
*OrganizationModelControllerApi* | [**get_all_entities_llm_endpoints**](docs/OrganizationModelControllerApi.md#get_all_entities_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints | Get all LLM endpoint entities
+*OrganizationModelControllerApi* | [**get_all_entities_llm_providers**](docs/OrganizationModelControllerApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
*OrganizationModelControllerApi* | [**get_all_entities_notification_channel_identifiers**](docs/OrganizationModelControllerApi.md#get_all_entities_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers |
*OrganizationModelControllerApi* | [**get_all_entities_notification_channels**](docs/OrganizationModelControllerApi.md#get_all_entities_notification_channels) | **GET** /api/v1/entities/notificationChannels | Get all Notification Channel entities
*OrganizationModelControllerApi* | [**get_all_entities_organization_settings**](docs/OrganizationModelControllerApi.md#get_all_entities_organization_settings) | **GET** /api/v1/entities/organizationSettings | Get Organization entities
@@ -957,6 +992,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**get_entity_identity_providers**](docs/OrganizationModelControllerApi.md#get_entity_identity_providers) | **GET** /api/v1/entities/identityProviders/{id} | Get Identity Provider
*OrganizationModelControllerApi* | [**get_entity_jwks**](docs/OrganizationModelControllerApi.md#get_entity_jwks) | **GET** /api/v1/entities/jwks/{id} | Get Jwk
*OrganizationModelControllerApi* | [**get_entity_llm_endpoints**](docs/OrganizationModelControllerApi.md#get_entity_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints/{id} | Get LLM endpoint entity
+*OrganizationModelControllerApi* | [**get_entity_llm_providers**](docs/OrganizationModelControllerApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
*OrganizationModelControllerApi* | [**get_entity_notification_channel_identifiers**](docs/OrganizationModelControllerApi.md#get_entity_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers/{id} |
*OrganizationModelControllerApi* | [**get_entity_notification_channels**](docs/OrganizationModelControllerApi.md#get_entity_notification_channels) | **GET** /api/v1/entities/notificationChannels/{id} | Get Notification Channel entity
*OrganizationModelControllerApi* | [**get_entity_organization_settings**](docs/OrganizationModelControllerApi.md#get_entity_organization_settings) | **GET** /api/v1/entities/organizationSettings/{id} | Get Organization entity
@@ -973,6 +1009,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**patch_entity_identity_providers**](docs/OrganizationModelControllerApi.md#patch_entity_identity_providers) | **PATCH** /api/v1/entities/identityProviders/{id} | Patch Identity Provider
*OrganizationModelControllerApi* | [**patch_entity_jwks**](docs/OrganizationModelControllerApi.md#patch_entity_jwks) | **PATCH** /api/v1/entities/jwks/{id} | Patch Jwk
*OrganizationModelControllerApi* | [**patch_entity_llm_endpoints**](docs/OrganizationModelControllerApi.md#patch_entity_llm_endpoints) | **PATCH** /api/v1/entities/llmEndpoints/{id} | Patch LLM endpoint entity
+*OrganizationModelControllerApi* | [**patch_entity_llm_providers**](docs/OrganizationModelControllerApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
*OrganizationModelControllerApi* | [**patch_entity_notification_channels**](docs/OrganizationModelControllerApi.md#patch_entity_notification_channels) | **PATCH** /api/v1/entities/notificationChannels/{id} | Patch Notification Channel entity
*OrganizationModelControllerApi* | [**patch_entity_organization_settings**](docs/OrganizationModelControllerApi.md#patch_entity_organization_settings) | **PATCH** /api/v1/entities/organizationSettings/{id} | Patch Organization entity
*OrganizationModelControllerApi* | [**patch_entity_themes**](docs/OrganizationModelControllerApi.md#patch_entity_themes) | **PATCH** /api/v1/entities/themes/{id} | Patch Theming
@@ -987,6 +1024,7 @@ Class | Method | HTTP request | Description
*OrganizationModelControllerApi* | [**update_entity_identity_providers**](docs/OrganizationModelControllerApi.md#update_entity_identity_providers) | **PUT** /api/v1/entities/identityProviders/{id} | Put Identity Provider
*OrganizationModelControllerApi* | [**update_entity_jwks**](docs/OrganizationModelControllerApi.md#update_entity_jwks) | **PUT** /api/v1/entities/jwks/{id} | Put Jwk
*OrganizationModelControllerApi* | [**update_entity_llm_endpoints**](docs/OrganizationModelControllerApi.md#update_entity_llm_endpoints) | **PUT** /api/v1/entities/llmEndpoints/{id} | PUT LLM endpoint entity
+*OrganizationModelControllerApi* | [**update_entity_llm_providers**](docs/OrganizationModelControllerApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
*OrganizationModelControllerApi* | [**update_entity_notification_channels**](docs/OrganizationModelControllerApi.md#update_entity_notification_channels) | **PUT** /api/v1/entities/notificationChannels/{id} | Put Notification Channel entity
*OrganizationModelControllerApi* | [**update_entity_organization_settings**](docs/OrganizationModelControllerApi.md#update_entity_organization_settings) | **PUT** /api/v1/entities/organizationSettings/{id} | Put Organization entity
*OrganizationModelControllerApi* | [**update_entity_themes**](docs/OrganizationModelControllerApi.md#update_entity_themes) | **PUT** /api/v1/entities/themes/{id} | Put Theming
@@ -1215,11 +1253,14 @@ Class | Method | HTTP request | Description
- [AlertConditionOperand](docs/AlertConditionOperand.md)
- [AlertDescription](docs/AlertDescription.md)
- [AlertEvaluationRow](docs/AlertEvaluationRow.md)
+ - [AllTimeDateFilter](docs/AllTimeDateFilter.md)
+ - [AllTimeDateFilterAllTimeDateFilter](docs/AllTimeDateFilterAllTimeDateFilter.md)
- [AllowedRelationshipType](docs/AllowedRelationshipType.md)
- [AnalyticsCatalogCreatedBy](docs/AnalyticsCatalogCreatedBy.md)
- [AnalyticsCatalogTags](docs/AnalyticsCatalogTags.md)
- [AnalyticsCatalogUser](docs/AnalyticsCatalogUser.md)
- [AnomalyDetection](docs/AnomalyDetection.md)
+ - [AnomalyDetectionConfig](docs/AnomalyDetectionConfig.md)
- [AnomalyDetectionRequest](docs/AnomalyDetectionRequest.md)
- [AnomalyDetectionResult](docs/AnomalyDetectionResult.md)
- [AnomalyDetectionWrapper](docs/AnomalyDetectionWrapper.md)
@@ -1261,6 +1302,14 @@ Class | Method | HTTP request | Description
- [AutomationTabularExport](docs/AutomationTabularExport.md)
- [AutomationVisualExport](docs/AutomationVisualExport.md)
- [AvailableAssignees](docs/AvailableAssignees.md)
+ - [AwsBedrockAccessKeyAuth](docs/AwsBedrockAccessKeyAuth.md)
+ - [AwsBedrockAccessKeyAuthAllOf](docs/AwsBedrockAccessKeyAuthAllOf.md)
+ - [AwsBedrockProviderConfig](docs/AwsBedrockProviderConfig.md)
+ - [AzureFoundryApiKeyAuth](docs/AzureFoundryApiKeyAuth.md)
+ - [AzureFoundryApiKeyAuthAllOf](docs/AzureFoundryApiKeyAuthAllOf.md)
+ - [AzureFoundryProviderAuth](docs/AzureFoundryProviderAuth.md)
+ - [AzureFoundryProviderConfig](docs/AzureFoundryProviderConfig.md)
+ - [BedrockProviderAuth](docs/BedrockProviderAuth.md)
- [BoundedFilter](docs/BoundedFilter.md)
- [ChangeAnalysisParams](docs/ChangeAnalysisParams.md)
- [ChangeAnalysisParamsFiltersInner](docs/ChangeAnalysisParamsFiltersInner.md)
@@ -1273,6 +1322,7 @@ Class | Method | HTTP request | Description
- [ChatRequest](docs/ChatRequest.md)
- [ChatResult](docs/ChatResult.md)
- [ChatUsageResponse](docs/ChatUsageResponse.md)
+ - [ClusteringConfig](docs/ClusteringConfig.md)
- [ClusteringRequest](docs/ClusteringRequest.md)
- [ClusteringResult](docs/ClusteringResult.md)
- [ColumnLocation](docs/ColumnLocation.md)
@@ -1293,6 +1343,8 @@ Class | Method | HTTP request | Description
- [CompoundMeasureValueFilterCompoundMeasureValueFilter](docs/CompoundMeasureValueFilterCompoundMeasureValueFilter.md)
- [ContentSlideTemplate](docs/ContentSlideTemplate.md)
- [CoverSlideTemplate](docs/CoverSlideTemplate.md)
+ - [CreateKnowledgeDocumentRequestDto](docs/CreateKnowledgeDocumentRequestDto.md)
+ - [CreateKnowledgeDocumentResponseDto](docs/CreateKnowledgeDocumentResponseDto.md)
- [CreatedVisualization](docs/CreatedVisualization.md)
- [CreatedVisualizationFiltersInner](docs/CreatedVisualizationFiltersInner.md)
- [CreatedVisualizations](docs/CreatedVisualizations.md)
@@ -1416,6 +1468,7 @@ Class | Method | HTTP request | Description
- [DeclarativeWorkspaces](docs/DeclarativeWorkspaces.md)
- [DefaultSmtp](docs/DefaultSmtp.md)
- [DefaultSmtpAllOf](docs/DefaultSmtpAllOf.md)
+ - [DeleteKnowledgeDocumentResponseDto](docs/DeleteKnowledgeDocumentResponseDto.md)
- [DependentEntitiesGraph](docs/DependentEntitiesGraph.md)
- [DependentEntitiesNode](docs/DependentEntitiesNode.md)
- [DependentEntitiesRequest](docs/DependentEntitiesRequest.md)
@@ -1457,13 +1510,18 @@ Class | Method | HTTP request | Description
- [FilterBy](docs/FilterBy.md)
- [FilterDefinition](docs/FilterDefinition.md)
- [FilterDefinitionForSimpleMeasure](docs/FilterDefinitionForSimpleMeasure.md)
+ - [ForecastConfig](docs/ForecastConfig.md)
- [ForecastRequest](docs/ForecastRequest.md)
- [ForecastResult](docs/ForecastResult.md)
- [FoundObjects](docs/FoundObjects.md)
- [Frequency](docs/Frequency.md)
- [FrequencyBucket](docs/FrequencyBucket.md)
- [FrequencyProperties](docs/FrequencyProperties.md)
+ - [GenerateDescriptionRequest](docs/GenerateDescriptionRequest.md)
+ - [GenerateDescriptionResponse](docs/GenerateDescriptionResponse.md)
- [GenerateLdmRequest](docs/GenerateLdmRequest.md)
+ - [GenerateTitleRequest](docs/GenerateTitleRequest.md)
+ - [GenerateTitleResponse](docs/GenerateTitleResponse.md)
- [GeoAreaConfig](docs/GeoAreaConfig.md)
- [GeoCollectionIdentifier](docs/GeoCollectionIdentifier.md)
- [GetAiLakeOperation200Response](docs/GetAiLakeOperation200Response.md)
@@ -1515,7 +1573,7 @@ Class | Method | HTTP request | Description
- [JsonApiAnalyticalDashboardOutMetaAccessInfo](docs/JsonApiAnalyticalDashboardOutMetaAccessInfo.md)
- [JsonApiAnalyticalDashboardOutRelationships](docs/JsonApiAnalyticalDashboardOutRelationships.md)
- [JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards](docs/JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md)
- - [JsonApiAnalyticalDashboardOutRelationshipsCreatedBy](docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md)
+ - [JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy](docs/JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md)
- [JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins](docs/JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md)
- [JsonApiAnalyticalDashboardOutRelationshipsDatasets](docs/JsonApiAnalyticalDashboardOutRelationshipsDatasets.md)
- [JsonApiAnalyticalDashboardOutRelationshipsFilterContexts](docs/JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md)
@@ -1849,6 +1907,18 @@ Class | Method | HTTP request | Description
- [JsonApiLlmEndpointPatch](docs/JsonApiLlmEndpointPatch.md)
- [JsonApiLlmEndpointPatchAttributes](docs/JsonApiLlmEndpointPatchAttributes.md)
- [JsonApiLlmEndpointPatchDocument](docs/JsonApiLlmEndpointPatchDocument.md)
+ - [JsonApiLlmProviderIn](docs/JsonApiLlmProviderIn.md)
+ - [JsonApiLlmProviderInAttributes](docs/JsonApiLlmProviderInAttributes.md)
+ - [JsonApiLlmProviderInAttributesModelsInner](docs/JsonApiLlmProviderInAttributesModelsInner.md)
+ - [JsonApiLlmProviderInAttributesProviderConfig](docs/JsonApiLlmProviderInAttributesProviderConfig.md)
+ - [JsonApiLlmProviderInDocument](docs/JsonApiLlmProviderInDocument.md)
+ - [JsonApiLlmProviderOut](docs/JsonApiLlmProviderOut.md)
+ - [JsonApiLlmProviderOutDocument](docs/JsonApiLlmProviderOutDocument.md)
+ - [JsonApiLlmProviderOutList](docs/JsonApiLlmProviderOutList.md)
+ - [JsonApiLlmProviderOutWithLinks](docs/JsonApiLlmProviderOutWithLinks.md)
+ - [JsonApiLlmProviderPatch](docs/JsonApiLlmProviderPatch.md)
+ - [JsonApiLlmProviderPatchAttributes](docs/JsonApiLlmProviderPatchAttributes.md)
+ - [JsonApiLlmProviderPatchDocument](docs/JsonApiLlmProviderPatchDocument.md)
- [JsonApiMemoryItemIn](docs/JsonApiMemoryItemIn.md)
- [JsonApiMemoryItemInAttributes](docs/JsonApiMemoryItemInAttributes.md)
- [JsonApiMemoryItemInDocument](docs/JsonApiMemoryItemInDocument.md)
@@ -2070,9 +2140,17 @@ Class | Method | HTTP request | Description
- [KeyDriversRequest](docs/KeyDriversRequest.md)
- [KeyDriversResponse](docs/KeyDriversResponse.md)
- [KeyDriversResult](docs/KeyDriversResult.md)
+ - [KnowledgeDocumentMetadataDto](docs/KnowledgeDocumentMetadataDto.md)
+ - [KnowledgeSearchResultDto](docs/KnowledgeSearchResultDto.md)
- [LabelIdentifier](docs/LabelIdentifier.md)
+ - [ListDatabaseInstancesResponse](docs/ListDatabaseInstancesResponse.md)
+ - [ListKnowledgeDocumentsResponseDto](docs/ListKnowledgeDocumentsResponseDto.md)
- [ListLinks](docs/ListLinks.md)
- [ListLinksAllOf](docs/ListLinksAllOf.md)
+ - [ListServicesResponse](docs/ListServicesResponse.md)
+ - [LlmModel](docs/LlmModel.md)
+ - [LlmProviderAuth](docs/LlmProviderAuth.md)
+ - [LlmProviderConfig](docs/LlmProviderConfig.md)
- [LocalIdentifier](docs/LocalIdentifier.md)
- [LocaleRequest](docs/LocaleRequest.md)
- [ManageDashboardPermissionsRequestInner](docs/ManageDashboardPermissionsRequestInner.md)
@@ -2090,8 +2168,10 @@ Class | Method | HTTP request | Description
- [MemoryItemCreatedByUsers](docs/MemoryItemCreatedByUsers.md)
- [MemoryItemUser](docs/MemoryItemUser.md)
- [Metric](docs/Metric.md)
+ - [MetricDefinitionOverride](docs/MetricDefinitionOverride.md)
- [MetricRecord](docs/MetricRecord.md)
- [MetricValueChange](docs/MetricValueChange.md)
+ - [ModelTestResult](docs/ModelTestResult.md)
- [NegativeAttributeFilter](docs/NegativeAttributeFilter.md)
- [NegativeAttributeFilterNegativeAttributeFilter](docs/NegativeAttributeFilterNegativeAttributeFilter.md)
- [Note](docs/Note.md)
@@ -2106,6 +2186,10 @@ Class | Method | HTTP request | Description
- [NotificationsMetaTotal](docs/NotificationsMetaTotal.md)
- [ObjectLinks](docs/ObjectLinks.md)
- [ObjectLinksContainer](docs/ObjectLinksContainer.md)
+ - [OpenAIProviderConfig](docs/OpenAIProviderConfig.md)
+ - [OpenAiApiKeyAuth](docs/OpenAiApiKeyAuth.md)
+ - [OpenAiApiKeyAuthAllOf](docs/OpenAiApiKeyAuthAllOf.md)
+ - [OpenAiProviderAuth](docs/OpenAiProviderAuth.md)
- [Operation](docs/Operation.md)
- [OperationError](docs/OperationError.md)
- [OrganizationAutomationIdentifier](docs/OrganizationAutomationIdentifier.md)
@@ -2118,6 +2202,7 @@ Class | Method | HTTP request | Description
- [PageMetadata](docs/PageMetadata.md)
- [Paging](docs/Paging.md)
- [Parameter](docs/Parameter.md)
+ - [PatchKnowledgeDocumentRequestDto](docs/PatchKnowledgeDocumentRequestDto.md)
- [PdfTableStyle](docs/PdfTableStyle.md)
- [PdfTableStyleProperty](docs/PdfTableStyleProperty.md)
- [PdmLdmRequest](docs/PdmLdmRequest.md)
@@ -2176,17 +2261,22 @@ Class | Method | HTTP request | Description
- [RouteResult](docs/RouteResult.md)
- [RsaSpecification](docs/RsaSpecification.md)
- [RulePermission](docs/RulePermission.md)
+ - [RunServiceCommandRequest](docs/RunServiceCommandRequest.md)
- [RunningSection](docs/RunningSection.md)
- [SavedVisualization](docs/SavedVisualization.md)
- [ScanRequest](docs/ScanRequest.md)
- [ScanResultPdm](docs/ScanResultPdm.md)
- [ScanSqlRequest](docs/ScanSqlRequest.md)
- [ScanSqlResponse](docs/ScanSqlResponse.md)
+ - [SearchKnowledgeResponseDto](docs/SearchKnowledgeResponseDto.md)
- [SearchRelationshipObject](docs/SearchRelationshipObject.md)
- [SearchRequest](docs/SearchRequest.md)
- [SearchResult](docs/SearchResult.md)
- [SearchResultObject](docs/SearchResultObject.md)
+ - [SearchStatisticsDto](docs/SearchStatisticsDto.md)
- [SectionSlideTemplate](docs/SectionSlideTemplate.md)
+ - [ServiceInfo](docs/ServiceInfo.md)
+ - [SetCertificationRequest](docs/SetCertificationRequest.md)
- [Settings](docs/Settings.md)
- [SimpleMeasureDefinition](docs/SimpleMeasureDefinition.md)
- [SimpleMeasureDefinitionMeasure](docs/SimpleMeasureDefinitionMeasure.md)
@@ -2216,6 +2306,9 @@ Class | Method | HTTP request | Description
- [TabularExportRequest](docs/TabularExportRequest.md)
- [TestDefinitionRequest](docs/TestDefinitionRequest.md)
- [TestDestinationRequest](docs/TestDestinationRequest.md)
+ - [TestLlmProviderDefinitionRequest](docs/TestLlmProviderDefinitionRequest.md)
+ - [TestLlmProviderDefinitionRequestProviderConfig](docs/TestLlmProviderDefinitionRequestProviderConfig.md)
+ - [TestLlmProviderResponse](docs/TestLlmProviderResponse.md)
- [TestNotification](docs/TestNotification.md)
- [TestNotificationAllOf](docs/TestNotificationAllOf.md)
- [TestQueryDuration](docs/TestQueryDuration.md)
@@ -2228,6 +2321,8 @@ Class | Method | HTTP request | Description
- [TotalResultHeader](docs/TotalResultHeader.md)
- [TriggerAutomationRequest](docs/TriggerAutomationRequest.md)
- [TriggerQualityIssuesCalculationResponse](docs/TriggerQualityIssuesCalculationResponse.md)
+ - [UpsertKnowledgeDocumentRequestDto](docs/UpsertKnowledgeDocumentRequestDto.md)
+ - [UpsertKnowledgeDocumentResponseDto](docs/UpsertKnowledgeDocumentResponseDto.md)
- [UserAssignee](docs/UserAssignee.md)
- [UserContext](docs/UserContext.md)
- [UserGroupAssignee](docs/UserGroupAssignee.md)
@@ -2250,12 +2345,16 @@ Class | Method | HTTP request | Description
- [Value](docs/Value.md)
- [VisibleFilter](docs/VisibleFilter.md)
- [VisualExportRequest](docs/VisualExportRequest.md)
+ - [VisualizationConfig](docs/VisualizationConfig.md)
- [Webhook](docs/Webhook.md)
- [WebhookAllOf](docs/WebhookAllOf.md)
- [WebhookAutomationInfo](docs/WebhookAutomationInfo.md)
- [WebhookMessage](docs/WebhookMessage.md)
- [WebhookMessageData](docs/WebhookMessageData.md)
- [WebhookRecipient](docs/WebhookRecipient.md)
+ - [WhatIfMeasureAdjustmentConfig](docs/WhatIfMeasureAdjustmentConfig.md)
+ - [WhatIfScenarioConfig](docs/WhatIfScenarioConfig.md)
+ - [WhatIfScenarioItem](docs/WhatIfScenarioItem.md)
- [WidgetSlidesTemplate](docs/WidgetSlidesTemplate.md)
- [WorkspaceAutomationIdentifier](docs/WorkspaceAutomationIdentifier.md)
- [WorkspaceAutomationManagementBulkRequest](docs/WorkspaceAutomationManagementBulkRequest.md)
@@ -2269,9 +2368,11 @@ Class | Method | HTTP request | Description
- [Xliff](docs/Xliff.md)
+
## Documentation For Authorization
- All endpoints do not require authorization.
+Endpoints do not require authorization.
+
## Author
diff --git a/gooddata-api-client/docs/AFM.md b/gooddata-api-client/docs/AFM.md
index f0e919ef5..1876a4cc4 100644
--- a/gooddata-api-client/docs/AFM.md
+++ b/gooddata-api-client/docs/AFM.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**filters** | [**[AFMFiltersInner]**](AFMFiltersInner.md) | Various filter types to filter the execution result. |
**measures** | [**[MeasureItem]**](MeasureItem.md) | Metrics to be computed. |
**aux_measures** | [**[MeasureItem]**](MeasureItem.md) | Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result. | [optional]
+**measure_definition_overrides** | [**[MetricDefinitionOverride]**](MetricDefinitionOverride.md) | (EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition. | [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/AFMFiltersInner.md b/gooddata-api-client/docs/AFMFiltersInner.md
index 3f5b2c615..c8ff00a9a 100644
--- a/gooddata-api-client/docs/AFMFiltersInner.md
+++ b/gooddata-api-client/docs/AFMFiltersInner.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**ranking_filter** | [**RankingFilterRankingFilter**](RankingFilterRankingFilter.md) | | [optional]
**absolute_date_filter** | [**AbsoluteDateFilterAbsoluteDateFilter**](AbsoluteDateFilterAbsoluteDateFilter.md) | | [optional]
**relative_date_filter** | [**RelativeDateFilterRelativeDateFilter**](RelativeDateFilterRelativeDateFilter.md) | | [optional]
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.md) | | [optional]
**negative_attribute_filter** | [**NegativeAttributeFilterNegativeAttributeFilter**](NegativeAttributeFilterNegativeAttributeFilter.md) | | [optional]
**positive_attribute_filter** | [**PositiveAttributeFilterPositiveAttributeFilter**](PositiveAttributeFilterPositiveAttributeFilter.md) | | [optional]
**match_attribute_filter** | [**MatchAttributeFilterMatchAttributeFilter**](MatchAttributeFilterMatchAttributeFilter.md) | | [optional]
diff --git a/gooddata-api-client/docs/AILakeApi.md b/gooddata-api-client/docs/AILakeApi.md
index 82ff0fa26..cd4bdfad3 100644
--- a/gooddata-api-client/docs/AILakeApi.md
+++ b/gooddata-api-client/docs/AILakeApi.md
@@ -4,10 +4,13 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
-[**deprovision_ai_lake_database_instance**](AILakeApi.md#deprovision_ai_lake_database_instance) | **DELETE** /api/v1/ailake/database/instance/{instanceId} | (BETA) Delete an existing AILake Database instance
-[**get_ai_lake_database_instance**](AILakeApi.md#get_ai_lake_database_instance) | **GET** /api/v1/ailake/database/instance/{instanceId} | (BETA) Get the specified AILake Database instance
-[**get_ai_lake_operation**](AILakeApi.md#get_ai_lake_operation) | **GET** /api/v1/ailake/operation/{operationId} | (BETA) Get Long Running Operation details
-[**provision_ai_lake_database_instance**](AILakeApi.md#provision_ai_lake_database_instance) | **POST** /api/v1/ailake/database/instance | (BETA) Create a new AILake Database instance
+[**deprovision_ai_lake_database_instance**](AILakeApi.md#deprovision_ai_lake_database_instance) | **DELETE** /api/v1/ailake/database/instances/{instanceId} | (BETA) Delete an existing AILake Database instance
+[**get_ai_lake_database_instance**](AILakeApi.md#get_ai_lake_database_instance) | **GET** /api/v1/ailake/database/instances/{instanceId} | (BETA) Get the specified AILake Database instance
+[**get_ai_lake_operation**](AILakeApi.md#get_ai_lake_operation) | **GET** /api/v1/ailake/operations/{operationId} | (BETA) Get Long Running Operation details
+[**list_ai_lake_database_instances**](AILakeApi.md#list_ai_lake_database_instances) | **GET** /api/v1/ailake/database/instances | (BETA) List AI Lake Database instances
+[**list_ai_lake_services**](AILakeApi.md#list_ai_lake_services) | **GET** /api/v1/ailake/services | (BETA) List AI Lake services
+[**provision_ai_lake_database_instance**](AILakeApi.md#provision_ai_lake_database_instance) | **POST** /api/v1/ailake/database/instances | (BETA) Create a new AILake Database instance
+[**run_ai_lake_service_command**](AILakeApi.md#run_ai_lake_service_command) | **POST** /api/v1/ailake/services/{serviceId}/commands/{commandName}/run | (BETA) Run an AI Lake services command
# **deprovision_ai_lake_database_instance**
@@ -221,6 +224,154 @@ 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)
+# **list_ai_lake_database_instances**
+> ListDatabaseInstancesResponse list_ai_lake_database_instances()
+
+(BETA) List AI Lake Database instances
+
+(BETA) Lists database instances in the organization's AI Lake. Supports paging via size and offset query parameters. Use metaInclude=page to get total count.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import ai_lake_api
+from gooddata_api_client.model.list_database_instances_response import ListDatabaseInstancesResponse
+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 = ai_lake_api.AILakeApi(api_client)
+ size = 50 # int | (optional) if omitted the server will use the default value of 50
+ offset = 0 # int | (optional) if omitted the server will use the default value of 0
+ meta_include = [
+ "metaInclude_example",
+ ] # [str] | (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # (BETA) List AI Lake Database instances
+ api_response = api_instance.list_ai_lake_database_instances(size=size, offset=offset, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AILakeApi->list_ai_lake_database_instances: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **size** | **int**| | [optional] if omitted the server will use the default value of 50
+ **offset** | **int**| | [optional] if omitted the server will use the default value of 0
+ **meta_include** | **[str]**| | [optional]
+
+### Return type
+
+[**ListDatabaseInstancesResponse**](ListDatabaseInstancesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | AI Lake database instances successfully retrieved | - |
+
+[[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)
+
+# **list_ai_lake_services**
+> ListServicesResponse list_ai_lake_services()
+
+(BETA) List AI Lake services
+
+(BETA) Lists services configured for the organization's AI Lake. Returns only non-sensitive fields (id, name). Supports paging via size and offset query parameters. Use metaInclude=page to get total count.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import ai_lake_api
+from gooddata_api_client.model.list_services_response import ListServicesResponse
+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 = ai_lake_api.AILakeApi(api_client)
+ size = 50 # int | (optional) if omitted the server will use the default value of 50
+ offset = 0 # int | (optional) if omitted the server will use the default value of 0
+ meta_include = [
+ "metaInclude_example",
+ ] # [str] | (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # (BETA) List AI Lake services
+ api_response = api_instance.list_ai_lake_services(size=size, offset=offset, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AILakeApi->list_ai_lake_services: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **size** | **int**| | [optional] if omitted the server will use the default value of 50
+ **offset** | **int**| | [optional] if omitted the server will use the default value of 0
+ **meta_include** | **[str]**| | [optional]
+
+### Return type
+
+[**ListServicesResponse**](ListServicesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | AI Lake services successfully retrieved | - |
+
+[[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)
+
# **provision_ai_lake_database_instance**
> {str: (bool, date, datetime, dict, float, int, list, str, none_type)} provision_ai_lake_database_instance(provision_database_instance_request)
@@ -304,3 +455,90 @@ 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)
+# **run_ai_lake_service_command**
+> {str: (bool, date, datetime, dict, float, int, list, str, none_type)} run_ai_lake_service_command(service_id, command_name, run_service_command_request)
+
+(BETA) Run an AI Lake services command
+
+(BETA) Runs a specific AI Lake service command.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import ai_lake_api
+from gooddata_api_client.model.run_service_command_request import RunServiceCommandRequest
+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 = ai_lake_api.AILakeApi(api_client)
+ service_id = "serviceId_example" # str |
+ command_name = "commandName_example" # str |
+ run_service_command_request = RunServiceCommandRequest(
+ context={
+ "key": "key_example",
+ },
+ payload=JsonNode(),
+ ) # RunServiceCommandRequest |
+ operation_id = "operation-id_example" # str | (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # (BETA) Run an AI Lake services command
+ api_response = api_instance.run_ai_lake_service_command(service_id, command_name, run_service_command_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AILakeApi->run_ai_lake_service_command: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # (BETA) Run an AI Lake services command
+ api_response = api_instance.run_ai_lake_service_command(service_id, command_name, run_service_command_request, operation_id=operation_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AILakeApi->run_ai_lake_service_command: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **service_id** | **str**| |
+ **command_name** | **str**| |
+ **run_service_command_request** | [**RunServiceCommandRequest**](RunServiceCommandRequest.md)| |
+ **operation_id** | **str**| | [optional]
+
+### Return type
+
+**{str: (bool, date, datetime, dict, float, int, list, str, none_type)}**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**202** | Accepted | * operation-id - Operation ID to use for polling. * operation-location - Operation location URL that can be used for polling. |
+
+[[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/AbsoluteDateFilterAbsoluteDateFilter.md b/gooddata-api-client/docs/AbsoluteDateFilterAbsoluteDateFilter.md
index a82af8ee5..a8cb9af60 100644
--- a/gooddata-api-client/docs/AbsoluteDateFilterAbsoluteDateFilter.md
+++ b/gooddata-api-client/docs/AbsoluteDateFilterAbsoluteDateFilter.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**_from** | **str** | |
**to** | **str** | |
**apply_on_result** | **bool** | | [optional]
+**empty_value_handling** | **str** | Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates. | [optional] if omitted the server will use the default value of "EXCLUDE"
**local_identifier** | **str** | | [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/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md
index b192509db..00977d702 100644
--- a/gooddata-api-client/docs/ActionsApi.md
+++ b/gooddata-api-client/docs/ActionsApi.md
@@ -26,6 +26,7 @@ Method | HTTP request | Description
[**compute_valid_descendants**](ActionsApi.md#compute_valid_descendants) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/computeValidDescendants | (BETA) Valid descendants
[**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_document**](ActionsApi.md#create_document) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
[**create_image_export**](ActionsApi.md#create_image_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/image | (EXPERIMENTAL) Create image 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
@@ -33,16 +34,20 @@ Method | HTTP request | Description
[**create_tabular_export**](ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request
[**created_by**](ActionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
[**dashboard_permissions**](ActionsApi.md#dashboard_permissions) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/permissions | Get Dashboard Permissions
+[**delete_document**](ActionsApi.md#delete_document) | **DELETE** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
[**delete_organization_automations**](ActionsApi.md#delete_organization_automations) | **POST** /api/v1/actions/organization/automations/delete | Delete selected automations across all workspaces
[**delete_workspace_automations**](ActionsApi.md#delete_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/delete | Delete selected automations in the workspace
[**explain_afm**](ActionsApi.md#explain_afm) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/explain | AFM explain resource.
[**forecast**](ActionsApi.md#forecast) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/{resultId} | (BETA) Smart functions - Forecast
[**forecast_result**](ActionsApi.md#forecast_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/result/{resultId} | (BETA) Smart functions - Forecast Result
+[**generate_description**](ActionsApi.md#generate_description) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription | Generate Description for Analytics Object
[**generate_logical_model**](ActionsApi.md#generate_logical_model) | **POST** /api/v1/actions/dataSources/{dataSourceId}/generateLogicalModel | Generate logical data model (LDM) from physical data model (PDM)
[**generate_logical_model_aac**](ActionsApi.md#generate_logical_model_aac) | **POST** /api/v1/actions/dataSources/{dataSourceId}/generateLogicalModelAac | Generate logical data model in AAC format from physical data model (PDM)
+[**generate_title**](ActionsApi.md#generate_title) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle | Generate Title for Analytics Object
[**get_data_source_schemata**](ActionsApi.md#get_data_source_schemata) | **GET** /api/v1/actions/dataSources/{dataSourceId}/scanSchemata | Get a list of schema names of a database
[**get_dependent_entities_graph**](ActionsApi.md#get_dependent_entities_graph) | **GET** /api/v1/actions/workspaces/{workspaceId}/dependentEntitiesGraph | Computes the dependent entities graph
[**get_dependent_entities_graph_from_entry_points**](ActionsApi.md#get_dependent_entities_graph_from_entry_points) | **POST** /api/v1/actions/workspaces/{workspaceId}/dependentEntitiesGraph | Computes the dependent entities graph from given entry points
+[**get_document**](ActionsApi.md#get_document) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
[**get_exported_file**](ActionsApi.md#get_exported_file) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId} | Retrieve exported files
[**get_image_export**](ActionsApi.md#get_image_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/image/{exportId} | (EXPERIMENTAL) Retrieve exported files
[**get_image_export_metadata**](ActionsApi.md#get_image_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context
@@ -59,6 +64,7 @@ Method | HTTP request | Description
[**inherited_entity_prefixes**](ActionsApi.md#inherited_entity_prefixes) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes | Get used entity prefixes in hierarchy
[**key_driver_analysis**](ActionsApi.md#key_driver_analysis) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers | (EXPERIMENTAL) Compute key driver analysis
[**key_driver_analysis_result**](ActionsApi.md#key_driver_analysis_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers/result/{resultId} | (EXPERIMENTAL) Get key driver analysis result
+[**list_documents**](ActionsApi.md#list_documents) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
[**list_workspace_user_groups**](ActionsApi.md#list_workspace_user_groups) | **GET** /api/v1/actions/workspaces/{workspaceId}/userGroups |
[**list_workspace_users**](ActionsApi.md#list_workspace_users) | **GET** /api/v1/actions/workspaces/{workspaceId}/users |
[**manage_dashboard_permissions**](ActionsApi.md#manage_dashboard_permissions) | **POST** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/managePermissions | Manage Permissions for a Dashboard
@@ -75,6 +81,7 @@ Method | HTTP request | Description
[**outlier_detection_result**](ActionsApi.md#outlier_detection_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/detectOutliers/result/{resultId} | (BETA) Outlier Detection Result
[**overridden_child_entities**](ActionsApi.md#overridden_child_entities) | **GET** /api/v1/actions/workspaces/{workspaceId}/overriddenChildEntities | Finds identifier overrides in workspace hierarchy.
[**particular_platform_usage**](ActionsApi.md#particular_platform_usage) | **POST** /api/v1/actions/collectUsage | Info about the platform usage for particular items.
+[**patch_document**](ActionsApi.md#patch_document) | **PATCH** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename} |
[**pause_organization_automations**](ActionsApi.md#pause_organization_automations) | **POST** /api/v1/actions/organization/automations/pause | Pause selected automations across all workspaces
[**pause_workspace_automations**](ActionsApi.md#pause_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/pause | Pause selected automations in the workspace
[**register_upload_notification**](ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification
@@ -88,12 +95,16 @@ Method | HTTP request | Description
[**retrieve_translations**](ActionsApi.md#retrieve_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/retrieve | Retrieve translations for entities.
[**scan_data_source**](ActionsApi.md#scan_data_source) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scan | Scan a database to get a physical data model (PDM)
[**scan_sql**](ActionsApi.md#scan_sql) | **POST** /api/v1/actions/dataSources/{dataSourceId}/scanSql | Collect metadata about SQL query
+[**search_knowledge**](ActionsApi.md#search_knowledge) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search |
+[**set_certification**](ActionsApi.md#set_certification) | **POST** /api/v1/actions/workspaces/{workspaceId}/setCertification | Set Certification
[**set_translations**](ActionsApi.md#set_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/set | Set translations for entities.
[**switch_active_identity_provider**](ActionsApi.md#switch_active_identity_provider) | **POST** /api/v1/actions/organization/switchActiveIdentityProvider | Switch Active Identity Provider
[**tags**](ActionsApi.md#tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags | Get Analytics Catalog Tags
[**test_data_source**](ActionsApi.md#test_data_source) | **POST** /api/v1/actions/dataSources/{dataSourceId}/test | Test data source connection by data source id
[**test_data_source_definition**](ActionsApi.md#test_data_source_definition) | **POST** /api/v1/actions/dataSource/test | Test connection by data source definition
[**test_existing_notification_channel**](ActionsApi.md#test_existing_notification_channel) | **POST** /api/v1/actions/notificationChannels/{notificationChannelId}/test | Test existing notification channel.
+[**test_llm_provider**](ActionsApi.md#test_llm_provider) | **POST** /api/v1/actions/ai/llmProvider/test | Test LLM Provider
+[**test_llm_provider_by_id**](ActionsApi.md#test_llm_provider_by_id) | **POST** /api/v1/actions/ai/llmProvider/{llmProviderId}/test | Test LLM Provider By Id
[**test_notification_channel**](ActionsApi.md#test_notification_channel) | **POST** /api/v1/actions/notificationChannels/test | Test notification channel.
[**trigger_automation**](ActionsApi.md#trigger_automation) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/trigger | Trigger automation.
[**trigger_existing_automation**](ActionsApi.md#trigger_existing_automation) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/{automationId}/trigger | Trigger existing automation.
@@ -105,6 +116,7 @@ Method | HTTP request | Description
[**unsubscribe_organization_automations**](ActionsApi.md#unsubscribe_organization_automations) | **POST** /api/v1/actions/organization/automations/unsubscribe | Unsubscribe from selected automations across all workspaces
[**unsubscribe_selected_workspace_automations**](ActionsApi.md#unsubscribe_selected_workspace_automations) | **POST** /api/v1/actions/workspaces/{workspaceId}/automations/unsubscribe | Unsubscribe from selected automations in the workspace
[**unsubscribe_workspace_automations**](ActionsApi.md#unsubscribe_workspace_automations) | **DELETE** /api/v1/actions/workspaces/{workspaceId}/automations/unsubscribe | Unsubscribe from all automations in the workspace
+[**upsert_document**](ActionsApi.md#upsert_document) | **PUT** /api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents |
[**validate_llm_endpoint**](ActionsApi.md#validate_llm_endpoint) | **POST** /api/v1/actions/ai/llmEndpoint/test | Validate LLM Endpoint
[**validate_llm_endpoint_by_id**](ActionsApi.md#validate_llm_endpoint_by_id) | **POST** /api/v1/actions/ai/llmEndpoint/{llmEndpointId}/test | Validate LLM Endpoint By Id
[**workspace_resolve_all_settings**](ActionsApi.md#workspace_resolve_all_settings) | **GET** /api/v1/actions/workspaces/{workspaceId}/resolveSettings | Values for all settings.
@@ -1655,6 +1667,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -1875,6 +1902,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -2018,6 +2060,83 @@ 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_document**
+> CreateKnowledgeDocumentResponseDto create_document(workspace_id, create_knowledge_document_request_dto)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.create_knowledge_document_response_dto import CreateKnowledgeDocumentResponseDto
+from gooddata_api_client.model.create_knowledge_document_request_dto import CreateKnowledgeDocumentRequestDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ create_knowledge_document_request_dto = CreateKnowledgeDocumentRequestDto(
+ content="content_example",
+ filename="filename_example",
+ page_boundaries=[
+ 1,
+ ],
+ scopes=[
+ "scopes_example",
+ ],
+ title="title_example",
+ ) # CreateKnowledgeDocumentRequestDto |
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.create_document(workspace_id, create_knowledge_document_request_dto)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->create_document: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **create_knowledge_document_request_dto** | [**CreateKnowledgeDocumentRequestDto**](CreateKnowledgeDocumentRequestDto.md)| |
+
+### Return type
+
+[**CreateKnowledgeDocumentResponseDto**](CreateKnowledgeDocumentResponseDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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_image_export**
> ExportResponse create_image_export(workspace_id, image_export_request)
@@ -2246,6 +2365,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -2634,6 +2768,72 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **delete_document**
+> DeleteKnowledgeDocumentResponseDto delete_document(workspace_id, filename)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.delete_knowledge_document_response_dto import DeleteKnowledgeDocumentResponseDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ filename = "filename_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.delete_document(workspace_id, filename)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->delete_document: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **filename** | **str**| |
+
+### Return type
+
+[**DeleteKnowledgeDocumentResponseDto**](DeleteKnowledgeDocumentResponseDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -2836,6 +3036,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -3082,6 +3297,79 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **generate_description**
+> GenerateDescriptionResponse generate_description(workspace_id, generate_description_request)
+
+Generate Description for Analytics Object
+
+Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.generate_description_request import GenerateDescriptionRequest
+from gooddata_api_client.model.generate_description_response import GenerateDescriptionResponse
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ generate_description_request = GenerateDescriptionRequest(
+ object_id="object_id_example",
+ object_type="Visualization",
+ ) # GenerateDescriptionRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Generate Description for Analytics Object
+ api_response = api_instance.generate_description(workspace_id, generate_description_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->generate_description: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **generate_description_request** | [**GenerateDescriptionRequest**](GenerateDescriptionRequest.md)| |
+
+### Return type
+
+[**GenerateDescriptionResponse**](GenerateDescriptionResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -3364,12 +3652,12 @@ 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_data_source_schemata**
-> DataSourceSchemata get_data_source_schemata(data_source_id)
+# **generate_title**
+> GenerateTitleResponse generate_title(workspace_id, generate_title_request)
-Get a list of schema names of a database
+Generate Title for Analytics Object
-It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
+Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed.
### Example
@@ -3378,7 +3666,8 @@ It scans a database and reads metadata. The result of the request contains a lis
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
-from gooddata_api_client.model.data_source_schemata import DataSourceSchemata
+from gooddata_api_client.model.generate_title_request import GenerateTitleRequest
+from gooddata_api_client.model.generate_title_response import GenerateTitleResponse
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.
@@ -3391,15 +3680,19 @@ configuration = gooddata_api_client.Configuration(
with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = actions_api.ActionsApi(api_client)
- data_source_id = "myPostgres" # str | Data source id
+ workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ generate_title_request = GenerateTitleRequest(
+ object_id="object_id_example",
+ object_type="Visualization",
+ ) # GenerateTitleRequest |
# example passing only required values which don't have defaults set
try:
- # Get a list of schema names of a database
- api_response = api_instance.get_data_source_schemata(data_source_id)
+ # Generate Title for Analytics Object
+ api_response = api_instance.generate_title(workspace_id, generate_title_request)
pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_data_source_schemata: %s\n" % e)
+ print("Exception when calling ActionsApi->generate_title: %s\n" % e)
```
@@ -3407,11 +3700,12 @@ with gooddata_api_client.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **data_source_id** | **str**| Data source id |
+ **workspace_id** | **str**| Workspace identifier |
+ **generate_title_request** | [**GenerateTitleRequest**](GenerateTitleRequest.md)| |
### Return type
-[**DataSourceSchemata**](DataSourceSchemata.md)
+[**GenerateTitleResponse**](GenerateTitleResponse.md)
### Authorization
@@ -3419,7 +3713,7 @@ No authorization required
### HTTP request headers
- - **Content-Type**: Not defined
+ - **Content-Type**: application/json
- **Accept**: application/json
@@ -3427,16 +3721,16 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | The result of the scan schemata | - |
+**200** | OK | - |
[[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_dependent_entities_graph**
-> DependentEntitiesResponse get_dependent_entities_graph(workspace_id)
+# **get_data_source_schemata**
+> DataSourceSchemata get_data_source_schemata(data_source_id)
-Computes the dependent entities graph
+Get a list of schema names of a database
-Computes the dependent entities graph
+It scans a database and reads metadata. The result of the request contains a list of schema names of a database.
### Example
@@ -3445,7 +3739,7 @@ Computes the dependent entities graph
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
-from gooddata_api_client.model.dependent_entities_response import DependentEntitiesResponse
+from gooddata_api_client.model.data_source_schemata import DataSourceSchemata
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.
@@ -3458,15 +3752,15 @@ configuration = gooddata_api_client.Configuration(
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 |
+ data_source_id = "myPostgres" # str | Data source id
# example passing only required values which don't have defaults set
try:
- # Computes the dependent entities graph
- api_response = api_instance.get_dependent_entities_graph(workspace_id)
+ # Get a list of schema names of a database
+ api_response = api_instance.get_data_source_schemata(data_source_id)
pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_dependent_entities_graph: %s\n" % e)
+ print("Exception when calling ActionsApi->get_data_source_schemata: %s\n" % e)
```
@@ -3474,11 +3768,11 @@ with gooddata_api_client.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **workspace_id** | **str**| |
+ **data_source_id** | **str**| Data source id |
### Return type
-[**DependentEntitiesResponse**](DependentEntitiesResponse.md)
+[**DataSourceSchemata**](DataSourceSchemata.md)
### Authorization
@@ -3494,16 +3788,16 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | Computes the dependent entities graph | - |
+**200** | The result of the scan schemata | - |
[[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_dependent_entities_graph_from_entry_points**
-> DependentEntitiesResponse get_dependent_entities_graph_from_entry_points(workspace_id, dependent_entities_request)
+# **get_dependent_entities_graph**
+> DependentEntitiesResponse get_dependent_entities_graph(workspace_id)
-Computes the dependent entities graph from given entry points
+Computes the dependent entities graph
-Computes the dependent entities graph from given entry points
+Computes the dependent entities graph
### Example
@@ -3512,7 +3806,6 @@ Computes the dependent entities graph from given entry points
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
-from gooddata_api_client.model.dependent_entities_request import DependentEntitiesRequest
from gooddata_api_client.model.dependent_entities_response import DependentEntitiesResponse
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
@@ -3527,13 +3820,82 @@ 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 |
- dependent_entities_request = DependentEntitiesRequest(
- identifiers=[
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Computes the dependent entities graph
+ api_response = api_instance.get_dependent_entities_graph(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->get_dependent_entities_graph: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+
+### Return type
+
+[**DependentEntitiesResponse**](DependentEntitiesResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Computes the dependent entities graph | - |
+
+[[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_dependent_entities_graph_from_entry_points**
+> DependentEntitiesResponse get_dependent_entities_graph_from_entry_points(workspace_id, dependent_entities_request)
+
+Computes the dependent entities graph from given entry points
+
+Computes the dependent entities graph from given entry points
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.dependent_entities_request import DependentEntitiesRequest
+from gooddata_api_client.model.dependent_entities_response import DependentEntitiesResponse
+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 |
+ dependent_entities_request = DependentEntitiesRequest(
+ identifiers=[
EntityIdentifier(
id="/6bUUGjjNSwg0_bs",
type="metric",
),
],
+ relation="DEPENDENTS",
) # DependentEntitiesRequest |
# example passing only required values which don't have defaults set
@@ -3575,6 +3937,72 @@ 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_document**
+> KnowledgeDocumentMetadataDto get_document(workspace_id, filename)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.knowledge_document_metadata_dto import KnowledgeDocumentMetadataDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ filename = "filename_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.get_document(workspace_id, filename)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->get_document: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **filename** | **str**| |
+
+### Return type
+
+[**KnowledgeDocumentMetadataDto**](KnowledgeDocumentMetadataDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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_exported_file**
> file_type get_exported_file(workspace_id, export_id)
@@ -4703,6 +5131,88 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **list_documents**
+> ListKnowledgeDocumentsResponseDto list_documents(workspace_id)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.list_knowledge_documents_response_dto import ListKnowledgeDocumentsResponseDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ scopes = [
+ "scopes_example",
+ ] # [str] | (optional)
+ size = 50 # int | (optional) if omitted the server will use the default value of 50
+ page_token = "pageToken_example" # str | (optional)
+ meta_include = "metaInclude_example" # str | (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.list_documents(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->list_documents: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ api_response = api_instance.list_documents(workspace_id, scopes=scopes, size=size, page_token=page_token, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->list_documents: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **scopes** | **[str]**| | [optional]
+ **size** | **int**| | [optional] if omitted the server will use the default value of 50
+ **page_token** | **str**| | [optional]
+ **meta_include** | **str**| | [optional]
+
+### Return type
+
+[**ListKnowledgeDocumentsResponseDto**](ListKnowledgeDocumentsResponseDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -5881,6 +6391,81 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **patch_document**
+> KnowledgeDocumentMetadataDto patch_document(workspace_id, filename, patch_knowledge_document_request_dto)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.knowledge_document_metadata_dto import KnowledgeDocumentMetadataDto
+from gooddata_api_client.model.patch_knowledge_document_request_dto import PatchKnowledgeDocumentRequestDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ filename = "filename_example" # str |
+ patch_knowledge_document_request_dto = PatchKnowledgeDocumentRequestDto(
+ is_disabled=True,
+ scopes=[
+ "scopes_example",
+ ],
+ title="title_example",
+ ) # PatchKnowledgeDocumentRequestDto |
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.patch_document(workspace_id, filename, patch_knowledge_document_request_dto)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->patch_document: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **filename** | **str**| |
+ **patch_knowledge_document_request_dto** | [**PatchKnowledgeDocumentRequestDto**](PatchKnowledgeDocumentRequestDto.md)| |
+
+### Return type
+
+[**KnowledgeDocumentMetadataDto**](KnowledgeDocumentMetadataDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -6830,12 +7415,10 @@ 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)
-# **set_translations**
-> set_translations(workspace_id, xliff)
+# **search_knowledge**
+> SearchKnowledgeResponseDto search_knowledge(workspace_id, query)
-Set translations for entities.
-Set translation for existing entities in a particular locale.
### Example
@@ -6844,7 +7427,164 @@ Set translation for existing entities in a particular locale.
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
-from gooddata_api_client.model.xliff import Xliff
+from gooddata_api_client.model.search_knowledge_response_dto import SearchKnowledgeResponseDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ query = "query_example" # str |
+ limit = 10 # int | (optional) if omitted the server will use the default value of 10
+ min_score = 0.0 # float | (optional) if omitted the server will use the default value of 0.0
+ scopes = [
+ "scopes_example",
+ ] # [str] | (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.search_knowledge(workspace_id, query)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->search_knowledge: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ api_response = api_instance.search_knowledge(workspace_id, query, limit=limit, min_score=min_score, scopes=scopes)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->search_knowledge: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **query** | **str**| |
+ **limit** | **int**| | [optional] if omitted the server will use the default value of 10
+ **min_score** | **float**| | [optional] if omitted the server will use the default value of 0.0
+ **scopes** | **[str]**| | [optional]
+
+### Return type
+
+[**SearchKnowledgeResponseDto**](SearchKnowledgeResponseDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **set_certification**
+> set_certification(workspace_id, set_certification_request)
+
+Set Certification
+
+Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.set_certification_request import SetCertificationRequest
+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 |
+ set_certification_request = SetCertificationRequest(
+ id="total-sales",
+ message="message_example",
+ status="CERTIFIED",
+ type="metric",
+ ) # SetCertificationRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Set Certification
+ api_instance.set_certification(workspace_id, set_certification_request)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->set_certification: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **set_certification_request** | [**SetCertificationRequest**](SetCertificationRequest.md)| |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: Not defined
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | No Content | - |
+
+[[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)
+
+# **set_translations**
+> set_translations(workspace_id, xliff)
+
+Set translations for entities.
+
+Set translation for existing entities in a particular locale.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.xliff import Xliff
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.
@@ -7338,6 +8078,149 @@ 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)
+# **test_llm_provider**
+> TestLlmProviderResponse test_llm_provider(test_llm_provider_definition_request)
+
+Test LLM Provider
+
+Tests LLM provider connectivity with a full definition.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
+from gooddata_api_client.model.test_llm_provider_definition_request import TestLlmProviderDefinitionRequest
+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)
+ test_llm_provider_definition_request = TestLlmProviderDefinitionRequest(
+ models=[
+ LlmModel(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ provider_config=TestLlmProviderDefinitionRequestProviderConfig(None),
+ ) # TestLlmProviderDefinitionRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Test LLM Provider
+ api_response = api_instance.test_llm_provider(test_llm_provider_definition_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->test_llm_provider: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **test_llm_provider_definition_request** | [**TestLlmProviderDefinitionRequest**](TestLlmProviderDefinitionRequest.md)| |
+
+### Return type
+
+[**TestLlmProviderResponse**](TestLlmProviderResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **test_llm_provider_by_id**
+> TestLlmProviderResponse test_llm_provider_by_id(llm_provider_id)
+
+Test LLM Provider By Id
+
+Tests an existing LLM provider connectivity by its ID.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
+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)
+ llm_provider_id = "llmProviderId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Test LLM Provider By Id
+ api_response = api_instance.test_llm_provider_by_id(llm_provider_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->test_llm_provider_by_id: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **llm_provider_id** | **str**| |
+
+### Return type
+
+[**TestLlmProviderResponse**](TestLlmProviderResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
# **test_notification_channel**
> TestResponse test_notification_channel(test_destination_request)
@@ -7572,6 +8455,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -8321,6 +9219,83 @@ 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)
+# **upsert_document**
+> UpsertKnowledgeDocumentResponseDto upsert_document(workspace_id, upsert_knowledge_document_request_dto)
+
+
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.upsert_knowledge_document_response_dto import UpsertKnowledgeDocumentResponseDto
+from gooddata_api_client.model.upsert_knowledge_document_request_dto import UpsertKnowledgeDocumentRequestDto
+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 = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ upsert_knowledge_document_request_dto = UpsertKnowledgeDocumentRequestDto(
+ content="content_example",
+ filename="filename_example",
+ page_boundaries=[
+ 1,
+ ],
+ scopes=[
+ "scopes_example",
+ ],
+ title="title_example",
+ ) # UpsertKnowledgeDocumentRequestDto |
+
+ # example passing only required values which don't have defaults set
+ try:
+ api_response = api_instance.upsert_document(workspace_id, upsert_knowledge_document_request_dto)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->upsert_document: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **upsert_knowledge_document_request_dto** | [**UpsertKnowledgeDocumentRequestDto**](UpsertKnowledgeDocumentRequestDto.md)| |
+
+### Return type
+
+[**UpsertKnowledgeDocumentResponseDto**](UpsertKnowledgeDocumentResponseDto.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
# **validate_llm_endpoint**
> ValidateLLMEndpointResponse validate_llm_endpoint(validate_llm_endpoint_request)
diff --git a/gooddata-api-client/docs/AllTimeDateFilter.md b/gooddata-api-client/docs/AllTimeDateFilter.md
new file mode 100644
index 000000000..2ec0ccea0
--- /dev/null
+++ b/gooddata-api-client/docs/AllTimeDateFilter.md
@@ -0,0 +1,13 @@
+# AllTimeDateFilter
+
+An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.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/AllTimeDateFilterAllTimeDateFilter.md b/gooddata-api-client/docs/AllTimeDateFilterAllTimeDateFilter.md
new file mode 100644
index 000000000..c0a4fc42c
--- /dev/null
+++ b/gooddata-api-client/docs/AllTimeDateFilterAllTimeDateFilter.md
@@ -0,0 +1,16 @@
+# AllTimeDateFilterAllTimeDateFilter
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**dataset** | [**AfmObjectIdentifierDataset**](AfmObjectIdentifierDataset.md) | |
+**apply_on_result** | **bool** | | [optional]
+**empty_value_handling** | **str** | Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates. | [optional] if omitted the server will use the default value of "INCLUDE"
+**granularity** | **str** | Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified. | [optional] if omitted the server will use the default value of "DAY"
+**local_identifier** | **str** | | [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/AnalyticsModelApi.md b/gooddata-api-client/docs/AnalyticsModelApi.md
index eca8fd880..91cfda19d 100644
--- a/gooddata-api-client/docs/AnalyticsModelApi.md
+++ b/gooddata-api-client/docs/AnalyticsModelApi.md
@@ -128,6 +128,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -152,14 +159,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -171,14 +178,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -189,14 +196,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -241,8 +248,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -251,7 +265,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -262,8 +276,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -271,7 +292,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
diff --git a/gooddata-api-client/docs/AnomalyDetectionConfig.md b/gooddata-api-client/docs/AnomalyDetectionConfig.md
new file mode 100644
index 000000000..63b7eaeb5
--- /dev/null
+++ b/gooddata-api-client/docs/AnomalyDetectionConfig.md
@@ -0,0 +1,13 @@
+# AnomalyDetectionConfig
+
+Anomaly detection configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**sensitivity** | **str** | Outlier sensitivity level. |
+**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/AutomationsApi.md b/gooddata-api-client/docs/AutomationsApi.md
index cf1878bb6..c569e36b5 100644
--- a/gooddata-api-client/docs/AutomationsApi.md
+++ b/gooddata-api-client/docs/AutomationsApi.md
@@ -181,6 +181,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -1086,6 +1101,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -1792,6 +1822,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -2101,6 +2146,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -2935,6 +2995,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
diff --git a/gooddata-api-client/docs/AwsBedrockAccessKeyAuth.md b/gooddata-api-client/docs/AwsBedrockAccessKeyAuth.md
new file mode 100644
index 000000000..88acfc280
--- /dev/null
+++ b/gooddata-api-client/docs/AwsBedrockAccessKeyAuth.md
@@ -0,0 +1,15 @@
+# AwsBedrockAccessKeyAuth
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | Authentication type. | defaults to "ACCESS_KEY"
+**access_key_id** | **str, none_type** | AWS Access Key ID. | [optional]
+**secret_access_key** | **str, none_type** | AWS Secret Access Key. | [optional]
+**session_token** | **str, none_type** | AWS Session Token (for temporary credentials). | [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/AwsBedrockAccessKeyAuthAllOf.md b/gooddata-api-client/docs/AwsBedrockAccessKeyAuthAllOf.md
new file mode 100644
index 000000000..0e8f1c172
--- /dev/null
+++ b/gooddata-api-client/docs/AwsBedrockAccessKeyAuthAllOf.md
@@ -0,0 +1,15 @@
+# AwsBedrockAccessKeyAuthAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**access_key_id** | **str, none_type** | AWS Access Key ID. | [optional]
+**secret_access_key** | **str, none_type** | AWS Secret Access Key. | [optional]
+**session_token** | **str, none_type** | AWS Session Token (for temporary credentials). | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "ACCESS_KEY"
+**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/AwsBedrockProviderConfig.md b/gooddata-api-client/docs/AwsBedrockProviderConfig.md
new file mode 100644
index 000000000..e1c22ed57
--- /dev/null
+++ b/gooddata-api-client/docs/AwsBedrockProviderConfig.md
@@ -0,0 +1,15 @@
+# AwsBedrockProviderConfig
+
+Configuration for AWS Bedrock provider.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**auth** | [**BedrockProviderAuth**](BedrockProviderAuth.md) | |
+**region** | **str** | AWS region for Bedrock. |
+**type** | **str** | Provider type. | defaults to "AWS_BEDROCK"
+**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/AzureFoundryApiKeyAuth.md b/gooddata-api-client/docs/AzureFoundryApiKeyAuth.md
new file mode 100644
index 000000000..5c562b557
--- /dev/null
+++ b/gooddata-api-client/docs/AzureFoundryApiKeyAuth.md
@@ -0,0 +1,13 @@
+# AzureFoundryApiKeyAuth
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | Authentication type. | defaults to "API_KEY"
+**api_key** | **str, none_type** | Azure API key. | [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/AzureFoundryApiKeyAuthAllOf.md b/gooddata-api-client/docs/AzureFoundryApiKeyAuthAllOf.md
new file mode 100644
index 000000000..e95e2656d
--- /dev/null
+++ b/gooddata-api-client/docs/AzureFoundryApiKeyAuthAllOf.md
@@ -0,0 +1,13 @@
+# AzureFoundryApiKeyAuthAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**api_key** | **str, none_type** | Azure API key. | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "API_KEY"
+**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/AzureFoundryProviderAuth.md b/gooddata-api-client/docs/AzureFoundryProviderAuth.md
new file mode 100644
index 000000000..4744d526c
--- /dev/null
+++ b/gooddata-api-client/docs/AzureFoundryProviderAuth.md
@@ -0,0 +1,14 @@
+# AzureFoundryProviderAuth
+
+Authentication configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**api_key** | **str, none_type** | Azure API key. | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "API_KEY"
+**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/AzureFoundryProviderConfig.md b/gooddata-api-client/docs/AzureFoundryProviderConfig.md
new file mode 100644
index 000000000..08a6da0b6
--- /dev/null
+++ b/gooddata-api-client/docs/AzureFoundryProviderConfig.md
@@ -0,0 +1,15 @@
+# AzureFoundryProviderConfig
+
+Configuration for Azure Foundry provider.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**auth** | [**AzureFoundryProviderAuth**](AzureFoundryProviderAuth.md) | |
+**endpoint** | **str** | Azure AI inference endpoint URL. |
+**type** | **str** | Provider type. | defaults to "AZURE_FOUNDRY"
+**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/BedrockProviderAuth.md b/gooddata-api-client/docs/BedrockProviderAuth.md
new file mode 100644
index 000000000..c7e41575c
--- /dev/null
+++ b/gooddata-api-client/docs/BedrockProviderAuth.md
@@ -0,0 +1,16 @@
+# BedrockProviderAuth
+
+Authentication configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**access_key_id** | **str, none_type** | AWS Access Key ID. | [optional]
+**secret_access_key** | **str, none_type** | AWS Secret Access Key. | [optional]
+**session_token** | **str, none_type** | AWS Session Token (for temporary credentials). | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "ACCESS_KEY"
+**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/CertificationApi.md b/gooddata-api-client/docs/CertificationApi.md
new file mode 100644
index 000000000..e6536cb65
--- /dev/null
+++ b/gooddata-api-client/docs/CertificationApi.md
@@ -0,0 +1,82 @@
+# gooddata_api_client.CertificationApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**set_certification**](CertificationApi.md#set_certification) | **POST** /api/v1/actions/workspaces/{workspaceId}/setCertification | Set Certification
+
+
+# **set_certification**
+> set_certification(workspace_id, set_certification_request)
+
+Set Certification
+
+Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import certification_api
+from gooddata_api_client.model.set_certification_request import SetCertificationRequest
+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 = certification_api.CertificationApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ set_certification_request = SetCertificationRequest(
+ id="total-sales",
+ message="message_example",
+ status="CERTIFIED",
+ type="metric",
+ ) # SetCertificationRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Set Certification
+ api_instance.set_certification(workspace_id, set_certification_request)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CertificationApi->set_certification: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **set_certification_request** | [**SetCertificationRequest**](SetCertificationRequest.md)| |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: Not defined
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | No Content | - |
+
+[[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/ChangeAnalysisParamsFiltersInner.md b/gooddata-api-client/docs/ChangeAnalysisParamsFiltersInner.md
index 0f091de02..0c4ac924c 100644
--- a/gooddata-api-client/docs/ChangeAnalysisParamsFiltersInner.md
+++ b/gooddata-api-client/docs/ChangeAnalysisParamsFiltersInner.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**ranking_filter** | [**RankingFilterRankingFilter**](RankingFilterRankingFilter.md) | | [optional]
**absolute_date_filter** | [**AbsoluteDateFilterAbsoluteDateFilter**](AbsoluteDateFilterAbsoluteDateFilter.md) | | [optional]
**relative_date_filter** | [**RelativeDateFilterRelativeDateFilter**](RelativeDateFilterRelativeDateFilter.md) | | [optional]
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.md) | | [optional]
**negative_attribute_filter** | [**NegativeAttributeFilterNegativeAttributeFilter**](NegativeAttributeFilterNegativeAttributeFilter.md) | | [optional]
**positive_attribute_filter** | [**PositiveAttributeFilterPositiveAttributeFilter**](PositiveAttributeFilterPositiveAttributeFilter.md) | | [optional]
**match_attribute_filter** | [**MatchAttributeFilterMatchAttributeFilter**](MatchAttributeFilterMatchAttributeFilter.md) | | [optional]
diff --git a/gooddata-api-client/docs/ClusteringConfig.md b/gooddata-api-client/docs/ClusteringConfig.md
new file mode 100644
index 000000000..245f4a347
--- /dev/null
+++ b/gooddata-api-client/docs/ClusteringConfig.md
@@ -0,0 +1,14 @@
+# ClusteringConfig
+
+Clustering configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**number_of_clusters** | **int** | Number of clusters to create |
+**threshold** | **float** | Clustering algorithm threshold |
+**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/ComputationApi.md b/gooddata-api-client/docs/ComputationApi.md
index 5f5316d8d..e68210423 100644
--- a/gooddata-api-client/docs/ComputationApi.md
+++ b/gooddata-api-client/docs/ComputationApi.md
@@ -520,6 +520,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -740,6 +755,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -842,6 +872,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
diff --git a/gooddata-api-client/docs/CreateKnowledgeDocumentRequestDto.md b/gooddata-api-client/docs/CreateKnowledgeDocumentRequestDto.md
new file mode 100644
index 000000000..7fb5d2c15
--- /dev/null
+++ b/gooddata-api-client/docs/CreateKnowledgeDocumentRequestDto.md
@@ -0,0 +1,16 @@
+# CreateKnowledgeDocumentRequestDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**content** | **str** | |
+**filename** | **str** | |
+**page_boundaries** | **[int]** | | [optional]
+**scopes** | **[str]** | | [optional]
+**title** | **str** | | [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/CreateKnowledgeDocumentResponseDto.md b/gooddata-api-client/docs/CreateKnowledgeDocumentResponseDto.md
new file mode 100644
index 000000000..f06a7a5ed
--- /dev/null
+++ b/gooddata-api-client/docs/CreateKnowledgeDocumentResponseDto.md
@@ -0,0 +1,15 @@
+# CreateKnowledgeDocumentResponseDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**filename** | **str** | |
+**message** | **str** | |
+**num_chunks** | **int** | |
+**success** | **bool** | |
+**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/CreatedVisualization.md b/gooddata-api-client/docs/CreatedVisualization.md
index 66c0bf3e4..fc05128df 100644
--- a/gooddata-api-client/docs/CreatedVisualization.md
+++ b/gooddata-api-client/docs/CreatedVisualization.md
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
**suggestions** | [**[Suggestion]**](Suggestion.md) | Suggestions for next steps |
**title** | **str** | Proposed title of the new visualization |
**visualization_type** | **str** | Visualization type requested in question |
+**config** | [**VisualizationConfig**](VisualizationConfig.md) | | [optional]
**saved_visualization_id** | **str** | Saved visualization ID. | [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/DashboardDateFilterDateFilter.md b/gooddata-api-client/docs/DashboardDateFilterDateFilter.md
index 9e3b0428f..e76bad2c0 100644
--- a/gooddata-api-client/docs/DashboardDateFilterDateFilter.md
+++ b/gooddata-api-client/docs/DashboardDateFilterDateFilter.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**attribute** | [**IdentifierRef**](IdentifierRef.md) | | [optional]
**bounded_filter** | [**RelativeBoundedDateFilter**](RelativeBoundedDateFilter.md) | | [optional]
**data_set** | [**IdentifierRef**](IdentifierRef.md) | | [optional]
+**empty_value_handling** | **str** | | [optional]
**_from** | [**AacDashboardFilterFrom**](AacDashboardFilterFrom.md) | | [optional]
**local_identifier** | **str** | | [optional]
**to** | [**AacDashboardFilterFrom**](AacDashboardFilterFrom.md) | | [optional]
diff --git a/gooddata-api-client/docs/DashboardsApi.md b/gooddata-api-client/docs/DashboardsApi.md
index cb43af9e9..1f01d5637 100644
--- a/gooddata-api-client/docs/DashboardsApi.md
+++ b/gooddata-api-client/docs/DashboardsApi.md
@@ -57,7 +57,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiAnalyticalDashboardPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=permissions,origin,accessInfo,all",
@@ -217,7 +217,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -313,7 +313,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -418,7 +418,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -617,7 +617,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/DateFilter.md b/gooddata-api-client/docs/DateFilter.md
index 7efd449c4..20b25cb52 100644
--- a/gooddata-api-client/docs/DateFilter.md
+++ b/gooddata-api-client/docs/DateFilter.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**absolute_date_filter** | [**AbsoluteDateFilterAbsoluteDateFilter**](AbsoluteDateFilterAbsoluteDateFilter.md) | | [optional]
**relative_date_filter** | [**RelativeDateFilterRelativeDateFilter**](RelativeDateFilterRelativeDateFilter.md) | | [optional]
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.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/DeclarativeAnalyticalDashboard.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md
index bde1bb0a3..198df35f3 100644
--- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md
+++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md
@@ -7,6 +7,10 @@ Name | Type | Description | Notes
**content** | [**JsonNode**](JsonNode.md) | |
**id** | **str** | Analytical dashboard ID. |
**title** | **str** | Analytical dashboard title. |
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **str, none_type** | Time when the certification was set. | [optional]
+**certified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**created_at** | **str, none_type** | Time of the entity creation. | [optional]
**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**description** | **str** | Analytical dashboard description. | [optional]
diff --git a/gooddata-api-client/docs/DeclarativeMetric.md b/gooddata-api-client/docs/DeclarativeMetric.md
index 6fb1f5b7c..a068affcd 100644
--- a/gooddata-api-client/docs/DeclarativeMetric.md
+++ b/gooddata-api-client/docs/DeclarativeMetric.md
@@ -7,6 +7,10 @@ Name | Type | Description | Notes
**content** | [**JsonNode**](JsonNode.md) | |
**id** | **str** | Metric ID. |
**title** | **str** | Metric title. |
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **str, none_type** | Time when the certification was set. | [optional]
+**certified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**created_at** | **str, none_type** | Time of the entity creation. | [optional]
**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**description** | **str** | Metric description. | [optional]
diff --git a/gooddata-api-client/docs/DeclarativeVisualizationObject.md b/gooddata-api-client/docs/DeclarativeVisualizationObject.md
index b3e60dfc1..1a91a583e 100644
--- a/gooddata-api-client/docs/DeclarativeVisualizationObject.md
+++ b/gooddata-api-client/docs/DeclarativeVisualizationObject.md
@@ -7,6 +7,10 @@ Name | Type | Description | Notes
**content** | [**JsonNode**](JsonNode.md) | |
**id** | **str** | Visualization object ID. |
**title** | **str** | Visualization object title. |
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **str, none_type** | Time when the certification was set. | [optional]
+**certified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**created_at** | **str, none_type** | Time of the entity creation. | [optional]
**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional]
**description** | **str** | Visualization object description. | [optional]
diff --git a/gooddata-api-client/docs/DeleteKnowledgeDocumentResponseDto.md b/gooddata-api-client/docs/DeleteKnowledgeDocumentResponseDto.md
new file mode 100644
index 000000000..0f8d7a84d
--- /dev/null
+++ b/gooddata-api-client/docs/DeleteKnowledgeDocumentResponseDto.md
@@ -0,0 +1,13 @@
+# DeleteKnowledgeDocumentResponseDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**message** | **str** | |
+**success** | **bool** | |
+**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/DependencyGraphApi.md b/gooddata-api-client/docs/DependencyGraphApi.md
index 31c38aec2..8d7487368 100644
--- a/gooddata-api-client/docs/DependencyGraphApi.md
+++ b/gooddata-api-client/docs/DependencyGraphApi.md
@@ -111,6 +111,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="metric",
),
],
+ relation="DEPENDENTS",
) # DependentEntitiesRequest |
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/DependentEntitiesRequest.md b/gooddata-api-client/docs/DependentEntitiesRequest.md
index 248fd5953..df09341c2 100644
--- a/gooddata-api-client/docs/DependentEntitiesRequest.md
+++ b/gooddata-api-client/docs/DependentEntitiesRequest.md
@@ -5,6 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**identifiers** | [**[EntityIdentifier]**](EntityIdentifier.md) | |
+**relation** | **str** | Entity relation for graph traversal from the entry points. DEPENDENTS returns entities that depend on the entry points. DEPENDENCIES returns entities that the entry points depend on. | [optional] if omitted the server will use the default value of "DEPENDENTS"
**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/EntitiesApi.md b/gooddata-api-client/docs/EntitiesApi.md
index 9a6b6699f..6216829ff 100644
--- a/gooddata-api-client/docs/EntitiesApi.md
+++ b/gooddata-api-client/docs/EntitiesApi.md
@@ -22,6 +22,7 @@ Method | HTTP request | Description
[**create_entity_jwks**](EntitiesApi.md#create_entity_jwks) | **POST** /api/v1/entities/jwks | Post Jwks
[**create_entity_knowledge_recommendations**](EntitiesApi.md#create_entity_knowledge_recommendations) | **POST** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations |
[**create_entity_llm_endpoints**](EntitiesApi.md#create_entity_llm_endpoints) | **POST** /api/v1/entities/llmEndpoints | Post LLM endpoint entities
+[**create_entity_llm_providers**](EntitiesApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
[**create_entity_memory_items**](EntitiesApi.md#create_entity_memory_items) | **POST** /api/v1/entities/workspaces/{workspaceId}/memoryItems |
[**create_entity_metrics**](EntitiesApi.md#create_entity_metrics) | **POST** /api/v1/entities/workspaces/{workspaceId}/metrics | Post Metrics
[**create_entity_notification_channels**](EntitiesApi.md#create_entity_notification_channels) | **POST** /api/v1/entities/notificationChannels | Post Notification Channel entities
@@ -54,6 +55,7 @@ Method | HTTP request | Description
[**delete_entity_jwks**](EntitiesApi.md#delete_entity_jwks) | **DELETE** /api/v1/entities/jwks/{id} | Delete Jwk
[**delete_entity_knowledge_recommendations**](EntitiesApi.md#delete_entity_knowledge_recommendations) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
[**delete_entity_llm_endpoints**](EntitiesApi.md#delete_entity_llm_endpoints) | **DELETE** /api/v1/entities/llmEndpoints/{id} |
+[**delete_entity_llm_providers**](EntitiesApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
[**delete_entity_memory_items**](EntitiesApi.md#delete_entity_memory_items) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
[**delete_entity_metrics**](EntitiesApi.md#delete_entity_metrics) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Delete a Metric
[**delete_entity_notification_channels**](EntitiesApi.md#delete_entity_notification_channels) | **DELETE** /api/v1/entities/notificationChannels/{id} | Delete Notification Channel entity
@@ -94,6 +96,7 @@ Method | HTTP request | Description
[**get_all_entities_knowledge_recommendations**](EntitiesApi.md#get_all_entities_knowledge_recommendations) | **GET** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations |
[**get_all_entities_labels**](EntitiesApi.md#get_all_entities_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels | Get all Labels
[**get_all_entities_llm_endpoints**](EntitiesApi.md#get_all_entities_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints | Get all LLM endpoint entities
+[**get_all_entities_llm_providers**](EntitiesApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
[**get_all_entities_memory_items**](EntitiesApi.md#get_all_entities_memory_items) | **GET** /api/v1/entities/workspaces/{workspaceId}/memoryItems |
[**get_all_entities_metrics**](EntitiesApi.md#get_all_entities_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics | Get all Metrics
[**get_all_entities_notification_channel_identifiers**](EntitiesApi.md#get_all_entities_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers |
@@ -138,6 +141,7 @@ Method | HTTP request | Description
[**get_entity_knowledge_recommendations**](EntitiesApi.md#get_entity_knowledge_recommendations) | **GET** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
[**get_entity_labels**](EntitiesApi.md#get_entity_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Get a Label
[**get_entity_llm_endpoints**](EntitiesApi.md#get_entity_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints/{id} | Get LLM endpoint entity
+[**get_entity_llm_providers**](EntitiesApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
[**get_entity_memory_items**](EntitiesApi.md#get_entity_memory_items) | **GET** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
[**get_entity_metrics**](EntitiesApi.md#get_entity_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Get a Metric
[**get_entity_notification_channel_identifiers**](EntitiesApi.md#get_entity_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers/{id} |
@@ -178,6 +182,7 @@ Method | HTTP request | Description
[**patch_entity_knowledge_recommendations**](EntitiesApi.md#patch_entity_knowledge_recommendations) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
[**patch_entity_labels**](EntitiesApi.md#patch_entity_labels) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Patch a Label (beta)
[**patch_entity_llm_endpoints**](EntitiesApi.md#patch_entity_llm_endpoints) | **PATCH** /api/v1/entities/llmEndpoints/{id} | Patch LLM endpoint entity
+[**patch_entity_llm_providers**](EntitiesApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
[**patch_entity_memory_items**](EntitiesApi.md#patch_entity_memory_items) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
[**patch_entity_metrics**](EntitiesApi.md#patch_entity_metrics) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Patch a Metric
[**patch_entity_notification_channels**](EntitiesApi.md#patch_entity_notification_channels) | **PATCH** /api/v1/entities/notificationChannels/{id} | Patch Notification Channel entity
@@ -232,6 +237,7 @@ Method | HTTP request | Description
[**update_entity_jwks**](EntitiesApi.md#update_entity_jwks) | **PUT** /api/v1/entities/jwks/{id} | Put Jwk
[**update_entity_knowledge_recommendations**](EntitiesApi.md#update_entity_knowledge_recommendations) | **PUT** /api/v1/entities/workspaces/{workspaceId}/knowledgeRecommendations/{objectId} |
[**update_entity_llm_endpoints**](EntitiesApi.md#update_entity_llm_endpoints) | **PUT** /api/v1/entities/llmEndpoints/{id} | PUT LLM endpoint entity
+[**update_entity_llm_providers**](EntitiesApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
[**update_entity_memory_items**](EntitiesApi.md#update_entity_memory_items) | **PUT** /api/v1/entities/workspaces/{workspaceId}/memoryItems/{objectId} |
[**update_entity_metrics**](EntitiesApi.md#update_entity_metrics) | **PUT** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Put a Metric
[**update_entity_notification_channels**](EntitiesApi.md#update_entity_notification_channels) | **PUT** /api/v1/entities/notificationChannels/{id} | Put Notification Channel entity
@@ -293,7 +299,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiAnalyticalDashboardPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=permissions,origin,accessInfo,all",
@@ -672,6 +678,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -2189,6 +2210,91 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**201** | Request successfully processed | - |
+
+[[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_entity_llm_providers**
+> JsonApiLlmProviderOutDocument create_entity_llm_providers(json_api_llm_provider_in_document)
+
+Post LLM Provider entities
+
+LLM Provider - connection configuration for LLM services
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = entities_api.EntitiesApi(api_client)
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post LLM Provider entities
+ api_response = api_instance.create_entity_llm_providers(json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->create_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -2348,7 +2454,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiMetricPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -3064,7 +3170,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiVisualizationObjectPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -4816,7 +4922,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = entities_api.EntitiesApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -4833,6 +4939,79 @@ with gooddata_api_client.ApiClient() as api_client:
```
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: Not defined
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | Successfully deleted | - |
+
+[[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)
+
+# **delete_entity_llm_providers**
+> delete_entity_llm_providers(id)
+
+Delete LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_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 = entities_api.EntitiesApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->delete_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->delete_entity_llm_providers: %s\n" % e)
+```
+
+
### Parameters
Name | Type | Description | Notes
@@ -6109,7 +6288,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -8144,7 +8323,7 @@ configuration = gooddata_api_client.Configuration(
with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = entities_api.EntitiesApi(api_client)
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
sort = [
@@ -8189,6 +8368,84 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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_all_entities_llm_providers**
+> JsonApiLlmProviderOutList get_all_entities_llm_providers()
+
+Get all LLM Provider entities
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_api
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+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 = entities_api.EntitiesApi(api_client)
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
+ size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ meta_include = [
+ "metaInclude=page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all LLM Provider entities
+ api_response = api_instance.get_all_entities_llm_providers(filter=filter, page=page, size=size, sort=sort, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->get_all_entities_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+ **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0
+ **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20
+ **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional]
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutList**](JsonApiLlmProviderOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -8320,7 +8577,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -9159,7 +9416,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -9833,7 +10090,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -11816,7 +12073,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = entities_api.EntitiesApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -11858,6 +12115,82 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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_entity_llm_providers**
+> JsonApiLlmProviderOutDocument get_entity_llm_providers(id)
+
+Get LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+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 = entities_api.EntitiesApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->get_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->get_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -11981,7 +12314,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -12863,7 +13196,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -13382,7 +13715,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -13789,6 +14122,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -15735,7 +16083,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointPatchDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -15778,6 +16126,102 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **patch_entity_llm_providers**
+> JsonApiLlmProviderOutDocument patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+
+Patch LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
+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 = entities_api.EntitiesApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_patch_document = JsonApiLlmProviderPatchDocument(
+ data=JsonApiLlmProviderPatch(
+ attributes=JsonApiLlmProviderPatchAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderPatchDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->patch_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->patch_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_patch_document** | [**JsonApiLlmProviderPatchDocument**](JsonApiLlmProviderPatchDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -15939,7 +16383,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -16729,7 +17173,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -19411,7 +19855,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -19716,6 +20160,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -21371,7 +21830,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointInDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -21414,6 +21873,102 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **update_entity_llm_providers**
+> JsonApiLlmProviderOutDocument update_entity_llm_providers(id, json_api_llm_provider_in_document)
+
+PUT LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import entities_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = entities_api.EntitiesApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->update_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling EntitiesApi->update_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -21575,7 +22130,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -22455,7 +23010,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/FailedOperation.md b/gooddata-api-client/docs/FailedOperation.md
index 613d680e0..8f156850f 100644
--- a/gooddata-api-client/docs/FailedOperation.md
+++ b/gooddata-api-client/docs/FailedOperation.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | [**OperationError**](OperationError.md) | |
**id** | **str** | Id of the operation |
-**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. |
+**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. |
**status** | **str** | |
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
diff --git a/gooddata-api-client/docs/FilterDefinition.md b/gooddata-api-client/docs/FilterDefinition.md
index 30ada85c5..f4fcb4948 100644
--- a/gooddata-api-client/docs/FilterDefinition.md
+++ b/gooddata-api-client/docs/FilterDefinition.md
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
**compound_measure_value_filter** | [**CompoundMeasureValueFilterCompoundMeasureValueFilter**](CompoundMeasureValueFilterCompoundMeasureValueFilter.md) | | [optional]
**absolute_date_filter** | [**AbsoluteDateFilterAbsoluteDateFilter**](AbsoluteDateFilterAbsoluteDateFilter.md) | | [optional]
**relative_date_filter** | [**RelativeDateFilterRelativeDateFilter**](RelativeDateFilterRelativeDateFilter.md) | | [optional]
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.md) | | [optional]
**negative_attribute_filter** | [**NegativeAttributeFilterNegativeAttributeFilter**](NegativeAttributeFilterNegativeAttributeFilter.md) | | [optional]
**positive_attribute_filter** | [**PositiveAttributeFilterPositiveAttributeFilter**](PositiveAttributeFilterPositiveAttributeFilter.md) | | [optional]
**match_attribute_filter** | [**MatchAttributeFilterMatchAttributeFilter**](MatchAttributeFilterMatchAttributeFilter.md) | | [optional]
diff --git a/gooddata-api-client/docs/FilterDefinitionForSimpleMeasure.md b/gooddata-api-client/docs/FilterDefinitionForSimpleMeasure.md
index fcf923832..5826ccfce 100644
--- a/gooddata-api-client/docs/FilterDefinitionForSimpleMeasure.md
+++ b/gooddata-api-client/docs/FilterDefinitionForSimpleMeasure.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**absolute_date_filter** | [**AbsoluteDateFilterAbsoluteDateFilter**](AbsoluteDateFilterAbsoluteDateFilter.md) | | [optional]
**relative_date_filter** | [**RelativeDateFilterRelativeDateFilter**](RelativeDateFilterRelativeDateFilter.md) | | [optional]
+**all_time_date_filter** | [**AllTimeDateFilterAllTimeDateFilter**](AllTimeDateFilterAllTimeDateFilter.md) | | [optional]
**negative_attribute_filter** | [**NegativeAttributeFilterNegativeAttributeFilter**](NegativeAttributeFilterNegativeAttributeFilter.md) | | [optional]
**positive_attribute_filter** | [**PositiveAttributeFilterPositiveAttributeFilter**](PositiveAttributeFilterPositiveAttributeFilter.md) | | [optional]
**match_attribute_filter** | [**MatchAttributeFilterMatchAttributeFilter**](MatchAttributeFilterMatchAttributeFilter.md) | | [optional]
diff --git a/gooddata-api-client/docs/ForecastConfig.md b/gooddata-api-client/docs/ForecastConfig.md
new file mode 100644
index 000000000..f302b7a0e
--- /dev/null
+++ b/gooddata-api-client/docs/ForecastConfig.md
@@ -0,0 +1,15 @@
+# ForecastConfig
+
+Forecast configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**confidence_level** | **float** | Confidence interval boundary value. |
+**forecast_period** | **int** | Number of future periods that should be forecasted |
+**seasonal** | **bool** | Whether the input data is seasonal |
+**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/GenerateDescriptionRequest.md b/gooddata-api-client/docs/GenerateDescriptionRequest.md
new file mode 100644
index 000000000..ecb0e01a2
--- /dev/null
+++ b/gooddata-api-client/docs/GenerateDescriptionRequest.md
@@ -0,0 +1,13 @@
+# GenerateDescriptionRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**object_id** | **str** | Identifier of the object to describe |
+**object_type** | **str** | Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute |
+**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/GenerateDescriptionResponse.md b/gooddata-api-client/docs/GenerateDescriptionResponse.md
new file mode 100644
index 000000000..1836677eb
--- /dev/null
+++ b/gooddata-api-client/docs/GenerateDescriptionResponse.md
@@ -0,0 +1,13 @@
+# GenerateDescriptionResponse
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**description** | **str** | Generated description of the requested object | [optional]
+**note** | **str** | Additional note with details in case generation was not performed | [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/GenerateTitleRequest.md b/gooddata-api-client/docs/GenerateTitleRequest.md
new file mode 100644
index 000000000..573beaf60
--- /dev/null
+++ b/gooddata-api-client/docs/GenerateTitleRequest.md
@@ -0,0 +1,13 @@
+# GenerateTitleRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**object_id** | **str** | Identifier of the object to title |
+**object_type** | **str** | Type of the object to title. Matches chat-search object types. |
+**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/GenerateTitleResponse.md b/gooddata-api-client/docs/GenerateTitleResponse.md
new file mode 100644
index 000000000..6d960c5e6
--- /dev/null
+++ b/gooddata-api-client/docs/GenerateTitleResponse.md
@@ -0,0 +1,13 @@
+# GenerateTitleResponse
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**note** | **str** | Additional note with details in case generation was not performed | [optional]
+**title** | **str** | Generated title of the requested object | [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/GetAiLakeOperation200Response.md b/gooddata-api-client/docs/GetAiLakeOperation200Response.md
index a318e6bde..e977824e0 100644
--- a/gooddata-api-client/docs/GetAiLakeOperation200Response.md
+++ b/gooddata-api-client/docs/GetAiLakeOperation200Response.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**status** | **str** | |
**result** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Operation-specific result payload, can be missing for operations like delete | [optional]
**id** | **str** | Id of the operation | [optional]
-**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. | [optional]
+**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. | [optional]
**error** | [**OperationError**](OperationError.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/JsonApiAnalyticalDashboardOutAttributes.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md
index f845db7fc..2242a3828 100644
--- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md
+++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md
@@ -6,6 +6,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Free-form JSON content. Maximum supported length is 250000 characters. |
**are_relations_valid** | **bool** | | [optional]
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **datetime, none_type** | Time when the certification was set. | [optional]
**created_at** | **datetime, none_type** | Time of the entity creation. | [optional]
**description** | **str** | | [optional]
**modified_at** | **datetime, none_type** | Time of the last entity modification. | [optional]
diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md
index 268c5c89d..dff60916e 100644
--- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md
@@ -5,13 +5,14 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**analytical_dashboards** | [**JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards**](JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**certified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**dashboard_plugins** | [**JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins**](JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md) | | [optional]
**datasets** | [**JsonApiAnalyticalDashboardOutRelationshipsDatasets**](JsonApiAnalyticalDashboardOutRelationshipsDatasets.md) | | [optional]
**filter_contexts** | [**JsonApiAnalyticalDashboardOutRelationshipsFilterContexts**](JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md) | | [optional]
**labels** | [**JsonApiAnalyticalDashboardOutRelationshipsLabels**](JsonApiAnalyticalDashboardOutRelationshipsLabels.md) | | [optional]
**metrics** | [**JsonApiAnalyticalDashboardOutRelationshipsMetrics**](JsonApiAnalyticalDashboardOutRelationshipsMetrics.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**visualization_objects** | [**JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects**](JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects.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/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md
similarity index 90%
rename from gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md
rename to gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md
index 93256df3f..75de4af52 100644
--- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md
+++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md
@@ -1,4 +1,4 @@
-# JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+# JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
## Properties
diff --git a/gooddata-api-client/docs/JsonApiAttributeHierarchyOutRelationships.md b/gooddata-api-client/docs/JsonApiAttributeHierarchyOutRelationships.md
index 4da316af7..e3118acc6 100644
--- a/gooddata-api-client/docs/JsonApiAttributeHierarchyOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiAttributeHierarchyOutRelationships.md
@@ -5,8 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**attributes** | [**JsonApiAttributeHierarchyOutRelationshipsAttributes**](JsonApiAttributeHierarchyOutRelationshipsAttributes.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.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/JsonApiAutomationOutRelationships.md b/gooddata-api-client/docs/JsonApiAutomationOutRelationships.md
index faec77979..2ed42226a 100644
--- a/gooddata-api-client/docs/JsonApiAutomationOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiAutomationOutRelationships.md
@@ -6,9 +6,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**analytical_dashboard** | [**JsonApiAutomationInRelationshipsAnalyticalDashboard**](JsonApiAutomationInRelationshipsAnalyticalDashboard.md) | | [optional]
**automation_results** | [**JsonApiAutomationOutRelationshipsAutomationResults**](JsonApiAutomationOutRelationshipsAutomationResults.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**export_definitions** | [**JsonApiAutomationInRelationshipsExportDefinitions**](JsonApiAutomationInRelationshipsExportDefinitions.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**notification_channel** | [**JsonApiAutomationInRelationshipsNotificationChannel**](JsonApiAutomationInRelationshipsNotificationChannel.md) | | [optional]
**recipients** | [**JsonApiAutomationInRelationshipsRecipients**](JsonApiAutomationInRelationshipsRecipients.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/JsonApiDashboardPluginOutRelationships.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md
index 95ca9ce8b..c5767fa81 100644
--- a/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md
@@ -4,8 +4,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.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/JsonApiExportDefinitionOutRelationships.md b/gooddata-api-client/docs/JsonApiExportDefinitionOutRelationships.md
index 602cbb550..8dbce6fc9 100644
--- a/gooddata-api-client/docs/JsonApiExportDefinitionOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiExportDefinitionOutRelationships.md
@@ -6,8 +6,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**analytical_dashboard** | [**JsonApiAutomationInRelationshipsAnalyticalDashboard**](JsonApiAutomationInRelationshipsAnalyticalDashboard.md) | | [optional]
**automation** | [**JsonApiAutomationResultOutRelationshipsAutomation**](JsonApiAutomationResultOutRelationshipsAutomation.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**visualization_object** | [**JsonApiExportDefinitionInRelationshipsVisualizationObject**](JsonApiExportDefinitionInRelationshipsVisualizationObject.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/JsonApiLlmProviderIn.md b/gooddata-api-client/docs/JsonApiLlmProviderIn.md
new file mode 100644
index 000000000..fa9f062c2
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderIn.md
@@ -0,0 +1,15 @@
+# JsonApiLlmProviderIn
+
+LLM Provider configuration for connecting to LLM services.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**attributes** | [**JsonApiLlmProviderInAttributes**](JsonApiLlmProviderInAttributes.md) | |
+**id** | **str** | API identifier of an object |
+**type** | **str** | Object type | defaults to "llmProvider"
+**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/JsonApiLlmProviderInAttributes.md b/gooddata-api-client/docs/JsonApiLlmProviderInAttributes.md
new file mode 100644
index 000000000..885d9995d
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderInAttributes.md
@@ -0,0 +1,16 @@
+# JsonApiLlmProviderInAttributes
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**models** | [**[JsonApiLlmProviderInAttributesModelsInner], none_type**](JsonApiLlmProviderInAttributesModelsInner.md) | List of LLM models available for this provider. |
+**provider_config** | [**JsonApiLlmProviderInAttributesProviderConfig**](JsonApiLlmProviderInAttributesProviderConfig.md) | |
+**default_model_id** | **str, none_type** | ID of the default model to use from the models list. | [optional]
+**description** | **str, none_type** | Description of the LLM Provider. | [optional]
+**name** | **str, none_type** | | [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/JsonApiLlmProviderInAttributesModelsInner.md b/gooddata-api-client/docs/JsonApiLlmProviderInAttributesModelsInner.md
new file mode 100644
index 000000000..d15e8183b
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderInAttributesModelsInner.md
@@ -0,0 +1,14 @@
+# JsonApiLlmProviderInAttributesModelsInner
+
+LLM Model configuration (id, family) within a provider.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**family** | **str** | Family of LLM models. |
+**id** | **str** | Unique identifier of the model (e.g., gpt-5.3, claude-4.6). |
+**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/JsonApiLlmProviderInAttributesProviderConfig.md b/gooddata-api-client/docs/JsonApiLlmProviderInAttributesProviderConfig.md
new file mode 100644
index 000000000..40e1a6639
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderInAttributesProviderConfig.md
@@ -0,0 +1,18 @@
+# JsonApiLlmProviderInAttributesProviderConfig
+
+Provider-specific configuration including authentication.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**base_url** | **str, none_type** | Custom base URL for OpenAI API. | [optional] if omitted the server will use the default value of "https://api.openai.com"
+**organization** | **str, none_type** | OpenAI organization ID. | [optional]
+**auth** | [**OpenAiProviderAuth**](OpenAiProviderAuth.md) | | [optional]
+**region** | **str** | AWS region for Bedrock. | [optional]
+**type** | **str** | Provider type. | [optional] if omitted the server will use the default value of "OPENAI"
+**endpoint** | **str** | Azure AI inference endpoint URL. | [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/JsonApiLlmProviderInDocument.md b/gooddata-api-client/docs/JsonApiLlmProviderInDocument.md
new file mode 100644
index 000000000..a07835e80
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderInDocument.md
@@ -0,0 +1,12 @@
+# JsonApiLlmProviderInDocument
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**JsonApiLlmProviderIn**](JsonApiLlmProviderIn.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/JsonApiLlmProviderOut.md b/gooddata-api-client/docs/JsonApiLlmProviderOut.md
new file mode 100644
index 000000000..3c0fa41cf
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderOut.md
@@ -0,0 +1,15 @@
+# JsonApiLlmProviderOut
+
+LLM Provider configuration for connecting to LLM services.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**attributes** | [**JsonApiLlmProviderInAttributes**](JsonApiLlmProviderInAttributes.md) | |
+**id** | **str** | API identifier of an object |
+**type** | **str** | Object type | defaults to "llmProvider"
+**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/JsonApiLlmProviderOutDocument.md b/gooddata-api-client/docs/JsonApiLlmProviderOutDocument.md
new file mode 100644
index 000000000..b8c75d048
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderOutDocument.md
@@ -0,0 +1,13 @@
+# JsonApiLlmProviderOutDocument
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**JsonApiLlmProviderOut**](JsonApiLlmProviderOut.md) | |
+**links** | [**ObjectLinks**](ObjectLinks.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/JsonApiLlmProviderOutList.md b/gooddata-api-client/docs/JsonApiLlmProviderOutList.md
new file mode 100644
index 000000000..6939df401
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderOutList.md
@@ -0,0 +1,15 @@
+# JsonApiLlmProviderOutList
+
+A JSON:API document with a list of resources
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**[JsonApiLlmProviderOutWithLinks]**](JsonApiLlmProviderOutWithLinks.md) | |
+**links** | [**ListLinks**](ListLinks.md) | | [optional]
+**meta** | [**JsonApiAggregatedFactOutListMeta**](JsonApiAggregatedFactOutListMeta.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/JsonApiLlmProviderOutWithLinks.md b/gooddata-api-client/docs/JsonApiLlmProviderOutWithLinks.md
new file mode 100644
index 000000000..0e2c3684c
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderOutWithLinks.md
@@ -0,0 +1,15 @@
+# JsonApiLlmProviderOutWithLinks
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**attributes** | [**JsonApiLlmProviderInAttributes**](JsonApiLlmProviderInAttributes.md) | |
+**id** | **str** | API identifier of an object |
+**type** | **str** | Object type | defaults to "llmProvider"
+**links** | [**ObjectLinks**](ObjectLinks.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/JsonApiLlmProviderPatch.md b/gooddata-api-client/docs/JsonApiLlmProviderPatch.md
new file mode 100644
index 000000000..3c6b83a09
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderPatch.md
@@ -0,0 +1,15 @@
+# JsonApiLlmProviderPatch
+
+LLM Provider configuration for connecting to LLM services.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**attributes** | [**JsonApiLlmProviderPatchAttributes**](JsonApiLlmProviderPatchAttributes.md) | |
+**id** | **str** | API identifier of an object |
+**type** | **str** | Object type | defaults to "llmProvider"
+**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/JsonApiLlmProviderPatchAttributes.md b/gooddata-api-client/docs/JsonApiLlmProviderPatchAttributes.md
new file mode 100644
index 000000000..2d7c3d4a1
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderPatchAttributes.md
@@ -0,0 +1,16 @@
+# JsonApiLlmProviderPatchAttributes
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**default_model_id** | **str, none_type** | ID of the default model to use from the models list. | [optional]
+**description** | **str, none_type** | Description of the LLM Provider. | [optional]
+**models** | [**[JsonApiLlmProviderInAttributesModelsInner], none_type**](JsonApiLlmProviderInAttributesModelsInner.md) | List of LLM models available for this provider. | [optional]
+**name** | **str, none_type** | | [optional]
+**provider_config** | [**JsonApiLlmProviderInAttributesProviderConfig**](JsonApiLlmProviderInAttributesProviderConfig.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/JsonApiLlmProviderPatchDocument.md b/gooddata-api-client/docs/JsonApiLlmProviderPatchDocument.md
new file mode 100644
index 000000000..061e8f1f5
--- /dev/null
+++ b/gooddata-api-client/docs/JsonApiLlmProviderPatchDocument.md
@@ -0,0 +1,12 @@
+# JsonApiLlmProviderPatchDocument
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**JsonApiLlmProviderPatch**](JsonApiLlmProviderPatch.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/JsonApiMetricOutAttributes.md b/gooddata-api-client/docs/JsonApiMetricOutAttributes.md
index 63d76ef31..fb550c7df 100644
--- a/gooddata-api-client/docs/JsonApiMetricOutAttributes.md
+++ b/gooddata-api-client/docs/JsonApiMetricOutAttributes.md
@@ -6,6 +6,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | [**JsonApiMetricInAttributesContent**](JsonApiMetricInAttributesContent.md) | |
**are_relations_valid** | **bool** | | [optional]
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **datetime, none_type** | Time when the certification was set. | [optional]
**created_at** | **datetime, none_type** | Time of the entity creation. | [optional]
**description** | **str** | | [optional]
**is_hidden** | **bool** | | [optional]
diff --git a/gooddata-api-client/docs/JsonApiMetricOutRelationships.md b/gooddata-api-client/docs/JsonApiMetricOutRelationships.md
index 995bc4892..5ee6072a2 100644
--- a/gooddata-api-client/docs/JsonApiMetricOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiMetricOutRelationships.md
@@ -5,12 +5,13 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**attributes** | [**JsonApiAttributeHierarchyOutRelationshipsAttributes**](JsonApiAttributeHierarchyOutRelationshipsAttributes.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**certified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**datasets** | [**JsonApiAnalyticalDashboardOutRelationshipsDatasets**](JsonApiAnalyticalDashboardOutRelationshipsDatasets.md) | | [optional]
**facts** | [**JsonApiDatasetOutRelationshipsFacts**](JsonApiDatasetOutRelationshipsFacts.md) | | [optional]
**labels** | [**JsonApiAnalyticalDashboardOutRelationshipsLabels**](JsonApiAnalyticalDashboardOutRelationshipsLabels.md) | | [optional]
**metrics** | [**JsonApiAnalyticalDashboardOutRelationshipsMetrics**](JsonApiAnalyticalDashboardOutRelationshipsMetrics.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.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/JsonApiVisualizationObjectOutAttributes.md b/gooddata-api-client/docs/JsonApiVisualizationObjectOutAttributes.md
index 3e1da6b2d..75b77ebf6 100644
--- a/gooddata-api-client/docs/JsonApiVisualizationObjectOutAttributes.md
+++ b/gooddata-api-client/docs/JsonApiVisualizationObjectOutAttributes.md
@@ -6,6 +6,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Free-form JSON content. Maximum supported length is 250000 characters. |
**are_relations_valid** | **bool** | | [optional]
+**certification** | **str** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**certification_message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**certified_at** | **datetime, none_type** | Time when the certification was set. | [optional]
**created_at** | **datetime, none_type** | Time of the entity creation. | [optional]
**description** | **str** | | [optional]
**is_hidden** | **bool** | | [optional]
diff --git a/gooddata-api-client/docs/JsonApiWorkspaceAutomationOutRelationships.md b/gooddata-api-client/docs/JsonApiWorkspaceAutomationOutRelationships.md
index 5a7432f3c..f0679bc03 100644
--- a/gooddata-api-client/docs/JsonApiWorkspaceAutomationOutRelationships.md
+++ b/gooddata-api-client/docs/JsonApiWorkspaceAutomationOutRelationships.md
@@ -6,9 +6,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**analytical_dashboard** | [**JsonApiAutomationInRelationshipsAnalyticalDashboard**](JsonApiAutomationInRelationshipsAnalyticalDashboard.md) | | [optional]
**automation_results** | [**JsonApiAutomationOutRelationshipsAutomationResults**](JsonApiAutomationOutRelationshipsAutomationResults.md) | | [optional]
-**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**export_definitions** | [**JsonApiAutomationInRelationshipsExportDefinitions**](JsonApiAutomationInRelationshipsExportDefinitions.md) | | [optional]
-**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional]
+**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy**](JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy.md) | | [optional]
**notification_channel** | [**JsonApiAutomationInRelationshipsNotificationChannel**](JsonApiAutomationInRelationshipsNotificationChannel.md) | | [optional]
**recipients** | [**JsonApiAutomationInRelationshipsRecipients**](JsonApiAutomationInRelationshipsRecipients.md) | | [optional]
**workspace** | [**JsonApiWorkspaceAutomationOutRelationshipsWorkspace**](JsonApiWorkspaceAutomationOutRelationshipsWorkspace.md) | | [optional]
diff --git a/gooddata-api-client/docs/KnowledgeDocumentMetadataDto.md b/gooddata-api-client/docs/KnowledgeDocumentMetadataDto.md
new file mode 100644
index 000000000..506d460bc
--- /dev/null
+++ b/gooddata-api-client/docs/KnowledgeDocumentMetadataDto.md
@@ -0,0 +1,21 @@
+# KnowledgeDocumentMetadataDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**created_at** | **str** | |
+**created_by** | **str** | |
+**filename** | **str** | |
+**num_chunks** | **int** | |
+**scopes** | **[str]** | |
+**updated_at** | **str** | |
+**updated_by** | **str** | |
+**is_disabled** | **bool** | | [optional]
+**title** | **str** | | [optional]
+**workspace_id** | **str** | | [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/KnowledgeSearchResultDto.md b/gooddata-api-client/docs/KnowledgeSearchResultDto.md
new file mode 100644
index 000000000..7e68dddbe
--- /dev/null
+++ b/gooddata-api-client/docs/KnowledgeSearchResultDto.md
@@ -0,0 +1,20 @@
+# KnowledgeSearchResultDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**chunk_index** | **int** | |
+**content** | **str** | |
+**filename** | **str** | |
+**page_numbers** | **[int]** | |
+**scopes** | **[str]** | |
+**score** | **float** | |
+**total_chunks** | **int** | |
+**title** | **str** | | [optional]
+**workspace_id** | **str** | | [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/LLMEndpointsApi.md b/gooddata-api-client/docs/LLMEndpointsApi.md
index 31a56d9d6..e81130cf2 100644
--- a/gooddata-api-client/docs/LLMEndpointsApi.md
+++ b/gooddata-api-client/docs/LLMEndpointsApi.md
@@ -116,7 +116,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = llm_endpoints_api.LLMEndpointsApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -187,7 +187,7 @@ configuration = gooddata_api_client.Configuration(
with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = llm_endpoints_api.LLMEndpointsApi(api_client)
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
sort = [
@@ -266,7 +266,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = llm_endpoints_api.LLMEndpointsApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -357,7 +357,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointPatchDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -449,7 +449,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointInDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
diff --git a/gooddata-api-client/docs/LLMProvidersApi.md b/gooddata-api-client/docs/LLMProvidersApi.md
new file mode 100644
index 000000000..fc7558260
--- /dev/null
+++ b/gooddata-api-client/docs/LLMProvidersApi.md
@@ -0,0 +1,518 @@
+# gooddata_api_client.LLMProvidersApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_llm_providers**](LLMProvidersApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
+[**delete_entity_llm_providers**](LLMProvidersApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
+[**get_all_entities_llm_providers**](LLMProvidersApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
+[**get_entity_llm_providers**](LLMProvidersApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
+[**patch_entity_llm_providers**](LLMProvidersApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
+[**update_entity_llm_providers**](LLMProvidersApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
+
+
+# **create_entity_llm_providers**
+> JsonApiLlmProviderOutDocument create_entity_llm_providers(json_api_llm_provider_in_document)
+
+Post LLM Provider entities
+
+LLM Provider - connection configuration for LLM services
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = llm_providers_api.LLMProvidersApi(api_client)
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post LLM Provider entities
+ api_response = api_instance.create_entity_llm_providers(json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->create_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**201** | Request successfully processed | - |
+
+[[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)
+
+# **delete_entity_llm_providers**
+> delete_entity_llm_providers(id)
+
+Delete LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_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 = llm_providers_api.LLMProvidersApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->delete_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->delete_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: Not defined
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | Successfully deleted | - |
+
+[[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_all_entities_llm_providers**
+> JsonApiLlmProviderOutList get_all_entities_llm_providers()
+
+Get all LLM Provider entities
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_api
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+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 = llm_providers_api.LLMProvidersApi(api_client)
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
+ size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ meta_include = [
+ "metaInclude=page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all LLM Provider entities
+ api_response = api_instance.get_all_entities_llm_providers(filter=filter, page=page, size=size, sort=sort, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->get_all_entities_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+ **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0
+ **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20
+ **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional]
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutList**](JsonApiLlmProviderOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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_entity_llm_providers**
+> JsonApiLlmProviderOutDocument get_entity_llm_providers(id)
+
+Get LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+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 = llm_providers_api.LLMProvidersApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->get_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->get_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **patch_entity_llm_providers**
+> JsonApiLlmProviderOutDocument patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+
+Patch LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
+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 = llm_providers_api.LLMProvidersApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_patch_document = JsonApiLlmProviderPatchDocument(
+ data=JsonApiLlmProviderPatch(
+ attributes=JsonApiLlmProviderPatchAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderPatchDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->patch_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->patch_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_patch_document** | [**JsonApiLlmProviderPatchDocument**](JsonApiLlmProviderPatchDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **update_entity_llm_providers**
+> JsonApiLlmProviderOutDocument update_entity_llm_providers(id, json_api_llm_provider_in_document)
+
+PUT LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import llm_providers_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = llm_providers_api.LLMProvidersApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->update_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LLMProvidersApi->update_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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/LayoutApi.md b/gooddata-api-client/docs/LayoutApi.md
index 31aabbfe3..d8986cb7d 100644
--- a/gooddata-api-client/docs/LayoutApi.md
+++ b/gooddata-api-client/docs/LayoutApi.md
@@ -2005,6 +2005,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -2029,14 +2036,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2048,14 +2055,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2066,14 +2073,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2118,8 +2125,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2128,7 +2142,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2139,8 +2153,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2148,7 +2169,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2414,6 +2435,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -2438,14 +2466,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2457,14 +2485,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2475,14 +2503,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2527,8 +2555,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2537,7 +2572,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2548,8 +2583,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2557,7 +2599,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -2784,6 +2826,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -4195,6 +4252,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -4367,6 +4439,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -4391,14 +4470,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4410,14 +4489,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4428,14 +4507,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4480,8 +4559,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4490,7 +4576,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4501,8 +4587,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -4510,7 +4603,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5474,6 +5567,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -5646,6 +5754,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -5670,14 +5785,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5689,14 +5804,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5707,14 +5822,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5759,8 +5874,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5769,7 +5891,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5780,8 +5902,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -5789,7 +5918,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
diff --git a/gooddata-api-client/docs/ListDatabaseInstancesResponse.md b/gooddata-api-client/docs/ListDatabaseInstancesResponse.md
new file mode 100644
index 000000000..d9c4f53d3
--- /dev/null
+++ b/gooddata-api-client/docs/ListDatabaseInstancesResponse.md
@@ -0,0 +1,14 @@
+# ListDatabaseInstancesResponse
+
+Paged response for listing AI Lake database instances
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**databases** | [**[DatabaseInstance]**](DatabaseInstance.md) | List of database instances |
+**total_count** | **int** | Total count of items (only set when metaInclude=page) | [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/ListKnowledgeDocumentsResponseDto.md b/gooddata-api-client/docs/ListKnowledgeDocumentsResponseDto.md
new file mode 100644
index 000000000..4098dc245
--- /dev/null
+++ b/gooddata-api-client/docs/ListKnowledgeDocumentsResponseDto.md
@@ -0,0 +1,14 @@
+# ListKnowledgeDocumentsResponseDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**documents** | [**[KnowledgeDocumentMetadataDto]**](KnowledgeDocumentMetadataDto.md) | |
+**next_page_token** | **str** | | [optional]
+**total_count** | **int** | | [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/ListServicesResponse.md b/gooddata-api-client/docs/ListServicesResponse.md
new file mode 100644
index 000000000..3ff4a9565
--- /dev/null
+++ b/gooddata-api-client/docs/ListServicesResponse.md
@@ -0,0 +1,14 @@
+# ListServicesResponse
+
+Paged response for listing AI Lake services
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**services** | [**[ServiceInfo]**](ServiceInfo.md) | List of services |
+**total_count** | **int** | Total count of items (only set when metaInclude=page) | [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/LlmModel.md b/gooddata-api-client/docs/LlmModel.md
new file mode 100644
index 000000000..acec0a1e7
--- /dev/null
+++ b/gooddata-api-client/docs/LlmModel.md
@@ -0,0 +1,14 @@
+# LlmModel
+
+LLM Model configuration (id, family) within a provider.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**family** | **str** | Family of LLM models. |
+**id** | **str** | Unique identifier of the model (e.g., gpt-5.3, claude-4.6). |
+**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/LlmProviderAuth.md b/gooddata-api-client/docs/LlmProviderAuth.md
new file mode 100644
index 000000000..814d9fd14
--- /dev/null
+++ b/gooddata-api-client/docs/LlmProviderAuth.md
@@ -0,0 +1,12 @@
+# LlmProviderAuth
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | |
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/gooddata-api-client/docs/LlmProviderConfig.md b/gooddata-api-client/docs/LlmProviderConfig.md
new file mode 100644
index 000000000..9ce5198f8
--- /dev/null
+++ b/gooddata-api-client/docs/LlmProviderConfig.md
@@ -0,0 +1,18 @@
+# LlmProviderConfig
+
+Provider configuration to test.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**base_url** | **str, none_type** | Custom base URL for OpenAI API. | [optional] if omitted the server will use the default value of "https://api.openai.com"
+**organization** | **str, none_type** | OpenAI organization ID. | [optional]
+**auth** | [**OpenAiProviderAuth**](OpenAiProviderAuth.md) | | [optional]
+**region** | **str** | AWS region for Bedrock. | [optional]
+**type** | **str** | Provider type. | [optional] if omitted the server will use the default value of "OPENAI"
+**endpoint** | **str** | Azure AI inference endpoint URL. | [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/MetricDefinitionOverride.md b/gooddata-api-client/docs/MetricDefinitionOverride.md
new file mode 100644
index 000000000..899acb22c
--- /dev/null
+++ b/gooddata-api-client/docs/MetricDefinitionOverride.md
@@ -0,0 +1,14 @@
+# MetricDefinitionOverride
+
+(EXPERIMENTAL) Override for a catalog metric definition.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**definition** | [**InlineMeasureDefinition**](InlineMeasureDefinition.md) | |
+**item** | [**AfmObjectIdentifierCore**](AfmObjectIdentifierCore.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/MetricsApi.md b/gooddata-api-client/docs/MetricsApi.md
index 045dedafb..18eddb5b3 100644
--- a/gooddata-api-client/docs/MetricsApi.md
+++ b/gooddata-api-client/docs/MetricsApi.md
@@ -62,7 +62,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiMetricPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -222,7 +222,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -318,7 +318,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -428,7 +428,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -632,7 +632,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/ModelTestResult.md b/gooddata-api-client/docs/ModelTestResult.md
new file mode 100644
index 000000000..58ad0349e
--- /dev/null
+++ b/gooddata-api-client/docs/ModelTestResult.md
@@ -0,0 +1,15 @@
+# ModelTestResult
+
+Per-model test results.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**message** | **str** | Message about the model test result. |
+**model_id** | **str** | The model ID that was tested. |
+**successful** | **bool** | Whether the model test was successful. |
+**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/OpenAIProviderConfig.md b/gooddata-api-client/docs/OpenAIProviderConfig.md
new file mode 100644
index 000000000..aa6fa09ae
--- /dev/null
+++ b/gooddata-api-client/docs/OpenAIProviderConfig.md
@@ -0,0 +1,16 @@
+# OpenAIProviderConfig
+
+Configuration for OpenAI provider.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**auth** | [**OpenAiProviderAuth**](OpenAiProviderAuth.md) | |
+**type** | **str** | Provider type. | defaults to "OPENAI"
+**base_url** | **str, none_type** | Custom base URL for OpenAI API. | [optional] if omitted the server will use the default value of "https://api.openai.com"
+**organization** | **str, none_type** | OpenAI organization ID. | [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/OpenAiApiKeyAuth.md b/gooddata-api-client/docs/OpenAiApiKeyAuth.md
new file mode 100644
index 000000000..64cdbd71b
--- /dev/null
+++ b/gooddata-api-client/docs/OpenAiApiKeyAuth.md
@@ -0,0 +1,13 @@
+# OpenAiApiKeyAuth
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | Authentication type. | defaults to "API_KEY"
+**api_key** | **str, none_type** | OpenAI API key. | [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/OpenAiApiKeyAuthAllOf.md b/gooddata-api-client/docs/OpenAiApiKeyAuthAllOf.md
new file mode 100644
index 000000000..248605c56
--- /dev/null
+++ b/gooddata-api-client/docs/OpenAiApiKeyAuthAllOf.md
@@ -0,0 +1,13 @@
+# OpenAiApiKeyAuthAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**api_key** | **str, none_type** | OpenAI API key. | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "API_KEY"
+**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/OpenAiProviderAuth.md b/gooddata-api-client/docs/OpenAiProviderAuth.md
new file mode 100644
index 000000000..7ac39a634
--- /dev/null
+++ b/gooddata-api-client/docs/OpenAiProviderAuth.md
@@ -0,0 +1,14 @@
+# OpenAiProviderAuth
+
+Authentication configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**api_key** | **str, none_type** | OpenAI API key. | [optional]
+**type** | **str** | Authentication type. | [optional] if omitted the server will use the default value of "API_KEY"
+**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/Operation.md b/gooddata-api-client/docs/Operation.md
index 7ef5c6987..0cee4f156 100644
--- a/gooddata-api-client/docs/Operation.md
+++ b/gooddata-api-client/docs/Operation.md
@@ -6,7 +6,7 @@ Represents a Long-Running Operation: a process that takes some time to complete.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | Id of the operation |
-**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. |
+**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. |
**status** | **str** | |
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
diff --git a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md
index 943241de0..48d280bbe 100644
--- a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md
+++ b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md
@@ -687,6 +687,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -859,6 +874,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -883,14 +905,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -902,14 +924,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -920,14 +942,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -972,8 +994,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -982,7 +1011,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -993,8 +1022,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1002,7 +1038,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
diff --git a/gooddata-api-client/docs/OrganizationModelControllerApi.md b/gooddata-api-client/docs/OrganizationModelControllerApi.md
index a2abc8a40..ef07ba041 100644
--- a/gooddata-api-client/docs/OrganizationModelControllerApi.md
+++ b/gooddata-api-client/docs/OrganizationModelControllerApi.md
@@ -12,6 +12,7 @@ Method | HTTP request | Description
[**create_entity_identity_providers**](OrganizationModelControllerApi.md#create_entity_identity_providers) | **POST** /api/v1/entities/identityProviders | Post Identity Providers
[**create_entity_jwks**](OrganizationModelControllerApi.md#create_entity_jwks) | **POST** /api/v1/entities/jwks | Post Jwks
[**create_entity_llm_endpoints**](OrganizationModelControllerApi.md#create_entity_llm_endpoints) | **POST** /api/v1/entities/llmEndpoints | Post LLM endpoint entities
+[**create_entity_llm_providers**](OrganizationModelControllerApi.md#create_entity_llm_providers) | **POST** /api/v1/entities/llmProviders | Post LLM Provider entities
[**create_entity_notification_channels**](OrganizationModelControllerApi.md#create_entity_notification_channels) | **POST** /api/v1/entities/notificationChannels | Post Notification Channel entities
[**create_entity_organization_settings**](OrganizationModelControllerApi.md#create_entity_organization_settings) | **POST** /api/v1/entities/organizationSettings | Post Organization Setting entities
[**create_entity_themes**](OrganizationModelControllerApi.md#create_entity_themes) | **POST** /api/v1/entities/themes | Post Theming
@@ -26,6 +27,7 @@ Method | HTTP request | Description
[**delete_entity_identity_providers**](OrganizationModelControllerApi.md#delete_entity_identity_providers) | **DELETE** /api/v1/entities/identityProviders/{id} | Delete Identity Provider
[**delete_entity_jwks**](OrganizationModelControllerApi.md#delete_entity_jwks) | **DELETE** /api/v1/entities/jwks/{id} | Delete Jwk
[**delete_entity_llm_endpoints**](OrganizationModelControllerApi.md#delete_entity_llm_endpoints) | **DELETE** /api/v1/entities/llmEndpoints/{id} |
+[**delete_entity_llm_providers**](OrganizationModelControllerApi.md#delete_entity_llm_providers) | **DELETE** /api/v1/entities/llmProviders/{id} | Delete LLM Provider entity
[**delete_entity_notification_channels**](OrganizationModelControllerApi.md#delete_entity_notification_channels) | **DELETE** /api/v1/entities/notificationChannels/{id} | Delete Notification Channel entity
[**delete_entity_organization_settings**](OrganizationModelControllerApi.md#delete_entity_organization_settings) | **DELETE** /api/v1/entities/organizationSettings/{id} | Delete Organization entity
[**delete_entity_themes**](OrganizationModelControllerApi.md#delete_entity_themes) | **DELETE** /api/v1/entities/themes/{id} | Delete Theming
@@ -42,6 +44,7 @@ Method | HTTP request | Description
[**get_all_entities_identity_providers**](OrganizationModelControllerApi.md#get_all_entities_identity_providers) | **GET** /api/v1/entities/identityProviders | Get all Identity Providers
[**get_all_entities_jwks**](OrganizationModelControllerApi.md#get_all_entities_jwks) | **GET** /api/v1/entities/jwks | Get all Jwks
[**get_all_entities_llm_endpoints**](OrganizationModelControllerApi.md#get_all_entities_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints | Get all LLM endpoint entities
+[**get_all_entities_llm_providers**](OrganizationModelControllerApi.md#get_all_entities_llm_providers) | **GET** /api/v1/entities/llmProviders | Get all LLM Provider entities
[**get_all_entities_notification_channel_identifiers**](OrganizationModelControllerApi.md#get_all_entities_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers |
[**get_all_entities_notification_channels**](OrganizationModelControllerApi.md#get_all_entities_notification_channels) | **GET** /api/v1/entities/notificationChannels | Get all Notification Channel entities
[**get_all_entities_organization_settings**](OrganizationModelControllerApi.md#get_all_entities_organization_settings) | **GET** /api/v1/entities/organizationSettings | Get Organization entities
@@ -60,6 +63,7 @@ Method | HTTP request | Description
[**get_entity_identity_providers**](OrganizationModelControllerApi.md#get_entity_identity_providers) | **GET** /api/v1/entities/identityProviders/{id} | Get Identity Provider
[**get_entity_jwks**](OrganizationModelControllerApi.md#get_entity_jwks) | **GET** /api/v1/entities/jwks/{id} | Get Jwk
[**get_entity_llm_endpoints**](OrganizationModelControllerApi.md#get_entity_llm_endpoints) | **GET** /api/v1/entities/llmEndpoints/{id} | Get LLM endpoint entity
+[**get_entity_llm_providers**](OrganizationModelControllerApi.md#get_entity_llm_providers) | **GET** /api/v1/entities/llmProviders/{id} | Get LLM Provider entity
[**get_entity_notification_channel_identifiers**](OrganizationModelControllerApi.md#get_entity_notification_channel_identifiers) | **GET** /api/v1/entities/notificationChannelIdentifiers/{id} |
[**get_entity_notification_channels**](OrganizationModelControllerApi.md#get_entity_notification_channels) | **GET** /api/v1/entities/notificationChannels/{id} | Get Notification Channel entity
[**get_entity_organization_settings**](OrganizationModelControllerApi.md#get_entity_organization_settings) | **GET** /api/v1/entities/organizationSettings/{id} | Get Organization entity
@@ -76,6 +80,7 @@ Method | HTTP request | Description
[**patch_entity_identity_providers**](OrganizationModelControllerApi.md#patch_entity_identity_providers) | **PATCH** /api/v1/entities/identityProviders/{id} | Patch Identity Provider
[**patch_entity_jwks**](OrganizationModelControllerApi.md#patch_entity_jwks) | **PATCH** /api/v1/entities/jwks/{id} | Patch Jwk
[**patch_entity_llm_endpoints**](OrganizationModelControllerApi.md#patch_entity_llm_endpoints) | **PATCH** /api/v1/entities/llmEndpoints/{id} | Patch LLM endpoint entity
+[**patch_entity_llm_providers**](OrganizationModelControllerApi.md#patch_entity_llm_providers) | **PATCH** /api/v1/entities/llmProviders/{id} | Patch LLM Provider entity
[**patch_entity_notification_channels**](OrganizationModelControllerApi.md#patch_entity_notification_channels) | **PATCH** /api/v1/entities/notificationChannels/{id} | Patch Notification Channel entity
[**patch_entity_organization_settings**](OrganizationModelControllerApi.md#patch_entity_organization_settings) | **PATCH** /api/v1/entities/organizationSettings/{id} | Patch Organization entity
[**patch_entity_themes**](OrganizationModelControllerApi.md#patch_entity_themes) | **PATCH** /api/v1/entities/themes/{id} | Patch Theming
@@ -90,6 +95,7 @@ Method | HTTP request | Description
[**update_entity_identity_providers**](OrganizationModelControllerApi.md#update_entity_identity_providers) | **PUT** /api/v1/entities/identityProviders/{id} | Put Identity Provider
[**update_entity_jwks**](OrganizationModelControllerApi.md#update_entity_jwks) | **PUT** /api/v1/entities/jwks/{id} | Put Jwk
[**update_entity_llm_endpoints**](OrganizationModelControllerApi.md#update_entity_llm_endpoints) | **PUT** /api/v1/entities/llmEndpoints/{id} | PUT LLM endpoint entity
+[**update_entity_llm_providers**](OrganizationModelControllerApi.md#update_entity_llm_providers) | **PUT** /api/v1/entities/llmProviders/{id} | PUT LLM Provider entity
[**update_entity_notification_channels**](OrganizationModelControllerApi.md#update_entity_notification_channels) | **PUT** /api/v1/entities/notificationChannels/{id} | Put Notification Channel entity
[**update_entity_organization_settings**](OrganizationModelControllerApi.md#update_entity_organization_settings) | **PUT** /api/v1/entities/organizationSettings/{id} | Put Organization entity
[**update_entity_themes**](OrganizationModelControllerApi.md#update_entity_themes) | **PUT** /api/v1/entities/themes/{id} | Put Theming
@@ -810,6 +816,91 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**201** | Request successfully processed | - |
+
+[[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_entity_llm_providers**
+> JsonApiLlmProviderOutDocument create_entity_llm_providers(json_api_llm_provider_in_document)
+
+Post LLM Provider entities
+
+LLM Provider - connection configuration for LLM services
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post LLM Provider entities
+ api_response = api_instance.create_entity_llm_providers(json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->create_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -1901,7 +1992,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = organization_model_controller_api.OrganizationModelControllerApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -1918,6 +2009,79 @@ with gooddata_api_client.ApiClient() as api_client:
```
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: Not defined
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | Successfully deleted | - |
+
+[[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)
+
+# **delete_entity_llm_providers**
+> delete_entity_llm_providers(id)
+
+Delete LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->delete_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete LLM Provider entity
+ api_instance.delete_entity_llm_providers(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->delete_entity_llm_providers: %s\n" % e)
+```
+
+
### Parameters
Name | Type | Description | Notes
@@ -3125,7 +3289,7 @@ configuration = gooddata_api_client.Configuration(
with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = organization_model_controller_api.OrganizationModelControllerApi(api_client)
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
sort = [
@@ -3170,6 +3334,84 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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_all_entities_llm_providers**
+> JsonApiLlmProviderOutList get_all_entities_llm_providers()
+
+Get all LLM Provider entities
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_api
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
+ size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ meta_include = [
+ "metaInclude=page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all LLM Provider entities
+ api_response = api_instance.get_all_entities_llm_providers(filter=filter, page=page, size=size, sort=sort, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->get_all_entities_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+ **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0
+ **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20
+ **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional]
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutList**](JsonApiLlmProviderOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -4545,7 +4787,7 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = organization_model_controller_api.OrganizationModelControllerApi(api_client)
id = "/6bUUGjjNSwg0_bs" # str |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -4587,6 +4829,82 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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_entity_llm_providers**
+> JsonApiLlmProviderOutDocument get_entity_llm_providers(id)
+
+Get LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->get_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get LLM Provider entity
+ api_response = api_instance.get_entity_llm_providers(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->get_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -5984,7 +6302,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointPatchDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -6027,6 +6345,102 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **patch_entity_llm_providers**
+> JsonApiLlmProviderOutDocument patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+
+Patch LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
+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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_patch_document = JsonApiLlmProviderPatchDocument(
+ data=JsonApiLlmProviderPatch(
+ attributes=JsonApiLlmProviderPatchAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderPatchDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->patch_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch LLM Provider entity
+ api_response = api_instance.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->patch_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_patch_document** | [**JsonApiLlmProviderPatchDocument**](JsonApiLlmProviderPatchDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -7384,7 +7798,7 @@ with gooddata_api_client.ApiClient() as api_client:
type="llmEndpoint",
),
) # JsonApiLlmEndpointInDocument |
- filter = "title==someString;provider==LLMProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+ filter = "title==someString;provider==LlmEndpointProviderValue" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
# example passing only required values which don't have defaults set
try:
@@ -7427,6 +7841,102 @@ No authorization required
- **Accept**: application/json, application/vnd.gooddata.api+json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Request successfully processed | - |
+
+[[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)
+
+# **update_entity_llm_providers**
+> JsonApiLlmProviderOutDocument update_entity_llm_providers(id, json_api_llm_provider_in_document)
+
+PUT LLM Provider entity
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_model_controller_api
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+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 = organization_model_controller_api.OrganizationModelControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_llm_provider_in_document = JsonApiLlmProviderInDocument(
+ data=JsonApiLlmProviderIn(
+ attributes=JsonApiLlmProviderInAttributes(
+ default_model_id="default_model_id_example",
+ description="description_example",
+ models=[
+ JsonApiLlmProviderInAttributesModelsInner(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ name="name_example",
+ provider_config=JsonApiLlmProviderInAttributesProviderConfig(None),
+ ),
+ id="id1",
+ type="llmProvider",
+ ),
+ ) # JsonApiLlmProviderInDocument |
+ filter = "name==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->update_entity_llm_providers: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # PUT LLM Provider entity
+ api_response = api_instance.update_entity_llm_providers(id, json_api_llm_provider_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationModelControllerApi->update_entity_llm_providers: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_llm_provider_in_document** | [**JsonApiLlmProviderInDocument**](JsonApiLlmProviderInDocument.md)| |
+ **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional]
+
+### Return type
+
+[**JsonApiLlmProviderOutDocument**](JsonApiLlmProviderOutDocument.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/vnd.gooddata.api+json
+ - **Accept**: application/json, application/vnd.gooddata.api+json
+
+
### HTTP response details
| Status code | Description | Response headers |
diff --git a/gooddata-api-client/docs/PatchKnowledgeDocumentRequestDto.md b/gooddata-api-client/docs/PatchKnowledgeDocumentRequestDto.md
new file mode 100644
index 000000000..3e39d120e
--- /dev/null
+++ b/gooddata-api-client/docs/PatchKnowledgeDocumentRequestDto.md
@@ -0,0 +1,14 @@
+# PatchKnowledgeDocumentRequestDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**is_disabled** | **bool** | | [optional]
+**scopes** | **[str]** | | [optional]
+**title** | **str** | | [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/PendingOperation.md b/gooddata-api-client/docs/PendingOperation.md
index d025e7e8c..28320905a 100644
--- a/gooddata-api-client/docs/PendingOperation.md
+++ b/gooddata-api-client/docs/PendingOperation.md
@@ -6,7 +6,7 @@ Operation that is still pending
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | Id of the operation |
-**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. |
+**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. |
**status** | **str** | |
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
diff --git a/gooddata-api-client/docs/RawExportApi.md b/gooddata-api-client/docs/RawExportApi.md
index ef80b5781..96c1b06ad 100644
--- a/gooddata-api-client/docs/RawExportApi.md
+++ b/gooddata-api-client/docs/RawExportApi.md
@@ -73,6 +73,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
diff --git a/gooddata-api-client/docs/RelativeDateFilterRelativeDateFilter.md b/gooddata-api-client/docs/RelativeDateFilterRelativeDateFilter.md
index eca210716..91a8d7079 100644
--- a/gooddata-api-client/docs/RelativeDateFilterRelativeDateFilter.md
+++ b/gooddata-api-client/docs/RelativeDateFilterRelativeDateFilter.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**to** | **int** | 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, ...). |
**apply_on_result** | **bool** | | [optional]
**bounded_filter** | [**BoundedFilter**](BoundedFilter.md) | | [optional]
+**empty_value_handling** | **str** | Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates. | [optional] if omitted the server will use the default value of "EXCLUDE"
**local_identifier** | **str** | | [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/RunServiceCommandRequest.md b/gooddata-api-client/docs/RunServiceCommandRequest.md
new file mode 100644
index 000000000..134111da3
--- /dev/null
+++ b/gooddata-api-client/docs/RunServiceCommandRequest.md
@@ -0,0 +1,14 @@
+# RunServiceCommandRequest
+
+Request to run an AI Lake Service Command
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**context** | **{str: (str, none_type)}, none_type** | The context to pass to the command | [optional]
+**payload** | [**JsonNode**](JsonNode.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/SearchKnowledgeResponseDto.md b/gooddata-api-client/docs/SearchKnowledgeResponseDto.md
new file mode 100644
index 000000000..939d9f028
--- /dev/null
+++ b/gooddata-api-client/docs/SearchKnowledgeResponseDto.md
@@ -0,0 +1,13 @@
+# SearchKnowledgeResponseDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**results** | [**[KnowledgeSearchResultDto]**](KnowledgeSearchResultDto.md) | |
+**statistics** | [**SearchStatisticsDto**](SearchStatisticsDto.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/SearchStatisticsDto.md b/gooddata-api-client/docs/SearchStatisticsDto.md
new file mode 100644
index 000000000..def7dbf8d
--- /dev/null
+++ b/gooddata-api-client/docs/SearchStatisticsDto.md
@@ -0,0 +1,13 @@
+# SearchStatisticsDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**average_similarity_score** | **float** | |
+**total_results** | **int** | |
+**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/ServiceInfo.md b/gooddata-api-client/docs/ServiceInfo.md
new file mode 100644
index 000000000..14500d661
--- /dev/null
+++ b/gooddata-api-client/docs/ServiceInfo.md
@@ -0,0 +1,14 @@
+# ServiceInfo
+
+Non-sensitive metadata for an AI Lake pipeline
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Human-readable name of the service |
+**service_id** | **str** | Internal identifier for the service configuration (UUID) |
+**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/SetCertificationRequest.md b/gooddata-api-client/docs/SetCertificationRequest.md
new file mode 100644
index 000000000..d88fac78a
--- /dev/null
+++ b/gooddata-api-client/docs/SetCertificationRequest.md
@@ -0,0 +1,16 @@
+# SetCertificationRequest
+
+Request to set or clear the certification of a workspace entity.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | ID of the entity. |
+**type** | **str** | Type of the entity. |
+**message** | **str, none_type** | Optional message associated with the certification. | [optional]
+**status** | **str, none_type** | Certification status of the entity. | [optional] if omitted the server will use the default value of "CERTIFIED"
+**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/SmartFunctionsApi.md b/gooddata-api-client/docs/SmartFunctionsApi.md
index d1d7e2e81..ad6b146b9 100644
--- a/gooddata-api-client/docs/SmartFunctionsApi.md
+++ b/gooddata-api-client/docs/SmartFunctionsApi.md
@@ -16,11 +16,15 @@ Method | HTTP request | Description
[**created_by**](SmartFunctionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
[**forecast**](SmartFunctionsApi.md#forecast) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/{resultId} | (BETA) Smart functions - Forecast
[**forecast_result**](SmartFunctionsApi.md#forecast_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/forecast/result/{resultId} | (BETA) Smart functions - Forecast Result
+[**generate_description**](SmartFunctionsApi.md#generate_description) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription | Generate Description for Analytics Object
+[**generate_title**](SmartFunctionsApi.md#generate_title) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle | Generate Title for Analytics Object
[**get_quality_issues**](SmartFunctionsApi.md#get_quality_issues) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/issues | Get Quality Issues
[**get_quality_issues_calculation_status**](SmartFunctionsApi.md#get_quality_issues_calculation_status) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/issues/status/{processId} | Get Quality Issues Calculation Status
[**memory_created_by_users**](SmartFunctionsApi.md#memory_created_by_users) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/memory/createdBy | Get AI Memory CreatedBy Users
[**resolve_llm_endpoints**](SmartFunctionsApi.md#resolve_llm_endpoints) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmEndpoints | Get Active LLM Endpoints for this workspace
[**tags**](SmartFunctionsApi.md#tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags | Get Analytics Catalog Tags
+[**test_llm_provider**](SmartFunctionsApi.md#test_llm_provider) | **POST** /api/v1/actions/ai/llmProvider/test | Test LLM Provider
+[**test_llm_provider_by_id**](SmartFunctionsApi.md#test_llm_provider_by_id) | **POST** /api/v1/actions/ai/llmProvider/{llmProviderId}/test | Test LLM Provider By Id
[**trigger_quality_issues_calculation**](SmartFunctionsApi.md#trigger_quality_issues_calculation) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/issues/triggerCheck | Trigger Quality Issues Calculation
[**validate_llm_endpoint**](SmartFunctionsApi.md#validate_llm_endpoint) | **POST** /api/v1/actions/ai/llmEndpoint/test | Validate LLM Endpoint
[**validate_llm_endpoint_by_id**](SmartFunctionsApi.md#validate_llm_endpoint_by_id) | **POST** /api/v1/actions/ai/llmEndpoint/{llmEndpointId}/test | Validate LLM Endpoint By Id
@@ -1024,6 +1028,152 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **generate_description**
+> GenerateDescriptionResponse generate_description(workspace_id, generate_description_request)
+
+Generate Description for Analytics Object
+
+Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import smart_functions_api
+from gooddata_api_client.model.generate_description_request import GenerateDescriptionRequest
+from gooddata_api_client.model.generate_description_response import GenerateDescriptionResponse
+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 = smart_functions_api.SmartFunctionsApi(api_client)
+ workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ generate_description_request = GenerateDescriptionRequest(
+ object_id="object_id_example",
+ object_type="Visualization",
+ ) # GenerateDescriptionRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Generate Description for Analytics Object
+ api_response = api_instance.generate_description(workspace_id, generate_description_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling SmartFunctionsApi->generate_description: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **generate_description_request** | [**GenerateDescriptionRequest**](GenerateDescriptionRequest.md)| |
+
+### Return type
+
+[**GenerateDescriptionResponse**](GenerateDescriptionResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **generate_title**
+> GenerateTitleResponse generate_title(workspace_id, generate_title_request)
+
+Generate Title for Analytics Object
+
+Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import smart_functions_api
+from gooddata_api_client.model.generate_title_request import GenerateTitleRequest
+from gooddata_api_client.model.generate_title_response import GenerateTitleResponse
+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 = smart_functions_api.SmartFunctionsApi(api_client)
+ workspace_id = "/6bUUGjjNSwg0_bs" # str | Workspace identifier
+ generate_title_request = GenerateTitleRequest(
+ object_id="object_id_example",
+ object_type="Visualization",
+ ) # GenerateTitleRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Generate Title for Analytics Object
+ api_response = api_instance.generate_title(workspace_id, generate_title_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling SmartFunctionsApi->generate_title: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| Workspace identifier |
+ **generate_title_request** | [**GenerateTitleRequest**](GenerateTitleRequest.md)| |
+
+### Return type
+
+[**GenerateTitleResponse**](GenerateTitleResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -1361,6 +1511,149 @@ No authorization required
- **Accept**: application/json
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **test_llm_provider**
+> TestLlmProviderResponse test_llm_provider(test_llm_provider_definition_request)
+
+Test LLM Provider
+
+Tests LLM provider connectivity with a full definition.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import smart_functions_api
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
+from gooddata_api_client.model.test_llm_provider_definition_request import TestLlmProviderDefinitionRequest
+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 = smart_functions_api.SmartFunctionsApi(api_client)
+ test_llm_provider_definition_request = TestLlmProviderDefinitionRequest(
+ models=[
+ LlmModel(
+ family="OPENAI",
+ id="id_example",
+ ),
+ ],
+ provider_config=TestLlmProviderDefinitionRequestProviderConfig(None),
+ ) # TestLlmProviderDefinitionRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Test LLM Provider
+ api_response = api_instance.test_llm_provider(test_llm_provider_definition_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling SmartFunctionsApi->test_llm_provider: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **test_llm_provider_definition_request** | [**TestLlmProviderDefinitionRequest**](TestLlmProviderDefinitionRequest.md)| |
+
+### Return type
+
+[**TestLlmProviderResponse**](TestLlmProviderResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **test_llm_provider_by_id**
+> TestLlmProviderResponse test_llm_provider_by_id(llm_provider_id)
+
+Test LLM Provider By Id
+
+Tests an existing LLM provider connectivity by its ID.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import smart_functions_api
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
+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 = smart_functions_api.SmartFunctionsApi(api_client)
+ llm_provider_id = "llmProviderId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Test LLM Provider By Id
+ api_response = api_instance.test_llm_provider_by_id(llm_provider_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling SmartFunctionsApi->test_llm_provider_by_id: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **llm_provider_id** | **str**| |
+
+### Return type
+
+[**TestLlmProviderResponse**](TestLlmProviderResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
diff --git a/gooddata-api-client/docs/SucceededOperation.md b/gooddata-api-client/docs/SucceededOperation.md
index cad6b1b9c..90b88c13c 100644
--- a/gooddata-api-client/docs/SucceededOperation.md
+++ b/gooddata-api-client/docs/SucceededOperation.md
@@ -6,7 +6,7 @@ Operation that has succeeded
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | Id of the operation |
-**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. |
+**kind** | **str** | Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. |
**status** | **str** | |
**result** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Operation-specific result payload, can be missing for operations like delete | [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/TestLlmProviderDefinitionRequest.md b/gooddata-api-client/docs/TestLlmProviderDefinitionRequest.md
new file mode 100644
index 000000000..3045f7af8
--- /dev/null
+++ b/gooddata-api-client/docs/TestLlmProviderDefinitionRequest.md
@@ -0,0 +1,13 @@
+# TestLlmProviderDefinitionRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**provider_config** | [**TestLlmProviderDefinitionRequestProviderConfig**](TestLlmProviderDefinitionRequestProviderConfig.md) | |
+**models** | [**[LlmModel]**](LlmModel.md) | Models to test. | [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/TestLlmProviderDefinitionRequestProviderConfig.md b/gooddata-api-client/docs/TestLlmProviderDefinitionRequestProviderConfig.md
new file mode 100644
index 000000000..d28dabb8d
--- /dev/null
+++ b/gooddata-api-client/docs/TestLlmProviderDefinitionRequestProviderConfig.md
@@ -0,0 +1,17 @@
+# TestLlmProviderDefinitionRequestProviderConfig
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**base_url** | **str, none_type** | Custom base URL for OpenAI API. | [optional] if omitted the server will use the default value of "https://api.openai.com"
+**organization** | **str, none_type** | OpenAI organization ID. | [optional]
+**auth** | [**OpenAiProviderAuth**](OpenAiProviderAuth.md) | | [optional]
+**region** | **str** | AWS region for Bedrock. | [optional]
+**type** | **str** | Provider type. | [optional] if omitted the server will use the default value of "OPENAI"
+**endpoint** | **str** | Azure AI inference endpoint URL. | [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/TestLlmProviderResponse.md b/gooddata-api-client/docs/TestLlmProviderResponse.md
new file mode 100644
index 000000000..c61fc81da
--- /dev/null
+++ b/gooddata-api-client/docs/TestLlmProviderResponse.md
@@ -0,0 +1,14 @@
+# TestLlmProviderResponse
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**model_results** | [**[ModelTestResult]**](ModelTestResult.md) | Per-model test results. |
+**provider_message** | **str** | Message about the provider connectivity test. |
+**provider_reachable** | **bool** | Whether the LLM provider is reachable. |
+**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/UpsertKnowledgeDocumentRequestDto.md b/gooddata-api-client/docs/UpsertKnowledgeDocumentRequestDto.md
new file mode 100644
index 000000000..9b3b3d247
--- /dev/null
+++ b/gooddata-api-client/docs/UpsertKnowledgeDocumentRequestDto.md
@@ -0,0 +1,16 @@
+# UpsertKnowledgeDocumentRequestDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**content** | **str** | |
+**filename** | **str** | |
+**page_boundaries** | **[int]** | | [optional]
+**scopes** | **[str]** | | [optional]
+**title** | **str** | | [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/UpsertKnowledgeDocumentResponseDto.md b/gooddata-api-client/docs/UpsertKnowledgeDocumentResponseDto.md
new file mode 100644
index 000000000..c9f448fd7
--- /dev/null
+++ b/gooddata-api-client/docs/UpsertKnowledgeDocumentResponseDto.md
@@ -0,0 +1,15 @@
+# UpsertKnowledgeDocumentResponseDto
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**filename** | **str** | |
+**message** | **str** | |
+**num_chunks** | **int** | |
+**success** | **bool** | |
+**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/VisualizationConfig.md b/gooddata-api-client/docs/VisualizationConfig.md
new file mode 100644
index 000000000..18e35d64b
--- /dev/null
+++ b/gooddata-api-client/docs/VisualizationConfig.md
@@ -0,0 +1,16 @@
+# VisualizationConfig
+
+Visualization config for smart-function rendering.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**anomaly_detection** | [**AnomalyDetectionConfig**](AnomalyDetectionConfig.md) | | [optional]
+**clustering** | [**ClusteringConfig**](ClusteringConfig.md) | | [optional]
+**forecast** | [**ForecastConfig**](ForecastConfig.md) | | [optional]
+**what_if** | [**WhatIfScenarioConfig**](WhatIfScenarioConfig.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/VisualizationObjectApi.md b/gooddata-api-client/docs/VisualizationObjectApi.md
index 0568dec14..c18722af1 100644
--- a/gooddata-api-client/docs/VisualizationObjectApi.md
+++ b/gooddata-api-client/docs/VisualizationObjectApi.md
@@ -57,7 +57,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiVisualizationObjectPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -217,7 +217,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -313,7 +313,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -418,7 +418,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -617,7 +617,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/WhatIfMeasureAdjustmentConfig.md b/gooddata-api-client/docs/WhatIfMeasureAdjustmentConfig.md
new file mode 100644
index 000000000..9022aa476
--- /dev/null
+++ b/gooddata-api-client/docs/WhatIfMeasureAdjustmentConfig.md
@@ -0,0 +1,15 @@
+# WhatIfMeasureAdjustmentConfig
+
+Measure adjustments for this scenario
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**metric_id** | **str** | ID of the metric or fact to adjust |
+**metric_type** | **str** | Type: metric or fact |
+**scenario_maql** | **str** | Alternative MAQL expression for this scenario |
+**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/WhatIfScenarioConfig.md b/gooddata-api-client/docs/WhatIfScenarioConfig.md
new file mode 100644
index 000000000..d0dc7963f
--- /dev/null
+++ b/gooddata-api-client/docs/WhatIfScenarioConfig.md
@@ -0,0 +1,14 @@
+# WhatIfScenarioConfig
+
+What-if scenario configuration.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**include_baseline** | **bool** | Whether baseline (unmodified) values are included |
+**scenarios** | [**[WhatIfScenarioItem]**](WhatIfScenarioItem.md) | Scenarios with alternative measure calculations |
+**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/WhatIfScenarioItem.md b/gooddata-api-client/docs/WhatIfScenarioItem.md
new file mode 100644
index 000000000..f292bafb7
--- /dev/null
+++ b/gooddata-api-client/docs/WhatIfScenarioItem.md
@@ -0,0 +1,14 @@
+# WhatIfScenarioItem
+
+Scenarios with alternative measure calculations
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**adjustments** | [**[WhatIfMeasureAdjustmentConfig]**](WhatIfMeasureAdjustmentConfig.md) | Measure adjustments for this scenario |
+**label** | **str** | Human-readable scenario label |
+**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/WorkspaceObjectControllerApi.md b/gooddata-api-client/docs/WorkspaceObjectControllerApi.md
index ff12c7c23..e914a559c 100644
--- a/gooddata-api-client/docs/WorkspaceObjectControllerApi.md
+++ b/gooddata-api-client/docs/WorkspaceObjectControllerApi.md
@@ -182,7 +182,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiAnalyticalDashboardPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=permissions,origin,accessInfo,all",
@@ -488,6 +488,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -1444,7 +1459,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiMetricPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -1651,7 +1666,7 @@ with gooddata_api_client.ApiClient() as api_client:
),
) # JsonApiVisualizationObjectPostOptionalIdDocument |
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
meta_include = [
"metaInclude=origin,all",
@@ -3323,7 +3338,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -4659,7 +4674,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -4851,7 +4866,7 @@ with gooddata_api_client.ApiClient() as api_client:
origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0
size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20
@@ -5317,7 +5332,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -6537,7 +6552,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -6713,7 +6728,7 @@ with gooddata_api_client.ApiClient() as api_client:
object_id = "objectId_example" # str |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
meta_include = [
@@ -7078,7 +7093,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -7485,6 +7500,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -8737,7 +8767,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -8944,7 +8974,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectPatchDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -11515,7 +11545,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiAnalyticalDashboardInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -11820,6 +11850,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -12781,7 +12826,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiMetricInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
@@ -12988,7 +13033,7 @@ with gooddata_api_client.ApiClient() as api_client:
) # JsonApiVisualizationObjectInDocument |
filter = "title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional)
include = [
- "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional)
# example passing only required values which don't have defaults set
diff --git a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md
index e0a2d41c1..a700e3ff5 100644
--- a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md
+++ b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md
@@ -200,6 +200,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -224,14 +231,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -243,14 +250,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -261,14 +268,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -313,8 +320,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -323,7 +337,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -334,8 +348,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -343,7 +364,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -772,6 +793,21 @@ with gooddata_api_client.ApiClient() as api_client:
filters=[
FilterDefinition(),
],
+ measure_definition_overrides=[
+ MetricDefinitionOverride(
+ definition=InlineMeasureDefinition(
+ inline=InlineMeasureDefinitionInline(
+ maql="maql_example",
+ ),
+ ),
+ item=AfmObjectIdentifierCore(
+ identifier=AfmObjectIdentifierCoreIdentifier(
+ id="sample_item.price",
+ type="attribute",
+ ),
+ ),
+ ),
+ ],
measures=[
MeasureItem(
definition=MeasureDefinition(),
@@ -944,6 +980,13 @@ with gooddata_api_client.ApiClient() as api_client:
],
analytical_dashboards=[
DeclarativeAnalyticalDashboard(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
@@ -968,14 +1011,14 @@ with gooddata_api_client.ApiClient() as api_client:
attribute_hierarchies=[
DeclarativeAttributeHierarchy(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="hierarchy-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -987,14 +1030,14 @@ with gooddata_api_client.ApiClient() as api_client:
dashboard_plugins=[
DeclarativeDashboardPlugin(
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Three dimensional view of data.",
id="dashboard-plugin-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1005,14 +1048,14 @@ with gooddata_api_client.ApiClient() as api_client:
],
export_definitions=[
DeclarativeExportDefinition(
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
),
description="Simple number for total goods in current production.",
id="export-definition-1",
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1057,8 +1100,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
metrics=[
DeclarativeMetric(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1067,7 +1117,7 @@ with gooddata_api_client.ApiClient() as api_client:
id="total-sales",
is_hidden=False,
is_hidden_from_kda=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1078,8 +1128,15 @@ with gooddata_api_client.ApiClient() as api_client:
],
visualization_objects=[
DeclarativeVisualizationObject(
+ certification="CERTIFIED",
+ certification_message="certification_message_example",
+ certified_at="0480-72-88 80:01",
+ certified_by=DeclarativeUserIdentifier(
+ id="employee123",
+ type="user",
+ ),
content=JsonNode(),
- created_at="["2023-07-20 12:30"]",
+ created_at="2023-07-20 12:30",
created_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
@@ -1087,7 +1144,7 @@ with gooddata_api_client.ApiClient() as api_client:
description="Simple number for total goods in current production.",
id="visualization-1",
is_hidden=False,
- modified_at="["2023-07-20 12:30"]",
+ modified_at="2023-07-20 12:30",
modified_by=DeclarativeUserIdentifier(
id="employee123",
type="user",
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 a64e922f4..a578be876 100644
--- a/gooddata-api-client/gooddata_api_client/api/actions_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/actions_api.py
@@ -48,11 +48,14 @@
from gooddata_api_client.model.clustering_result import ClusteringResult
from gooddata_api_client.model.column_statistics_request import ColumnStatisticsRequest
from gooddata_api_client.model.column_statistics_response import ColumnStatisticsResponse
+from gooddata_api_client.model.create_knowledge_document_request_dto import CreateKnowledgeDocumentRequestDto
+from gooddata_api_client.model.create_knowledge_document_response_dto import CreateKnowledgeDocumentResponseDto
from gooddata_api_client.model.dashboard_permissions import DashboardPermissions
from gooddata_api_client.model.dashboard_tabular_export_request import DashboardTabularExportRequest
from gooddata_api_client.model.data_source_permission_assignment import DataSourcePermissionAssignment
from gooddata_api_client.model.data_source_schemata import DataSourceSchemata
from gooddata_api_client.model.declarative_model import DeclarativeModel
+from gooddata_api_client.model.delete_knowledge_document_response_dto import DeleteKnowledgeDocumentResponseDto
from gooddata_api_client.model.dependent_entities_request import DependentEntitiesRequest
from gooddata_api_client.model.dependent_entities_response import DependentEntitiesResponse
from gooddata_api_client.model.elements_request import ElementsRequest
@@ -62,7 +65,11 @@
from gooddata_api_client.model.export_response import ExportResponse
from gooddata_api_client.model.forecast_request import ForecastRequest
from gooddata_api_client.model.forecast_result import ForecastResult
+from gooddata_api_client.model.generate_description_request import GenerateDescriptionRequest
+from gooddata_api_client.model.generate_description_response import GenerateDescriptionResponse
from gooddata_api_client.model.generate_ldm_request import GenerateLdmRequest
+from gooddata_api_client.model.generate_title_request import GenerateTitleRequest
+from gooddata_api_client.model.generate_title_response import GenerateTitleResponse
from gooddata_api_client.model.get_image_export202_response_inner import GetImageExport202ResponseInner
from gooddata_api_client.model.get_quality_issues_response import GetQualityIssuesResponse
from gooddata_api_client.model.hierarchy_object_identification import HierarchyObjectIdentification
@@ -71,6 +78,8 @@
from gooddata_api_client.model.key_drivers_request import KeyDriversRequest
from gooddata_api_client.model.key_drivers_response import KeyDriversResponse
from gooddata_api_client.model.key_drivers_result import KeyDriversResult
+from gooddata_api_client.model.knowledge_document_metadata_dto import KnowledgeDocumentMetadataDto
+from gooddata_api_client.model.list_knowledge_documents_response_dto import ListKnowledgeDocumentsResponseDto
from gooddata_api_client.model.locale_request import LocaleRequest
from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner
from gooddata_api_client.model.memory_item_created_by_users import MemoryItemCreatedByUsers
@@ -80,6 +89,7 @@
from gooddata_api_client.model.outlier_detection_request import OutlierDetectionRequest
from gooddata_api_client.model.outlier_detection_response import OutlierDetectionResponse
from gooddata_api_client.model.outlier_detection_result import OutlierDetectionResult
+from gooddata_api_client.model.patch_knowledge_document_request_dto import PatchKnowledgeDocumentRequestDto
from gooddata_api_client.model.platform_usage import PlatformUsage
from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest
from gooddata_api_client.model.quality_issues_calculation_status_response import QualityIssuesCalculationStatusResponse
@@ -92,18 +102,24 @@
from gooddata_api_client.model.scan_result_pdm import ScanResultPdm
from gooddata_api_client.model.scan_sql_request import ScanSqlRequest
from gooddata_api_client.model.scan_sql_response import ScanSqlResponse
+from gooddata_api_client.model.search_knowledge_response_dto import SearchKnowledgeResponseDto
from gooddata_api_client.model.search_request import SearchRequest
from gooddata_api_client.model.search_result import SearchResult
+from gooddata_api_client.model.set_certification_request import SetCertificationRequest
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.switch_identity_provider_request import SwitchIdentityProviderRequest
from gooddata_api_client.model.tabular_export_request import TabularExportRequest
from gooddata_api_client.model.test_definition_request import TestDefinitionRequest
from gooddata_api_client.model.test_destination_request import TestDestinationRequest
+from gooddata_api_client.model.test_llm_provider_definition_request import TestLlmProviderDefinitionRequest
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
from gooddata_api_client.model.test_request import TestRequest
from gooddata_api_client.model.test_response import TestResponse
from gooddata_api_client.model.trigger_automation_request import TriggerAutomationRequest
from gooddata_api_client.model.trigger_quality_issues_calculation_response import TriggerQualityIssuesCalculationResponse
+from gooddata_api_client.model.upsert_knowledge_document_request_dto import UpsertKnowledgeDocumentRequestDto
+from gooddata_api_client.model.upsert_knowledge_document_response_dto import UpsertKnowledgeDocumentResponseDto
from gooddata_api_client.model.validate_llm_endpoint_by_id_request import ValidateLLMEndpointByIdRequest
from gooddata_api_client.model.validate_llm_endpoint_request import ValidateLLMEndpointRequest
from gooddata_api_client.model.validate_llm_endpoint_response import ValidateLLMEndpointResponse
@@ -1528,6 +1544,69 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.create_document_endpoint = _Endpoint(
+ settings={
+ 'response_type': (CreateKnowledgeDocumentResponseDto,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents',
+ 'operation_id': 'create_document',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'create_knowledge_document_request_dto',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'create_knowledge_document_request_dto',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'create_knowledge_document_request_dto':
+ (CreateKnowledgeDocumentRequestDto,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'create_knowledge_document_request_dto': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.create_image_export_endpoint = _Endpoint(
settings={
'response_type': (ExportResponse,),
@@ -1929,6 +2008,68 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.delete_document_endpoint = _Endpoint(
+ settings={
+ 'response_type': (DeleteKnowledgeDocumentResponseDto,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}',
+ 'operation_id': 'delete_document',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'filename',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'filename',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'filename':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'filename': 'filename',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'filename': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.delete_organization_automations_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -2263,6 +2404,69 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.generate_description_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GenerateDescriptionResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription',
+ 'operation_id': 'generate_description',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'generate_description_request',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'generate_description_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'generate_description_request':
+ (GenerateDescriptionRequest,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'generate_description_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.generate_logical_model_endpoint = _Endpoint(
settings={
'response_type': (DeclarativeModel,),
@@ -2375,6 +2579,69 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.generate_title_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GenerateTitleResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle',
+ 'operation_id': 'generate_title',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'generate_title_request',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'generate_title_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'generate_title_request':
+ (GenerateTitleRequest,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'generate_title_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.get_data_source_schemata_endpoint = _Endpoint(
settings={
'response_type': (DataSourceSchemata,),
@@ -2536,68 +2803,74 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.get_exported_file_endpoint = _Endpoint(
+ self.get_document_endpoint = _Endpoint(
settings={
- 'response_type': (file_type,),
+ 'response_type': (KnowledgeDocumentMetadataDto,),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}',
- 'operation_id': 'get_exported_file',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}',
+ 'operation_id': 'get_document',
'http_method': 'GET',
'servers': None,
},
params_map={
'all': [
'workspace_id',
- 'export_id',
+ 'filename',
],
'required': [
'workspace_id',
- 'export_id',
+ 'filename',
],
'nullable': [
],
'enum': [
],
'validation': [
+ 'workspace_id',
]
},
root_map={
'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
},
'allowed_values': {
},
'openapi_types': {
'workspace_id':
(str,),
- 'export_id':
+ 'filename':
(str,),
},
'attribute_map': {
'workspace_id': 'workspaceId',
- 'export_id': 'exportId',
+ 'filename': 'filename',
},
'location_map': {
'workspace_id': 'path',
- 'export_id': 'path',
+ 'filename': 'path',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
- 'application/pdf',
- 'application/zip'
+ 'application/json'
],
'content_type': [],
},
api_client=api_client
)
- self.get_image_export_endpoint = _Endpoint(
+ self.get_exported_file_endpoint = _Endpoint(
settings={
'response_type': (file_type,),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}',
- 'operation_id': 'get_image_export',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}',
+ 'operation_id': 'get_exported_file',
'http_method': 'GET',
'servers': None,
},
@@ -2641,18 +2914,19 @@ def __init__(self, api_client=None):
},
headers_map={
'accept': [
- 'image/png'
+ 'application/pdf',
+ 'application/zip'
],
'content_type': [],
},
api_client=api_client
)
- self.get_image_export_metadata_endpoint = _Endpoint(
+ self.get_image_export_endpoint = _Endpoint(
settings={
- 'response_type': None,
+ 'response_type': (file_type,),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}/metadata',
- 'operation_id': 'get_image_export_metadata',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}',
+ 'operation_id': 'get_image_export',
'http_method': 'GET',
'servers': None,
},
@@ -2696,17 +2970,72 @@ def __init__(self, api_client=None):
},
headers_map={
'accept': [
- 'application/json'
+ 'image/png'
],
'content_type': [],
},
api_client=api_client
)
- self.get_metadata_endpoint = _Endpoint(
+ self.get_image_export_metadata_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/image/{exportId}/metadata',
+ 'operation_id': 'get_image_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_metadata_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/export/visual/{exportId}/metadata',
'operation_id': 'get_metadata',
'http_method': 'GET',
'servers': None,
@@ -3476,6 +3805,83 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.list_documents_endpoint = _Endpoint(
+ settings={
+ 'response_type': (ListKnowledgeDocumentsResponseDto,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents',
+ 'operation_id': 'list_documents',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'scopes',
+ 'size',
+ 'page_token',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'scopes':
+ ([str],),
+ 'size':
+ (int,),
+ 'page_token':
+ (str,),
+ 'meta_include':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'scopes': 'scopes',
+ 'size': 'size',
+ 'page_token': 'pageToken',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'scopes': 'query',
+ 'size': 'query',
+ 'page_token': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'scopes': 'multi',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.list_workspace_user_groups_endpoint = _Endpoint(
settings={
'response_type': (WorkspaceUserGroups,),
@@ -4334,6 +4740,75 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.patch_document_endpoint = _Endpoint(
+ settings={
+ 'response_type': (KnowledgeDocumentMetadataDto,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}',
+ 'operation_id': 'patch_document',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'filename',
+ 'patch_knowledge_document_request_dto',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'filename',
+ 'patch_knowledge_document_request_dto',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'filename':
+ (str,),
+ 'patch_knowledge_document_request_dto':
+ (PatchKnowledgeDocumentRequestDto,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'filename': 'filename',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'filename': 'path',
+ 'patch_knowledge_document_request_dto': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.pause_organization_automations_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -5062,75 +5537,101 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.set_translations_endpoint = _Endpoint(
+ self.search_knowledge_endpoint = _Endpoint(
settings={
- 'response_type': None,
+ 'response_type': (SearchKnowledgeResponseDto,),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/translations/set',
- 'operation_id': 'set_translations',
- 'http_method': 'POST',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search',
+ 'operation_id': 'search_knowledge',
+ 'http_method': 'GET',
'servers': None,
},
params_map={
'all': [
'workspace_id',
- 'xliff',
+ 'query',
+ 'limit',
+ 'min_score',
+ 'scopes',
],
'required': [
'workspace_id',
- 'xliff',
+ 'query',
],
'nullable': [
],
'enum': [
],
'validation': [
+ 'workspace_id',
]
},
root_map={
'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
},
'allowed_values': {
},
'openapi_types': {
'workspace_id':
(str,),
- 'xliff':
- (Xliff,),
+ 'query':
+ (str,),
+ 'limit':
+ (int,),
+ 'min_score':
+ (float,),
+ 'scopes':
+ ([str],),
},
'attribute_map': {
'workspace_id': 'workspaceId',
+ 'query': 'query',
+ 'limit': 'limit',
+ 'min_score': 'minScore',
+ 'scopes': 'scopes',
},
'location_map': {
'workspace_id': 'path',
- 'xliff': 'body',
+ 'query': 'query',
+ 'limit': 'query',
+ 'min_score': 'query',
+ 'scopes': 'query',
},
'collection_format_map': {
+ 'scopes': 'multi',
}
},
headers_map={
- 'accept': [],
- 'content_type': [
- 'application/xml'
- ]
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
},
api_client=api_client
)
- self.switch_active_identity_provider_endpoint = _Endpoint(
+ self.set_certification_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
- 'endpoint_path': '/api/v1/actions/organization/switchActiveIdentityProvider',
- 'operation_id': 'switch_active_identity_provider',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/setCertification',
+ 'operation_id': 'set_certification',
'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
- 'switch_identity_provider_request',
+ 'workspace_id',
+ 'set_certification_request',
],
'required': [
- 'switch_identity_provider_request',
+ 'workspace_id',
+ 'set_certification_request',
],
'nullable': [
],
@@ -5145,13 +5646,17 @@ def __init__(self, api_client=None):
'allowed_values': {
},
'openapi_types': {
- 'switch_identity_provider_request':
- (SwitchIdentityProviderRequest,),
+ 'workspace_id':
+ (str,),
+ 'set_certification_request':
+ (SetCertificationRequest,),
},
'attribute_map': {
+ 'workspace_id': 'workspaceId',
},
'location_map': {
- 'switch_identity_provider_request': 'body',
+ 'workspace_id': 'path',
+ 'set_certification_request': 'body',
},
'collection_format_map': {
}
@@ -5164,67 +5669,169 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.tags_endpoint = _Endpoint(
+ self.set_translations_endpoint = _Endpoint(
settings={
- 'response_type': (AnalyticsCatalogTags,),
+ 'response_type': None,
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags',
- 'operation_id': 'tags',
- 'http_method': 'GET',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/translations/set',
+ 'operation_id': 'set_translations',
+ 'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
'workspace_id',
+ 'xliff',
],
'required': [
'workspace_id',
+ 'xliff',
],
'nullable': [
],
'enum': [
],
'validation': [
- 'workspace_id',
]
},
root_map={
'validations': {
- ('workspace_id',): {
-
- 'regex': {
- 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
- },
- },
},
'allowed_values': {
},
'openapi_types': {
'workspace_id':
(str,),
+ 'xliff':
+ (Xliff,),
},
'attribute_map': {
'workspace_id': 'workspaceId',
},
'location_map': {
'workspace_id': 'path',
+ 'xliff': 'body',
},
'collection_format_map': {
}
},
headers_map={
- 'accept': [
- 'application/json'
- ],
- 'content_type': [],
+ 'accept': [],
+ 'content_type': [
+ 'application/xml'
+ ]
},
api_client=api_client
)
- self.test_data_source_endpoint = _Endpoint(
+ self.switch_active_identity_provider_endpoint = _Endpoint(
settings={
- 'response_type': (TestResponse,),
+ 'response_type': None,
'auth': [],
- 'endpoint_path': '/api/v1/actions/dataSources/{dataSourceId}/test',
+ 'endpoint_path': '/api/v1/actions/organization/switchActiveIdentityProvider',
+ 'operation_id': 'switch_active_identity_provider',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'switch_identity_provider_request',
+ ],
+ 'required': [
+ 'switch_identity_provider_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'switch_identity_provider_request':
+ (SwitchIdentityProviderRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'switch_identity_provider_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.tags_endpoint = _Endpoint(
+ settings={
+ 'response_type': (AnalyticsCatalogTags,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags',
+ 'operation_id': 'tags',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.test_data_source_endpoint = _Endpoint(
+ settings={
+ 'response_type': (TestResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/dataSources/{dataSourceId}/test',
'operation_id': 'test_data_source',
'http_method': 'POST',
'servers': None,
@@ -5388,6 +5995,105 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.test_llm_provider_endpoint = _Endpoint(
+ settings={
+ 'response_type': (TestLlmProviderResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/ai/llmProvider/test',
+ 'operation_id': 'test_llm_provider',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'test_llm_provider_definition_request',
+ ],
+ 'required': [
+ 'test_llm_provider_definition_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'test_llm_provider_definition_request':
+ (TestLlmProviderDefinitionRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'test_llm_provider_definition_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.test_llm_provider_by_id_endpoint = _Endpoint(
+ settings={
+ 'response_type': (TestLlmProviderResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/ai/llmProvider/{llmProviderId}/test',
+ 'operation_id': 'test_llm_provider_by_id',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'llm_provider_id',
+ ],
+ 'required': [
+ 'llm_provider_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'llm_provider_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'llm_provider_id': 'llmProviderId',
+ },
+ 'location_map': {
+ 'llm_provider_id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.test_notification_channel_endpoint = _Endpoint(
settings={
'response_type': (TestResponse,),
@@ -5945,6 +6651,69 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.upsert_document_endpoint = _Endpoint(
+ settings={
+ 'response_type': (UpsertKnowledgeDocumentResponseDto,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents',
+ 'operation_id': 'upsert_document',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'upsert_knowledge_document_request_dto',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'upsert_knowledge_document_request_dto',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'upsert_knowledge_document_request_dto':
+ (UpsertKnowledgeDocumentRequestDto,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'upsert_knowledge_document_request_dto': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.validate_llm_endpoint_endpoint = _Endpoint(
settings={
'response_type': (ValidateLLMEndpointResponse,),
@@ -8089,24 +8858,23 @@ def create_dashboard_export_request(
dashboard_tabular_export_request
return self.create_dashboard_export_request_endpoint.call_with_http_info(**kwargs)
- def create_image_export(
+ def create_document(
self,
workspace_id,
- image_export_request,
+ create_knowledge_document_request_dto,
**kwargs
):
- """(EXPERIMENTAL) Create image export request # noqa: E501
+ """create_document # noqa: E501
- Note: This API is an experimental and is going to change. Please, use it accordingly. An image 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_image_export(workspace_id, image_export_request, async_req=True)
+ >>> thread = api.create_document(workspace_id, create_knowledge_document_request_dto, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- image_export_request (ImageExportRequest):
+ workspace_id (str): Workspace identifier
+ create_knowledge_document_request_dto (CreateKnowledgeDocumentRequestDto):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -8141,7 +8909,7 @@ def create_image_export(
async_req (bool): execute request asynchronously
Returns:
- ExportResponse
+ CreateKnowledgeDocumentResponseDto
If the method is called asynchronously, returns the request
thread.
"""
@@ -8172,17 +8940,104 @@ def create_image_export(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['image_export_request'] = \
- image_export_request
- return self.create_image_export_endpoint.call_with_http_info(**kwargs)
+ kwargs['create_knowledge_document_request_dto'] = \
+ create_knowledge_document_request_dto
+ return self.create_document_endpoint.call_with_http_info(**kwargs)
- def create_pdf_export(
+ def create_image_export(
self,
workspace_id,
- visual_export_request,
+ image_export_request,
**kwargs
):
- """Create visual - pdf export request # noqa: E501
+ """(EXPERIMENTAL) Create image export request # noqa: E501
+
+ Note: This API is an experimental and is going to change. Please, use it accordingly. An image 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_image_export(workspace_id, image_export_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ image_export_request (ImageExportRequest):
+
+ 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['image_export_request'] = \
+ image_export_request
+ return self.create_image_export_endpoint.call_with_http_info(**kwargs)
+
+ def create_pdf_export(
+ self,
+ workspace_id,
+ visual_export_request,
+ **kwargs
+ ):
+ """Create visual - pdf export request # noqa: E501
An visual 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
@@ -8695,6 +9550,92 @@ def dashboard_permissions(
dashboard_id
return self.dashboard_permissions_endpoint.call_with_http_info(**kwargs)
+ def delete_document(
+ self,
+ workspace_id,
+ filename,
+ **kwargs
+ ):
+ """delete_document # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.delete_document(workspace_id, filename, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ filename (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:
+ DeleteKnowledgeDocumentResponseDto
+ 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['filename'] = \
+ filename
+ return self.delete_document_endpoint.call_with_http_info(**kwargs)
+
def delete_organization_automations(
self,
organization_automation_management_bulk_request,
@@ -9132,24 +10073,24 @@ def forecast_result(
result_id
return self.forecast_result_endpoint.call_with_http_info(**kwargs)
- def generate_logical_model(
+ def generate_description(
self,
- data_source_id,
- generate_ldm_request,
+ workspace_id,
+ generate_description_request,
**kwargs
):
- """Generate logical data model (LDM) from physical data model (PDM) # noqa: E501
+ """Generate Description for Analytics Object # noqa: E501
- Generate logical data model (LDM) from physical data model (PDM) stored in data source. # noqa: E501
+ Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.generate_logical_model(data_source_id, generate_ldm_request, async_req=True)
+ >>> thread = api.generate_description(workspace_id, generate_description_request, async_req=True)
>>> result = thread.get()
Args:
- data_source_id (str):
- generate_ldm_request (GenerateLdmRequest):
+ workspace_id (str): Workspace identifier
+ generate_description_request (GenerateDescriptionRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9184,7 +10125,7 @@ def generate_logical_model(
async_req (bool): execute request asynchronously
Returns:
- DeclarativeModel
+ GenerateDescriptionResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -9213,25 +10154,25 @@ def generate_logical_model(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['data_source_id'] = \
- data_source_id
- kwargs['generate_ldm_request'] = \
- generate_ldm_request
- return self.generate_logical_model_endpoint.call_with_http_info(**kwargs)
+ kwargs['workspace_id'] = \
+ workspace_id
+ kwargs['generate_description_request'] = \
+ generate_description_request
+ return self.generate_description_endpoint.call_with_http_info(**kwargs)
- def generate_logical_model_aac(
+ def generate_logical_model(
self,
data_source_id,
generate_ldm_request,
**kwargs
):
- """Generate logical data model in AAC format from physical data model (PDM) # noqa: E501
+ """Generate logical data model (LDM) from physical data model (PDM) # noqa: E501
- Generate logical data model (LDM) from physical data model (PDM) stored in data source, returning the result in Analytics as Code (AAC) format compatible with the GoodData VSCode extension YAML definitions. # noqa: E501
+ Generate logical data model (LDM) from physical data model (PDM) stored in data source. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.generate_logical_model_aac(data_source_id, generate_ldm_request, async_req=True)
+ >>> thread = api.generate_logical_model(data_source_id, generate_ldm_request, async_req=True)
>>> result = thread.get()
Args:
@@ -9271,7 +10212,7 @@ def generate_logical_model_aac(
async_req (bool): execute request asynchronously
Returns:
- AacLogicalModel
+ DeclarativeModel
If the method is called asynchronously, returns the request
thread.
"""
@@ -9304,24 +10245,26 @@ def generate_logical_model_aac(
data_source_id
kwargs['generate_ldm_request'] = \
generate_ldm_request
- return self.generate_logical_model_aac_endpoint.call_with_http_info(**kwargs)
+ return self.generate_logical_model_endpoint.call_with_http_info(**kwargs)
- def get_data_source_schemata(
+ def generate_logical_model_aac(
self,
data_source_id,
+ generate_ldm_request,
**kwargs
):
- """Get a list of schema names of a database # noqa: E501
+ """Generate logical data model in AAC format from physical data model (PDM) # noqa: E501
- It scans a database and reads metadata. The result of the request contains a list of schema names of a database. # noqa: E501
+ Generate logical data model (LDM) from physical data model (PDM) stored in data source, returning the result in Analytics as Code (AAC) format compatible with the GoodData VSCode extension YAML definitions. # 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_data_source_schemata(data_source_id, async_req=True)
+ >>> thread = api.generate_logical_model_aac(data_source_id, generate_ldm_request, async_req=True)
>>> result = thread.get()
Args:
- data_source_id (str): Data source id
+ data_source_id (str):
+ generate_ldm_request (GenerateLdmRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9356,7 +10299,7 @@ def get_data_source_schemata(
async_req (bool): execute request asynchronously
Returns:
- DataSourceSchemata
+ AacLogicalModel
If the method is called asynchronously, returns the request
thread.
"""
@@ -9387,24 +10330,28 @@ def get_data_source_schemata(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['data_source_id'] = \
data_source_id
- return self.get_data_source_schemata_endpoint.call_with_http_info(**kwargs)
+ kwargs['generate_ldm_request'] = \
+ generate_ldm_request
+ return self.generate_logical_model_aac_endpoint.call_with_http_info(**kwargs)
- def get_dependent_entities_graph(
+ def generate_title(
self,
workspace_id,
+ generate_title_request,
**kwargs
):
- """Computes the dependent entities graph # noqa: E501
+ """Generate Title for Analytics Object # noqa: E501
- Computes the dependent entities graph # noqa: E501
+ Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed. # 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_dependent_entities_graph(workspace_id, async_req=True)
+ >>> thread = api.generate_title(workspace_id, generate_title_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
+ workspace_id (str): Workspace identifier
+ generate_title_request (GenerateTitleRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9439,7 +10386,7 @@ def get_dependent_entities_graph(
async_req (bool): execute request asynchronously
Returns:
- DependentEntitiesResponse
+ GenerateTitleResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -9470,26 +10417,26 @@ def get_dependent_entities_graph(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- return self.get_dependent_entities_graph_endpoint.call_with_http_info(**kwargs)
+ kwargs['generate_title_request'] = \
+ generate_title_request
+ return self.generate_title_endpoint.call_with_http_info(**kwargs)
- def get_dependent_entities_graph_from_entry_points(
+ def get_data_source_schemata(
self,
- workspace_id,
- dependent_entities_request,
+ data_source_id,
**kwargs
):
- """Computes the dependent entities graph from given entry points # noqa: E501
+ """Get a list of schema names of a database # noqa: E501
- Computes the dependent entities graph from given entry points # noqa: E501
+ It scans a database and reads metadata. The result of the request contains a list of schema names of a database. # 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_dependent_entities_graph_from_entry_points(workspace_id, dependent_entities_request, async_req=True)
+ >>> thread = api.get_data_source_schemata(data_source_id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- dependent_entities_request (DependentEntitiesRequest):
+ data_source_id (str): Data source id
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9524,7 +10471,7 @@ def get_dependent_entities_graph_from_entry_points(
async_req (bool): execute request asynchronously
Returns:
- DependentEntitiesResponse
+ DataSourceSchemata
If the method is called asynchronously, returns the request
thread.
"""
@@ -9553,30 +10500,26 @@ def get_dependent_entities_graph_from_entry_points(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['dependent_entities_request'] = \
- dependent_entities_request
- return self.get_dependent_entities_graph_from_entry_points_endpoint.call_with_http_info(**kwargs)
+ kwargs['data_source_id'] = \
+ data_source_id
+ return self.get_data_source_schemata_endpoint.call_with_http_info(**kwargs)
- def get_exported_file(
+ def get_dependent_entities_graph(
self,
workspace_id,
- export_id,
**kwargs
):
- """Retrieve exported files # noqa: E501
+ """Computes the dependent entities graph # noqa: E501
- Returns 202 until original POST export request is not processed.Returns 200 with exported data once the export is done. # noqa: E501
+ Computes the dependent entities graph # 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_exported_file(workspace_id, export_id, async_req=True)
+ >>> thread = api.get_dependent_entities_graph(workspace_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
@@ -9611,7 +10554,265 @@ def get_exported_file(
async_req (bool): execute request asynchronously
Returns:
- file_type
+ DependentEntitiesResponse
+ 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
+ return self.get_dependent_entities_graph_endpoint.call_with_http_info(**kwargs)
+
+ def get_dependent_entities_graph_from_entry_points(
+ self,
+ workspace_id,
+ dependent_entities_request,
+ **kwargs
+ ):
+ """Computes the dependent entities graph from given entry points # noqa: E501
+
+ Computes the dependent entities graph from given entry points # 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_dependent_entities_graph_from_entry_points(workspace_id, dependent_entities_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ dependent_entities_request (DependentEntitiesRequest):
+
+ 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:
+ DependentEntitiesResponse
+ 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['dependent_entities_request'] = \
+ dependent_entities_request
+ return self.get_dependent_entities_graph_from_entry_points_endpoint.call_with_http_info(**kwargs)
+
+ def get_document(
+ self,
+ workspace_id,
+ filename,
+ **kwargs
+ ):
+ """get_document # 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_document(workspace_id, filename, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ filename (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:
+ KnowledgeDocumentMetadataDto
+ 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['filename'] = \
+ filename
+ return self.get_document_endpoint.call_with_http_info(**kwargs)
+
+ def get_exported_file(
+ self,
+ workspace_id,
+ export_id,
+ **kwargs
+ ):
+ """Retrieve exported files # noqa: E501
+
+ Returns 202 until original POST export request is not processed.Returns 200 with exported data once the export is done. # 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_exported_file(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:
+ file_type
If the method is called asynchronously, returns the request
thread.
"""
@@ -10934,24 +12135,110 @@ def key_driver_analysis_result(
result_id
return self.key_driver_analysis_result_endpoint.call_with_http_info(**kwargs)
- def list_workspace_user_groups(
+ def list_documents(
self,
workspace_id,
**kwargs
):
- """list_workspace_user_groups # noqa: E501
+ """list_documents # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_workspace_user_groups(workspace_id, async_req=True)
+ >>> thread = api.list_documents(workspace_id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
+ workspace_id (str): Workspace identifier
Keyword Args:
- page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
+ scopes ([str]): [optional]
+ size (int): [optional] if omitted the server will use the default value of 50
+ page_token (str): [optional]
+ meta_include (str): [optional]
+ _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:
+ ListKnowledgeDocumentsResponseDto
+ 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
+ return self.list_documents_endpoint.call_with_http_info(**kwargs)
+
+ def list_workspace_user_groups(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """list_workspace_user_groups # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.list_workspace_user_groups(workspace_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+
+ Keyword Args:
+ page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
size (int): The size of the page to be returned.. [optional] if omitted the server will use the default value of 20
name (str): Filter by user name. Note that user name is case insensitive.. [optional]
_return_http_data_only (bool): response data without head status
@@ -12278,6 +13565,96 @@ def particular_platform_usage(
platform_usage_request
return self.particular_platform_usage_endpoint.call_with_http_info(**kwargs)
+ def patch_document(
+ self,
+ workspace_id,
+ filename,
+ patch_knowledge_document_request_dto,
+ **kwargs
+ ):
+ """patch_document # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.patch_document(workspace_id, filename, patch_knowledge_document_request_dto, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ filename (str):
+ patch_knowledge_document_request_dto (PatchKnowledgeDocumentRequestDto):
+
+ 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:
+ KnowledgeDocumentMetadataDto
+ 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['filename'] = \
+ filename
+ kwargs['patch_knowledge_document_request_dto'] = \
+ patch_knowledge_document_request_dto
+ return self.patch_document_endpoint.call_with_http_info(**kwargs)
+
def pause_organization_automations(
self,
organization_automation_management_bulk_request,
@@ -13035,18 +14412,368 @@ def retrieve_result(
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.retrieve_result(workspace_id, result_id, async_req=True)
+ >>> thread = api.retrieve_result(workspace_id, result_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ result_id (str): Result ID
+
+ Keyword Args:
+ offset ([int]): Request page with these offsets. Format is offset=1,2,3,... - one offset for each dimensions in ResultSpec from originating AFM.. [optional] if omitted the server will use the default value of []
+ limit ([int]): Return only this number of items. Format is limit=1,2,3,... - one limit for each dimensions in ResultSpec from originating AFM.. [optional] if omitted the server will use the default value of []
+ excluded_total_dimensions ([str]): Identifiers of the dimensions where grand total data should not be returned for this request. A grand total will not be returned if all of its totalDimensions are in excludedTotalDimensions.. [optional] if omitted the server will use the default value of []
+ x_gdc_cancel_token (str): [optional]
+ _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:
+ ExecutionResult
+ 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['result_id'] = \
+ result_id
+ return self.retrieve_result_endpoint.call_with_http_info(**kwargs)
+
+ def retrieve_translations(
+ self,
+ workspace_id,
+ locale_request,
+ **kwargs
+ ):
+ """Retrieve translations for entities. # noqa: E501
+
+ Retrieve all translation for existing entities in a particular locale. The source translations returned by this endpoint are always original, not translated, texts. Because the XLIFF schema definition has the 'xs:language' constraint for the 'srcLang' attribute, it is always set to 'en-US' value. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.retrieve_translations(workspace_id, locale_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ locale_request (LocaleRequest):
+
+ 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:
+ Xliff
+ 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['locale_request'] = \
+ locale_request
+ return self.retrieve_translations_endpoint.call_with_http_info(**kwargs)
+
+ def scan_data_source(
+ self,
+ data_source_id,
+ scan_request,
+ **kwargs
+ ):
+ """Scan a database to get a physical data model (PDM) # noqa: E501
+
+ It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.scan_data_source(data_source_id, scan_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str): Data source id
+ scan_request (ScanRequest):
+
+ 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:
+ ScanResultPdm
+ 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['data_source_id'] = \
+ data_source_id
+ kwargs['scan_request'] = \
+ scan_request
+ return self.scan_data_source_endpoint.call_with_http_info(**kwargs)
+
+ def scan_sql(
+ self,
+ data_source_id,
+ scan_sql_request,
+ **kwargs
+ ):
+ """Collect metadata about SQL query # noqa: E501
+
+ It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.scan_sql(data_source_id, scan_sql_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str): Data source id
+ scan_sql_request (ScanSqlRequest):
+
+ 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:
+ ScanSqlResponse
+ 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['data_source_id'] = \
+ data_source_id
+ kwargs['scan_sql_request'] = \
+ scan_sql_request
+ return self.scan_sql_endpoint.call_with_http_info(**kwargs)
+
+ def search_knowledge(
+ self,
+ workspace_id,
+ query,
+ **kwargs
+ ):
+ """search_knowledge # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.search_knowledge(workspace_id, query, async_req=True)
>>> result = thread.get()
Args:
workspace_id (str): Workspace identifier
- result_id (str): Result ID
+ query (str):
Keyword Args:
- offset ([int]): Request page with these offsets. Format is offset=1,2,3,... - one offset for each dimensions in ResultSpec from originating AFM.. [optional] if omitted the server will use the default value of []
- limit ([int]): Return only this number of items. Format is limit=1,2,3,... - one limit for each dimensions in ResultSpec from originating AFM.. [optional] if omitted the server will use the default value of []
- excluded_total_dimensions ([str]): Identifiers of the dimensions where grand total data should not be returned for this request. A grand total will not be returned if all of its totalDimensions are in excludedTotalDimensions.. [optional] if omitted the server will use the default value of []
- x_gdc_cancel_token (str): [optional]
+ limit (int): [optional] if omitted the server will use the default value of 10
+ min_score (float): [optional] if omitted the server will use the default value of 0.0
+ scopes ([str]): [optional]
_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
@@ -13079,7 +14806,7 @@ def retrieve_result(
async_req (bool): execute request asynchronously
Returns:
- ExecutionResult
+ SearchKnowledgeResponseDto
If the method is called asynchronously, returns the request
thread.
"""
@@ -13110,28 +14837,28 @@ def retrieve_result(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['result_id'] = \
- result_id
- return self.retrieve_result_endpoint.call_with_http_info(**kwargs)
+ kwargs['query'] = \
+ query
+ return self.search_knowledge_endpoint.call_with_http_info(**kwargs)
- def retrieve_translations(
+ def set_certification(
self,
workspace_id,
- locale_request,
+ set_certification_request,
**kwargs
):
- """Retrieve translations for entities. # noqa: E501
+ """Set Certification # noqa: E501
- Retrieve all translation for existing entities in a particular locale. The source translations returned by this endpoint are always original, not translated, texts. Because the XLIFF schema definition has the 'xs:language' constraint for the 'srcLang' attribute, it is always set to 'en-US' value. # noqa: E501
+ Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.retrieve_translations(workspace_id, locale_request, async_req=True)
+ >>> thread = api.set_certification(workspace_id, set_certification_request, async_req=True)
>>> result = thread.get()
Args:
workspace_id (str):
- locale_request (LocaleRequest):
+ set_certification_request (SetCertificationRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13166,7 +14893,7 @@ def retrieve_translations(
async_req (bool): execute request asynchronously
Returns:
- Xliff
+ None
If the method is called asynchronously, returns the request
thread.
"""
@@ -13197,28 +14924,28 @@ def retrieve_translations(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['locale_request'] = \
- locale_request
- return self.retrieve_translations_endpoint.call_with_http_info(**kwargs)
+ kwargs['set_certification_request'] = \
+ set_certification_request
+ return self.set_certification_endpoint.call_with_http_info(**kwargs)
- def scan_data_source(
+ def set_translations(
self,
- data_source_id,
- scan_request,
+ workspace_id,
+ xliff,
**kwargs
):
- """Scan a database to get a physical data model (PDM) # noqa: E501
+ """Set translations for entities. # noqa: E501
- It scans a database and transforms its metadata to a declarative definition of the physical data model (PDM). The result of the request contains the mentioned physical data model (PDM) of a database within warning, for example, about unsupported columns. # noqa: E501
+ Set translation for existing entities in a particular locale. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.scan_data_source(data_source_id, scan_request, async_req=True)
+ >>> thread = api.set_translations(workspace_id, xliff, async_req=True)
>>> result = thread.get()
Args:
- data_source_id (str): Data source id
- scan_request (ScanRequest):
+ workspace_id (str):
+ xliff (Xliff):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13253,7 +14980,7 @@ def scan_data_source(
async_req (bool): execute request asynchronously
Returns:
- ScanResultPdm
+ None
If the method is called asynchronously, returns the request
thread.
"""
@@ -13282,30 +15009,28 @@ def scan_data_source(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['data_source_id'] = \
- data_source_id
- kwargs['scan_request'] = \
- scan_request
- return self.scan_data_source_endpoint.call_with_http_info(**kwargs)
+ kwargs['workspace_id'] = \
+ workspace_id
+ kwargs['xliff'] = \
+ xliff
+ return self.set_translations_endpoint.call_with_http_info(**kwargs)
- def scan_sql(
+ def switch_active_identity_provider(
self,
- data_source_id,
- scan_sql_request,
+ switch_identity_provider_request,
**kwargs
):
- """Collect metadata about SQL query # noqa: E501
+ """Switch Active Identity Provider # noqa: E501
- It executes SQL query against specified data source and extracts metadata. Metadata consist of column names and column data types. It can optionally provide also preview of data returned by SQL query # noqa: E501
+ Switch the active identity provider for the organization. Requires MANAGE permission on the organization. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.scan_sql(data_source_id, scan_sql_request, async_req=True)
+ >>> thread = api.switch_active_identity_provider(switch_identity_provider_request, async_req=True)
>>> result = thread.get()
Args:
- data_source_id (str): Data source id
- scan_sql_request (ScanSqlRequest):
+ switch_identity_provider_request (SwitchIdentityProviderRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13340,7 +15065,7 @@ def scan_sql(
async_req (bool): execute request asynchronously
Returns:
- ScanSqlResponse
+ None
If the method is called asynchronously, returns the request
thread.
"""
@@ -13369,30 +15094,26 @@ def scan_sql(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['data_source_id'] = \
- data_source_id
- kwargs['scan_sql_request'] = \
- scan_sql_request
- return self.scan_sql_endpoint.call_with_http_info(**kwargs)
+ kwargs['switch_identity_provider_request'] = \
+ switch_identity_provider_request
+ return self.switch_active_identity_provider_endpoint.call_with_http_info(**kwargs)
- def set_translations(
+ def tags(
self,
workspace_id,
- xliff,
**kwargs
):
- """Set translations for entities. # noqa: E501
+ """Get Analytics Catalog Tags # noqa: E501
- Set translation for existing entities in a particular locale. # noqa: E501
+ Returns a list of tags for this workspace # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.set_translations(workspace_id, xliff, async_req=True)
+ >>> thread = api.tags(workspace_id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- xliff (Xliff):
+ workspace_id (str): Workspace identifier
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13427,7 +15148,7 @@ def set_translations(
async_req (bool): execute request asynchronously
Returns:
- None
+ AnalyticsCatalogTags
If the method is called asynchronously, returns the request
thread.
"""
@@ -13458,26 +15179,26 @@ def set_translations(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['xliff'] = \
- xliff
- return self.set_translations_endpoint.call_with_http_info(**kwargs)
+ return self.tags_endpoint.call_with_http_info(**kwargs)
- def switch_active_identity_provider(
+ def test_data_source(
self,
- switch_identity_provider_request,
+ data_source_id,
+ test_request,
**kwargs
):
- """Switch Active Identity Provider # noqa: E501
+ """Test data source connection by data source id # noqa: E501
- Switch the active identity provider for the organization. Requires MANAGE permission on the organization. # noqa: E501
+ Test if it is possible to connect to a database using an existing data source definition. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.switch_active_identity_provider(switch_identity_provider_request, async_req=True)
+ >>> thread = api.test_data_source(data_source_id, test_request, async_req=True)
>>> result = thread.get()
Args:
- switch_identity_provider_request (SwitchIdentityProviderRequest):
+ data_source_id (str): Data source id
+ test_request (TestRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13512,7 +15233,7 @@ def switch_active_identity_provider(
async_req (bool): execute request asynchronously
Returns:
- None
+ TestResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -13541,26 +15262,28 @@ def switch_active_identity_provider(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['switch_identity_provider_request'] = \
- switch_identity_provider_request
- return self.switch_active_identity_provider_endpoint.call_with_http_info(**kwargs)
+ kwargs['data_source_id'] = \
+ data_source_id
+ kwargs['test_request'] = \
+ test_request
+ return self.test_data_source_endpoint.call_with_http_info(**kwargs)
- def tags(
+ def test_data_source_definition(
self,
- workspace_id,
+ test_definition_request,
**kwargs
):
- """Get Analytics Catalog Tags # noqa: E501
+ """Test connection by data source definition # noqa: E501
- Returns a list of tags for this workspace # noqa: E501
+ Test if it is possible to connect to a database using a connection provided by the data source definition in the request body. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.tags(workspace_id, async_req=True)
+ >>> thread = api.test_data_source_definition(test_definition_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str): Workspace identifier
+ test_definition_request (TestDefinitionRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13595,7 +15318,7 @@ def tags(
async_req (bool): execute request asynchronously
Returns:
- AnalyticsCatalogTags
+ TestResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -13624,30 +15347,29 @@ def tags(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- return self.tags_endpoint.call_with_http_info(**kwargs)
+ kwargs['test_definition_request'] = \
+ test_definition_request
+ return self.test_data_source_definition_endpoint.call_with_http_info(**kwargs)
- def test_data_source(
+ def test_existing_notification_channel(
self,
- data_source_id,
- test_request,
+ notification_channel_id,
**kwargs
):
- """Test data source connection by data source id # noqa: E501
+ """Test existing notification channel. # noqa: E501
- Test if it is possible to connect to a database using an existing data source definition. # noqa: E501
+ Tests the existing notification channel by sending a test notification. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.test_data_source(data_source_id, test_request, async_req=True)
+ >>> thread = api.test_existing_notification_channel(notification_channel_id, async_req=True)
>>> result = thread.get()
Args:
- data_source_id (str): Data source id
- test_request (TestRequest):
+ notification_channel_id (str):
Keyword Args:
+ test_destination_request (TestDestinationRequest): [optional]
_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
@@ -13709,28 +15431,26 @@ def test_data_source(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['data_source_id'] = \
- data_source_id
- kwargs['test_request'] = \
- test_request
- return self.test_data_source_endpoint.call_with_http_info(**kwargs)
+ kwargs['notification_channel_id'] = \
+ notification_channel_id
+ return self.test_existing_notification_channel_endpoint.call_with_http_info(**kwargs)
- def test_data_source_definition(
+ def test_llm_provider(
self,
- test_definition_request,
+ test_llm_provider_definition_request,
**kwargs
):
- """Test connection by data source definition # noqa: E501
+ """Test LLM Provider # noqa: E501
- Test if it is possible to connect to a database using a connection provided by the data source definition in the request body. # noqa: E501
+ Tests LLM provider connectivity with a full definition. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.test_data_source_definition(test_definition_request, async_req=True)
+ >>> thread = api.test_llm_provider(test_llm_provider_definition_request, async_req=True)
>>> result = thread.get()
Args:
- test_definition_request (TestDefinitionRequest):
+ test_llm_provider_definition_request (TestLlmProviderDefinitionRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -13765,7 +15485,7 @@ def test_data_source_definition(
async_req (bool): execute request asynchronously
Returns:
- TestResponse
+ TestLlmProviderResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -13794,29 +15514,28 @@ def test_data_source_definition(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['test_definition_request'] = \
- test_definition_request
- return self.test_data_source_definition_endpoint.call_with_http_info(**kwargs)
+ kwargs['test_llm_provider_definition_request'] = \
+ test_llm_provider_definition_request
+ return self.test_llm_provider_endpoint.call_with_http_info(**kwargs)
- def test_existing_notification_channel(
+ def test_llm_provider_by_id(
self,
- notification_channel_id,
+ llm_provider_id,
**kwargs
):
- """Test existing notification channel. # noqa: E501
+ """Test LLM Provider By Id # noqa: E501
- Tests the existing notification channel by sending a test notification. # noqa: E501
+ Tests an existing LLM provider connectivity by its ID. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.test_existing_notification_channel(notification_channel_id, async_req=True)
+ >>> thread = api.test_llm_provider_by_id(llm_provider_id, async_req=True)
>>> result = thread.get()
Args:
- notification_channel_id (str):
+ llm_provider_id (str):
Keyword Args:
- test_destination_request (TestDestinationRequest): [optional]
_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
@@ -13849,7 +15568,7 @@ def test_existing_notification_channel(
async_req (bool): execute request asynchronously
Returns:
- TestResponse
+ TestLlmProviderResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -13878,9 +15597,9 @@ def test_existing_notification_channel(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['notification_channel_id'] = \
- notification_channel_id
- return self.test_existing_notification_channel_endpoint.call_with_http_info(**kwargs)
+ kwargs['llm_provider_id'] = \
+ llm_provider_id
+ return self.test_llm_provider_by_id_endpoint.call_with_http_info(**kwargs)
def test_notification_channel(
self,
@@ -14803,6 +16522,92 @@ def unsubscribe_workspace_automations(
workspace_id
return self.unsubscribe_workspace_automations_endpoint.call_with_http_info(**kwargs)
+ def upsert_document(
+ self,
+ workspace_id,
+ upsert_knowledge_document_request_dto,
+ **kwargs
+ ):
+ """upsert_document # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.upsert_document(workspace_id, upsert_knowledge_document_request_dto, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ upsert_knowledge_document_request_dto (UpsertKnowledgeDocumentRequestDto):
+
+ 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:
+ UpsertKnowledgeDocumentResponseDto
+ 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['upsert_knowledge_document_request_dto'] = \
+ upsert_knowledge_document_request_dto
+ return self.upsert_document_endpoint.call_with_http_info(**kwargs)
+
def validate_llm_endpoint(
self,
validate_llm_endpoint_request,
diff --git a/gooddata-api-client/gooddata_api_client/api/ai_lake_api.py b/gooddata-api-client/gooddata_api_client/api/ai_lake_api.py
index 777746df8..ec99b3761 100644
--- a/gooddata-api-client/gooddata_api_client/api/ai_lake_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/ai_lake_api.py
@@ -24,7 +24,10 @@
)
from gooddata_api_client.model.database_instance import DatabaseInstance
from gooddata_api_client.model.get_ai_lake_operation200_response import GetAiLakeOperation200Response
+from gooddata_api_client.model.list_database_instances_response import ListDatabaseInstancesResponse
+from gooddata_api_client.model.list_services_response import ListServicesResponse
from gooddata_api_client.model.provision_database_instance_request import ProvisionDatabaseInstanceRequest
+from gooddata_api_client.model.run_service_command_request import RunServiceCommandRequest
class AILakeApi(object):
@@ -42,7 +45,7 @@ def __init__(self, api_client=None):
settings={
'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
'auth': [],
- 'endpoint_path': '/api/v1/ailake/database/instance/{instanceId}',
+ 'endpoint_path': '/api/v1/ailake/database/instances/{instanceId}',
'operation_id': 'deprovision_ai_lake_database_instance',
'http_method': 'DELETE',
'servers': None,
@@ -96,7 +99,7 @@ def __init__(self, api_client=None):
settings={
'response_type': (DatabaseInstance,),
'auth': [],
- 'endpoint_path': '/api/v1/ailake/database/instance/{instanceId}',
+ 'endpoint_path': '/api/v1/ailake/database/instances/{instanceId}',
'operation_id': 'get_ai_lake_database_instance',
'http_method': 'GET',
'servers': None,
@@ -145,7 +148,7 @@ def __init__(self, api_client=None):
settings={
'response_type': (GetAiLakeOperation200Response,),
'auth': [],
- 'endpoint_path': '/api/v1/ailake/operation/{operationId}',
+ 'endpoint_path': '/api/v1/ailake/operations/{operationId}',
'operation_id': 'get_ai_lake_operation',
'http_method': 'GET',
'servers': None,
@@ -190,11 +193,135 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.list_ai_lake_database_instances_endpoint = _Endpoint(
+ settings={
+ 'response_type': (ListDatabaseInstancesResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/ailake/database/instances',
+ 'operation_id': 'list_ai_lake_database_instances',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'size',
+ 'offset',
+ 'meta_include',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'size':
+ (int,),
+ 'offset':
+ (int,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'size': 'size',
+ 'offset': 'offset',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'size': 'query',
+ 'offset': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'multi',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.list_ai_lake_services_endpoint = _Endpoint(
+ settings={
+ 'response_type': (ListServicesResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/ailake/services',
+ 'operation_id': 'list_ai_lake_services',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'size',
+ 'offset',
+ 'meta_include',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'size':
+ (int,),
+ 'offset':
+ (int,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'size': 'size',
+ 'offset': 'offset',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'size': 'query',
+ 'offset': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'multi',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.provision_ai_lake_database_instance_endpoint = _Endpoint(
settings={
'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
'auth': [],
- 'endpoint_path': '/api/v1/ailake/database/instance',
+ 'endpoint_path': '/api/v1/ailake/database/instances',
'operation_id': 'provision_ai_lake_database_instance',
'http_method': 'POST',
'servers': None,
@@ -245,6 +372,73 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.run_ai_lake_service_command_endpoint = _Endpoint(
+ settings={
+ 'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/ailake/services/{serviceId}/commands/{commandName}/run',
+ 'operation_id': 'run_ai_lake_service_command',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'service_id',
+ 'command_name',
+ 'run_service_command_request',
+ 'operation_id',
+ ],
+ 'required': [
+ 'service_id',
+ 'command_name',
+ 'run_service_command_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'service_id':
+ (str,),
+ 'command_name':
+ (str,),
+ 'run_service_command_request':
+ (RunServiceCommandRequest,),
+ 'operation_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'service_id': 'serviceId',
+ 'command_name': 'commandName',
+ 'operation_id': 'operation-id',
+ },
+ 'location_map': {
+ 'service_id': 'path',
+ 'command_name': 'path',
+ 'run_service_command_request': 'body',
+ 'operation_id': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
def deprovision_ai_lake_database_instance(
self,
@@ -496,6 +690,168 @@ def get_ai_lake_operation(
operation_id
return self.get_ai_lake_operation_endpoint.call_with_http_info(**kwargs)
+ def list_ai_lake_database_instances(
+ self,
+ **kwargs
+ ):
+ """(BETA) List AI Lake Database instances # noqa: E501
+
+ (BETA) Lists database instances in the organization's AI Lake. Supports paging via size and offset query parameters. Use metaInclude=page to get total count. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.list_ai_lake_database_instances(async_req=True)
+ >>> result = thread.get()
+
+
+ Keyword Args:
+ size (int): [optional] if omitted the server will use the default value of 50
+ offset (int): [optional] if omitted the server will use the default value of 0
+ meta_include ([str]): [optional]
+ _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:
+ ListDatabaseInstancesResponse
+ 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)
+ return self.list_ai_lake_database_instances_endpoint.call_with_http_info(**kwargs)
+
+ def list_ai_lake_services(
+ self,
+ **kwargs
+ ):
+ """(BETA) List AI Lake services # noqa: E501
+
+ (BETA) Lists services configured for the organization's AI Lake. Returns only non-sensitive fields (id, name). Supports paging via size and offset query parameters. Use metaInclude=page to get total count. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.list_ai_lake_services(async_req=True)
+ >>> result = thread.get()
+
+
+ Keyword Args:
+ size (int): [optional] if omitted the server will use the default value of 50
+ offset (int): [optional] if omitted the server will use the default value of 0
+ meta_include ([str]): [optional]
+ _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:
+ ListServicesResponse
+ 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)
+ return self.list_ai_lake_services_endpoint.call_with_http_info(**kwargs)
+
def provision_ai_lake_database_instance(
self,
provision_database_instance_request,
@@ -580,3 +936,95 @@ def provision_ai_lake_database_instance(
provision_database_instance_request
return self.provision_ai_lake_database_instance_endpoint.call_with_http_info(**kwargs)
+ def run_ai_lake_service_command(
+ self,
+ service_id,
+ command_name,
+ run_service_command_request,
+ **kwargs
+ ):
+ """(BETA) Run an AI Lake services command # noqa: E501
+
+ (BETA) Runs a specific AI Lake service command. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.run_ai_lake_service_command(service_id, command_name, run_service_command_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ service_id (str):
+ command_name (str):
+ run_service_command_request (RunServiceCommandRequest):
+
+ Keyword Args:
+ operation_id (str): [optional]
+ _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:
+ {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
+ 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['service_id'] = \
+ service_id
+ kwargs['command_name'] = \
+ command_name
+ kwargs['run_service_command_request'] = \
+ run_service_command_request
+ return self.run_ai_lake_service_command_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/certification_api.py b/gooddata-api-client/gooddata_api_client/api/certification_api.py
new file mode 100644
index 000000000..e150d3d01
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/certification_api.py
@@ -0,0 +1,180 @@
+"""
+ 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.set_certification_request import SetCertificationRequest
+
+
+class CertificationApi(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.set_certification_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/setCertification',
+ 'operation_id': 'set_certification',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'set_certification_request',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'set_certification_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'set_certification_request':
+ (SetCertificationRequest,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'set_certification_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def set_certification(
+ self,
+ workspace_id,
+ set_certification_request,
+ **kwargs
+ ):
+ """Set Certification # noqa: E501
+
+ Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.set_certification(workspace_id, set_certification_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ set_certification_request (SetCertificationRequest):
+
+ 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['set_certification_request'] = \
+ set_certification_request
+ return self.set_certification_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/dashboards_api.py b/gooddata-api-client/gooddata_api_client/api/dashboards_api.py
index 6402f33ea..5bd88d55d 100644
--- a/gooddata-api-client/gooddata_api_client/api/dashboards_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/dashboards_api.py
@@ -90,6 +90,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -257,6 +258,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -377,6 +379,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -478,6 +481,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -642,6 +646,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
diff --git a/gooddata-api-client/gooddata_api_client/api/entities_api.py b/gooddata-api-client/gooddata_api_client/api/entities_api.py
index 352992ed7..0b67eeb16 100644
--- a/gooddata-api-client/gooddata_api_client/api/entities_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/entities_api.py
@@ -123,6 +123,10 @@
from gooddata_api_client.model.json_api_llm_endpoint_out_document import JsonApiLlmEndpointOutDocument
from gooddata_api_client.model.json_api_llm_endpoint_out_list import JsonApiLlmEndpointOutList
from gooddata_api_client.model.json_api_llm_endpoint_patch_document import JsonApiLlmEndpointPatchDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
from gooddata_api_client.model.json_api_memory_item_in_document import JsonApiMemoryItemInDocument
from gooddata_api_client.model.json_api_memory_item_out_document import JsonApiMemoryItemOutDocument
from gooddata_api_client.model.json_api_memory_item_out_list import JsonApiMemoryItemOutList
@@ -254,6 +258,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -1492,6 +1497,58 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.create_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'create_entity_llm_providers',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'required': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'json_api_llm_provider_in_document': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
self.create_entity_memory_items_endpoint = _Endpoint(
settings={
'response_type': (JsonApiMemoryItemOutDocument,),
@@ -1628,6 +1685,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -2160,6 +2218,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -3602,6 +3661,65 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.delete_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'delete_entity_llm_providers',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.delete_entity_memory_items_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -4713,6 +4831,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -7127,6 +7246,87 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.get_all_entities_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'get_all_entities_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'meta_include',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'filter': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.get_all_entities_memory_items_endpoint = _Endpoint(
settings={
'response_type': (JsonApiMemoryItemOutList,),
@@ -7305,6 +7505,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -8236,6 +8437,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -8978,6 +9180,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -10970,6 +11173,68 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.get_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'get_entity_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.get_entity_memory_items_endpoint = _Endpoint(
settings={
'response_type': (JsonApiMemoryItemOutDocument,),
@@ -11116,6 +11381,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -11944,6 +12210,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -12469,6 +12736,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -14145,6 +14413,76 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.patch_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'patch_entity_llm_providers',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_llm_provider_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_llm_provider_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_llm_provider_patch_document':
+ (JsonApiLlmProviderPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_llm_provider_patch_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
self.patch_entity_memory_items_endpoint = _Endpoint(
settings={
'response_type': (JsonApiMemoryItemOutDocument,),
@@ -14272,6 +14610,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -14911,6 +15250,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -16945,6 +17285,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -18286,6 +18627,76 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.update_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'update_entity_llm_providers',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_llm_provider_in_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
self.update_entity_memory_items_endpoint = _Endpoint(
settings={
'response_type': (JsonApiMemoryItemOutDocument,),
@@ -18413,6 +18824,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -19128,6 +19540,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -20655,7 +21068,91 @@ def create_entity_filter_views(
async_req (bool): execute request asynchronously
Returns:
- JsonApiFilterViewOutDocument
+ JsonApiFilterViewOutDocument
+ 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['json_api_filter_view_in_document'] = \
+ json_api_filter_view_in_document
+ return self.create_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+
+ def create_entity_identity_providers(
+ self,
+ json_api_identity_provider_in_document,
+ **kwargs
+ ):
+ """Post Identity Providers # 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_entity_identity_providers(json_api_identity_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_identity_provider_in_document (JsonApiIdentityProviderInDocument):
+
+ 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:
+ JsonApiIdentityProviderOutDocument
If the method is called asynchronously, returns the request
thread.
"""
@@ -20684,27 +21181,26 @@ def create_entity_filter_views(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['json_api_filter_view_in_document'] = \
- json_api_filter_view_in_document
- return self.create_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+ kwargs['json_api_identity_provider_in_document'] = \
+ json_api_identity_provider_in_document
+ return self.create_entity_identity_providers_endpoint.call_with_http_info(**kwargs)
- def create_entity_identity_providers(
+ def create_entity_jwks(
self,
- json_api_identity_provider_in_document,
+ json_api_jwk_in_document,
**kwargs
):
- """Post Identity Providers # noqa: E501
+ """Post Jwks # noqa: E501
+ Creates JSON web key - used to verify JSON web tokens (Jwts) # 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_entity_identity_providers(json_api_identity_provider_in_document, async_req=True)
+ >>> thread = api.create_entity_jwks(json_api_jwk_in_document, async_req=True)
>>> result = thread.get()
Args:
- json_api_identity_provider_in_document (JsonApiIdentityProviderInDocument):
+ json_api_jwk_in_document (JsonApiJwkInDocument):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -20739,7 +21235,7 @@ def create_entity_identity_providers(
async_req (bool): execute request asynchronously
Returns:
- JsonApiIdentityProviderOutDocument
+ JsonApiJwkOutDocument
If the method is called asynchronously, returns the request
thread.
"""
@@ -20768,28 +21264,31 @@ def create_entity_identity_providers(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['json_api_identity_provider_in_document'] = \
- json_api_identity_provider_in_document
- return self.create_entity_identity_providers_endpoint.call_with_http_info(**kwargs)
+ kwargs['json_api_jwk_in_document'] = \
+ json_api_jwk_in_document
+ return self.create_entity_jwks_endpoint.call_with_http_info(**kwargs)
- def create_entity_jwks(
+ def create_entity_knowledge_recommendations(
self,
- json_api_jwk_in_document,
+ workspace_id,
+ json_api_knowledge_recommendation_post_optional_id_document,
**kwargs
):
- """Post Jwks # noqa: E501
+ """create_entity_knowledge_recommendations # noqa: E501
- Creates JSON web key - used to verify JSON web tokens (Jwts) # 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_entity_jwks(json_api_jwk_in_document, async_req=True)
+ >>> thread = api.create_entity_knowledge_recommendations(workspace_id, json_api_knowledge_recommendation_post_optional_id_document, async_req=True)
>>> result = thread.get()
Args:
- json_api_jwk_in_document (JsonApiJwkInDocument):
+ workspace_id (str):
+ json_api_knowledge_recommendation_post_optional_id_document (JsonApiKnowledgeRecommendationPostOptionalIdDocument):
Keyword Args:
+ include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional]
+ meta_include ([str]): Include Meta objects.. [optional]
_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
@@ -20822,7 +21321,7 @@ def create_entity_jwks(
async_req (bool): execute request asynchronously
Returns:
- JsonApiJwkOutDocument
+ JsonApiKnowledgeRecommendationOutDocument
If the method is called asynchronously, returns the request
thread.
"""
@@ -20851,31 +21350,29 @@ def create_entity_jwks(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['json_api_jwk_in_document'] = \
- json_api_jwk_in_document
- return self.create_entity_jwks_endpoint.call_with_http_info(**kwargs)
+ kwargs['workspace_id'] = \
+ workspace_id
+ kwargs['json_api_knowledge_recommendation_post_optional_id_document'] = \
+ json_api_knowledge_recommendation_post_optional_id_document
+ return self.create_entity_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
- def create_entity_knowledge_recommendations(
+ def create_entity_llm_endpoints(
self,
- workspace_id,
- json_api_knowledge_recommendation_post_optional_id_document,
+ json_api_llm_endpoint_in_document,
**kwargs
):
- """create_entity_knowledge_recommendations # noqa: E501
+ """Post LLM endpoint entities # 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_entity_knowledge_recommendations(workspace_id, json_api_knowledge_recommendation_post_optional_id_document, async_req=True)
+ >>> thread = api.create_entity_llm_endpoints(json_api_llm_endpoint_in_document, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- json_api_knowledge_recommendation_post_optional_id_document (JsonApiKnowledgeRecommendationPostOptionalIdDocument):
+ json_api_llm_endpoint_in_document (JsonApiLlmEndpointInDocument):
Keyword Args:
- include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional]
- meta_include ([str]): Include Meta objects.. [optional]
_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
@@ -20908,7 +21405,7 @@ def create_entity_knowledge_recommendations(
async_req (bool): execute request asynchronously
Returns:
- JsonApiKnowledgeRecommendationOutDocument
+ JsonApiLlmEndpointOutDocument
If the method is called asynchronously, returns the request
thread.
"""
@@ -20937,27 +21434,26 @@ def create_entity_knowledge_recommendations(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['json_api_knowledge_recommendation_post_optional_id_document'] = \
- json_api_knowledge_recommendation_post_optional_id_document
- return self.create_entity_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
+ kwargs['json_api_llm_endpoint_in_document'] = \
+ json_api_llm_endpoint_in_document
+ return self.create_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
- def create_entity_llm_endpoints(
+ def create_entity_llm_providers(
self,
- json_api_llm_endpoint_in_document,
+ json_api_llm_provider_in_document,
**kwargs
):
- """Post LLM endpoint entities # noqa: E501
+ """Post LLM Provider entities # noqa: E501
+ LLM Provider - connection configuration for LLM services # 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_entity_llm_endpoints(json_api_llm_endpoint_in_document, async_req=True)
+ >>> thread = api.create_entity_llm_providers(json_api_llm_provider_in_document, async_req=True)
>>> result = thread.get()
Args:
- json_api_llm_endpoint_in_document (JsonApiLlmEndpointInDocument):
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -20992,7 +21488,7 @@ def create_entity_llm_endpoints(
async_req (bool): execute request asynchronously
Returns:
- JsonApiLlmEndpointOutDocument
+ JsonApiLlmProviderOutDocument
If the method is called asynchronously, returns the request
thread.
"""
@@ -21021,9 +21517,9 @@ def create_entity_llm_endpoints(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['json_api_llm_endpoint_in_document'] = \
- json_api_llm_endpoint_in_document
- return self.create_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ kwargs['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.create_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
def create_entity_memory_items(
self,
@@ -23166,103 +23662,190 @@ def delete_entity_export_definitions(
workspace_id
kwargs['object_id'] = \
object_id
- return self.delete_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
-
- def delete_entity_export_templates(
- self,
- id,
- **kwargs
- ):
- """Delete Export Template entity # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
-
- >>> thread = api.delete_entity_export_templates(id, async_req=True)
- >>> result = thread.get()
-
- Args:
- id (str):
-
- Keyword Args:
- filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
- _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['id'] = \
- id
- return self.delete_entity_export_templates_endpoint.call_with_http_info(**kwargs)
+ return self.delete_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_export_templates(
+ self,
+ id,
+ **kwargs
+ ):
+ """Delete Export Template entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.delete_entity_export_templates(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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['id'] = \
+ id
+ return self.delete_entity_export_templates_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_filter_contexts(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Filter Context # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.delete_entity_filter_contexts(workspace_id, object_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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['object_id'] = \
+ object_id
+ return self.delete_entity_filter_contexts_endpoint.call_with_http_info(**kwargs)
- def delete_entity_filter_contexts(
+ def delete_entity_filter_views(
self,
workspace_id,
object_id,
**kwargs
):
- """Delete a Filter Context # noqa: E501
+ """Delete Filter view # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_filter_contexts(workspace_id, object_id, async_req=True)
+ >>> thread = api.delete_entity_filter_views(workspace_id, object_id, async_req=True)
>>> result = thread.get()
Args:
@@ -23336,25 +23919,23 @@ def delete_entity_filter_contexts(
workspace_id
kwargs['object_id'] = \
object_id
- return self.delete_entity_filter_contexts_endpoint.call_with_http_info(**kwargs)
+ return self.delete_entity_filter_views_endpoint.call_with_http_info(**kwargs)
- def delete_entity_filter_views(
+ def delete_entity_identity_providers(
self,
- workspace_id,
- object_id,
+ id,
**kwargs
):
- """Delete Filter view # noqa: E501
+ """Delete Identity Provider # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_filter_views(workspace_id, object_id, async_req=True)
+ >>> thread = api.delete_entity_identity_providers(id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- object_id (str):
+ id (str):
Keyword Args:
filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
@@ -23419,23 +24000,22 @@ def delete_entity_filter_views(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['object_id'] = \
- object_id
- return self.delete_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+ kwargs['id'] = \
+ id
+ return self.delete_entity_identity_providers_endpoint.call_with_http_info(**kwargs)
- def delete_entity_identity_providers(
+ def delete_entity_jwks(
self,
id,
**kwargs
):
- """Delete Identity Provider # noqa: E501
+ """Delete Jwk # noqa: E501
+ Deletes JSON web key - used to verify JSON web tokens (Jwts) # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_identity_providers(id, async_req=True)
+ >>> thread = api.delete_entity_jwks(id, async_req=True)
>>> result = thread.get()
Args:
@@ -23506,24 +24086,25 @@ def delete_entity_identity_providers(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['id'] = \
id
- return self.delete_entity_identity_providers_endpoint.call_with_http_info(**kwargs)
+ return self.delete_entity_jwks_endpoint.call_with_http_info(**kwargs)
- def delete_entity_jwks(
+ def delete_entity_knowledge_recommendations(
self,
- id,
+ workspace_id,
+ object_id,
**kwargs
):
- """Delete Jwk # noqa: E501
+ """delete_entity_knowledge_recommendations # noqa: E501
- Deletes JSON web key - used to verify JSON web tokens (Jwts) # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_jwks(id, async_req=True)
+ >>> thread = api.delete_entity_knowledge_recommendations(workspace_id, object_id, async_req=True)
>>> result = thread.get()
Args:
- id (str):
+ workspace_id (str):
+ object_id (str):
Keyword Args:
filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
@@ -23588,27 +24169,27 @@ def delete_entity_jwks(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['id'] = \
- id
- return self.delete_entity_jwks_endpoint.call_with_http_info(**kwargs)
+ kwargs['workspace_id'] = \
+ workspace_id
+ kwargs['object_id'] = \
+ object_id
+ return self.delete_entity_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
- def delete_entity_knowledge_recommendations(
+ def delete_entity_llm_endpoints(
self,
- workspace_id,
- object_id,
+ id,
**kwargs
):
- """delete_entity_knowledge_recommendations # noqa: E501
+ """delete_entity_llm_endpoints # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_knowledge_recommendations(workspace_id, object_id, async_req=True)
+ >>> thread = api.delete_entity_llm_endpoints(id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- object_id (str):
+ id (str):
Keyword Args:
filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
@@ -23673,23 +24254,21 @@ def delete_entity_knowledge_recommendations(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['object_id'] = \
- object_id
- return self.delete_entity_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
+ kwargs['id'] = \
+ id
+ return self.delete_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
- def delete_entity_llm_endpoints(
+ def delete_entity_llm_providers(
self,
id,
**kwargs
):
- """delete_entity_llm_endpoints # noqa: E501
+ """Delete LLM Provider entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.delete_entity_llm_endpoints(id, async_req=True)
+ >>> thread = api.delete_entity_llm_providers(id, async_req=True)
>>> result = thread.get()
Args:
@@ -23760,7 +24339,7 @@ def delete_entity_llm_endpoints(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['id'] = \
id
- return self.delete_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ return self.delete_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
def delete_entity_memory_items(
self,
@@ -27038,32 +27617,116 @@ def get_all_entities_knowledge_recommendations(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- return self.get_all_entities_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_knowledge_recommendations_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_labels(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Labels # 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_all_entities_labels(workspace_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional]
+ page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
+ size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20
+ sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional]
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ meta_include ([str]): Include Meta objects.. [optional]
+ _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:
+ JsonApiLabelOutList
+ 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
+ return self.get_all_entities_labels_endpoint.call_with_http_info(**kwargs)
- def get_all_entities_labels(
+ def get_all_entities_llm_endpoints(
self,
- workspace_id,
**kwargs
):
- """Get all Labels # noqa: E501
+ """Get all LLM endpoint entities # 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_all_entities_labels(workspace_id, async_req=True)
+ >>> thread = api.get_all_entities_llm_endpoints(async_req=True)
>>> result = thread.get()
- Args:
- workspace_id (str):
Keyword Args:
- origin (str): [optional] if omitted the server will use the default value of "ALL"
filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
- include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional]
page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20
sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional]
- x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
meta_include ([str]): Include Meta objects.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
@@ -27097,7 +27760,7 @@ def get_all_entities_labels(
async_req (bool): execute request asynchronously
Returns:
- JsonApiLabelOutList
+ JsonApiLlmEndpointOutList
If the method is called asynchronously, returns the request
thread.
"""
@@ -27126,20 +27789,18 @@ def get_all_entities_labels(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- return self.get_all_entities_labels_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_llm_endpoints_endpoint.call_with_http_info(**kwargs)
- def get_all_entities_llm_endpoints(
+ def get_all_entities_llm_providers(
self,
**kwargs
):
- """Get all LLM endpoint entities # noqa: E501
+ """Get all LLM Provider entities # 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_all_entities_llm_endpoints(async_req=True)
+ >>> thread = api.get_all_entities_llm_providers(async_req=True)
>>> result = thread.get()
@@ -27181,7 +27842,7 @@ def get_all_entities_llm_endpoints(
async_req (bool): execute request asynchronously
Returns:
- JsonApiLlmEndpointOutList
+ JsonApiLlmProviderOutList
If the method is called asynchronously, returns the request
thread.
"""
@@ -27210,7 +27871,7 @@ def get_all_entities_llm_endpoints(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- return self.get_all_entities_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_llm_providers_endpoint.call_with_http_info(**kwargs)
def get_all_entities_memory_items(
self,
@@ -31011,6 +31672,89 @@ def get_entity_llm_endpoints(
id
return self.get_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def get_entity_llm_providers(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get LLM Provider entity # 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_entity_llm_providers(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ return self.get_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def get_entity_memory_items(
self,
workspace_id,
@@ -34544,6 +35288,93 @@ def patch_entity_llm_endpoints(
json_api_llm_endpoint_patch_document
return self.patch_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def patch_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_patch_document,
+ **kwargs
+ ):
+ """Patch LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_patch_document (JsonApiLlmProviderPatchDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_patch_document'] = \
+ json_api_llm_provider_patch_document
+ return self.patch_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def patch_entity_memory_items(
self,
workspace_id,
@@ -39352,6 +40183,93 @@ def update_entity_llm_endpoints(
json_api_llm_endpoint_in_document
return self.update_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def update_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_in_document,
+ **kwargs
+ ):
+ """PUT LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.update_entity_llm_providers(id, json_api_llm_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.update_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def update_entity_memory_items(
self,
workspace_id,
diff --git a/gooddata-api-client/gooddata_api_client/api/llm_providers_api.py b/gooddata-api-client/gooddata_api_client/api/llm_providers_api.py
new file mode 100644
index 000000000..c2db36e59
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/llm_providers_api.py
@@ -0,0 +1,941 @@
+"""
+ 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.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
+
+
+class LLMProvidersApi(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_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'create_entity_llm_providers',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'required': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'json_api_llm_provider_in_document': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.delete_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'delete_entity_llm_providers',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'get_all_entities_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'meta_include',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'filter': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'get_entity_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'patch_entity_llm_providers',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_llm_provider_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_llm_provider_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_llm_provider_patch_document':
+ (JsonApiLlmProviderPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_llm_provider_patch_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'update_entity_llm_providers',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_llm_provider_in_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def create_entity_llm_providers(
+ self,
+ json_api_llm_provider_in_document,
+ **kwargs
+ ):
+ """Post LLM Provider entities # noqa: E501
+
+ LLM Provider - connection configuration for LLM services # 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_entity_llm_providers(json_api_llm_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
+
+ 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:
+ JsonApiLlmProviderOutDocument
+ 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['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.create_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_llm_providers(
+ self,
+ id,
+ **kwargs
+ ):
+ """Delete LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.delete_entity_llm_providers(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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['id'] = \
+ id
+ return self.delete_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_llm_providers(
+ self,
+ **kwargs
+ ):
+ """Get all LLM Provider entities # 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_all_entities_llm_providers(async_req=True)
+ >>> result = thread.get()
+
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
+ size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20
+ sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional]
+ meta_include ([str]): Include Meta objects.. [optional]
+ _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:
+ JsonApiLlmProviderOutList
+ 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)
+ return self.get_all_entities_llm_providers_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_llm_providers(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get LLM Provider entity # 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_entity_llm_providers(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ return self.get_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_patch_document,
+ **kwargs
+ ):
+ """Patch LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_patch_document (JsonApiLlmProviderPatchDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_patch_document'] = \
+ json_api_llm_provider_patch_document
+ return self.patch_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_in_document,
+ **kwargs
+ ):
+ """PUT LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.update_entity_llm_providers(id, json_api_llm_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.update_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/metrics_api.py b/gooddata-api-client/gooddata_api_client/api/metrics_api.py
index e945b664b..914bce346 100644
--- a/gooddata-api-client/gooddata_api_client/api/metrics_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/metrics_api.py
@@ -88,6 +88,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -251,6 +252,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -367,6 +369,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -464,6 +467,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -626,6 +630,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
diff --git a/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py b/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py
index 86caf1455..fbfbc7396 100644
--- a/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py
@@ -59,6 +59,10 @@
from gooddata_api_client.model.json_api_llm_endpoint_out_document import JsonApiLlmEndpointOutDocument
from gooddata_api_client.model.json_api_llm_endpoint_out_list import JsonApiLlmEndpointOutList
from gooddata_api_client.model.json_api_llm_endpoint_patch_document import JsonApiLlmEndpointPatchDocument
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
from gooddata_api_client.model.json_api_notification_channel_identifier_out_document import JsonApiNotificationChannelIdentifierOutDocument
from gooddata_api_client.model.json_api_notification_channel_identifier_out_list import JsonApiNotificationChannelIdentifierOutList
from gooddata_api_client.model.json_api_notification_channel_in_document import JsonApiNotificationChannelInDocument
@@ -534,6 +538,58 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.create_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'create_entity_llm_providers',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'required': [
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'json_api_llm_provider_in_document': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
self.create_entity_notification_channels_endpoint = _Endpoint(
settings={
'response_type': (JsonApiNotificationChannelOutDocument,),
@@ -1376,6 +1432,65 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.delete_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'delete_entity_llm_providers',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.delete_entity_notification_channels_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -2542,6 +2657,87 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.get_all_entities_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders',
+ 'operation_id': 'get_all_entities_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'meta_include',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'filter': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.get_all_entities_notification_channel_identifiers_endpoint = _Endpoint(
settings={
'response_type': (JsonApiNotificationChannelIdentifierOutList,),
@@ -3886,6 +4082,68 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.get_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'get_entity_llm_providers',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.get_entity_notification_channel_identifiers_endpoint = _Endpoint(
settings={
'response_type': (JsonApiNotificationChannelIdentifierOutDocument,),
@@ -5000,24 +5258,24 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.patch_entity_notification_channels_endpoint = _Endpoint(
+ self.patch_entity_llm_providers_endpoint = _Endpoint(
settings={
- 'response_type': (JsonApiNotificationChannelOutDocument,),
+ 'response_type': (JsonApiLlmProviderOutDocument,),
'auth': [],
- 'endpoint_path': '/api/v1/entities/notificationChannels/{id}',
- 'operation_id': 'patch_entity_notification_channels',
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'patch_entity_llm_providers',
'http_method': 'PATCH',
'servers': None,
},
params_map={
'all': [
'id',
- 'json_api_notification_channel_patch_document',
+ 'json_api_llm_provider_patch_document',
'filter',
],
'required': [
'id',
- 'json_api_notification_channel_patch_document',
+ 'json_api_llm_provider_patch_document',
],
'nullable': [
],
@@ -5041,8 +5299,8 @@ def __init__(self, api_client=None):
'openapi_types': {
'id':
(str,),
- 'json_api_notification_channel_patch_document':
- (JsonApiNotificationChannelPatchDocument,),
+ 'json_api_llm_provider_patch_document':
+ (JsonApiLlmProviderPatchDocument,),
'filter':
(str,),
},
@@ -5052,7 +5310,7 @@ def __init__(self, api_client=None):
},
'location_map': {
'id': 'path',
- 'json_api_notification_channel_patch_document': 'body',
+ 'json_api_llm_provider_patch_document': 'body',
'filter': 'query',
},
'collection_format_map': {
@@ -5070,24 +5328,24 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.patch_entity_organization_settings_endpoint = _Endpoint(
+ self.patch_entity_notification_channels_endpoint = _Endpoint(
settings={
- 'response_type': (JsonApiOrganizationSettingOutDocument,),
+ 'response_type': (JsonApiNotificationChannelOutDocument,),
'auth': [],
- 'endpoint_path': '/api/v1/entities/organizationSettings/{id}',
- 'operation_id': 'patch_entity_organization_settings',
+ 'endpoint_path': '/api/v1/entities/notificationChannels/{id}',
+ 'operation_id': 'patch_entity_notification_channels',
'http_method': 'PATCH',
'servers': None,
},
params_map={
'all': [
'id',
- 'json_api_organization_setting_patch_document',
+ 'json_api_notification_channel_patch_document',
'filter',
],
'required': [
'id',
- 'json_api_organization_setting_patch_document',
+ 'json_api_notification_channel_patch_document',
],
'nullable': [
],
@@ -5111,7 +5369,77 @@ def __init__(self, api_client=None):
'openapi_types': {
'id':
(str,),
- 'json_api_organization_setting_patch_document':
+ 'json_api_notification_channel_patch_document':
+ (JsonApiNotificationChannelPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_notification_channel_patch_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.patch_entity_organization_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiOrganizationSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/organizationSettings/{id}',
+ 'operation_id': 'patch_entity_organization_settings',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_organization_setting_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_organization_setting_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_organization_setting_patch_document':
(JsonApiOrganizationSettingPatchDocument,),
'filter':
(str,),
@@ -6018,6 +6346,76 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.update_entity_llm_providers_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLlmProviderOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/llmProviders/{id}',
+ 'operation_id': 'update_entity_llm_providers',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_llm_provider_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_llm_provider_in_document':
+ (JsonApiLlmProviderInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_llm_provider_in_document': 'body',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
self.update_entity_notification_channels_endpoint = _Endpoint(
settings={
'response_type': (JsonApiNotificationChannelOutDocument,),
@@ -7137,6 +7535,89 @@ def create_entity_llm_endpoints(
json_api_llm_endpoint_in_document
return self.create_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def create_entity_llm_providers(
+ self,
+ json_api_llm_provider_in_document,
+ **kwargs
+ ):
+ """Post LLM Provider entities # noqa: E501
+
+ LLM Provider - connection configuration for LLM services # 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_entity_llm_providers(json_api_llm_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
+
+ 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:
+ JsonApiLlmProviderOutDocument
+ 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['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.create_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def create_entity_notification_channels(
self,
json_api_notification_channel_post_optional_id_document,
@@ -8303,6 +8784,89 @@ def delete_entity_llm_endpoints(
id
return self.delete_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def delete_entity_llm_providers(
+ self,
+ id,
+ **kwargs
+ ):
+ """Delete LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.delete_entity_llm_providers(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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['id'] = \
+ id
+ return self.delete_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def delete_entity_notification_channels(
self,
id,
@@ -9390,7 +9954,90 @@ def get_all_entities_identity_providers(
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_all_entities_identity_providers(async_req=True)
+ >>> thread = api.get_all_entities_identity_providers(async_req=True)
+ >>> result = thread.get()
+
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0
+ size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20
+ sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional]
+ meta_include ([str]): Include Meta objects.. [optional]
+ _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:
+ JsonApiIdentityProviderOutList
+ 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)
+ return self.get_all_entities_identity_providers_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_jwks(
+ self,
+ **kwargs
+ ):
+ """Get all Jwks # noqa: E501
+
+ Returns all JSON web keys - used to verify JSON web tokens (Jwts) # 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_all_entities_jwks(async_req=True)
>>> result = thread.get()
@@ -9432,7 +10079,7 @@ def get_all_entities_identity_providers(
async_req (bool): execute request asynchronously
Returns:
- JsonApiIdentityProviderOutList
+ JsonApiJwkOutList
If the method is called asynchronously, returns the request
thread.
"""
@@ -9461,19 +10108,18 @@ def get_all_entities_identity_providers(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- return self.get_all_entities_identity_providers_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_jwks_endpoint.call_with_http_info(**kwargs)
- def get_all_entities_jwks(
+ def get_all_entities_llm_endpoints(
self,
**kwargs
):
- """Get all Jwks # noqa: E501
+ """Get all LLM endpoint entities # noqa: E501
- Returns all JSON web keys - used to verify JSON web tokens (Jwts) # 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_all_entities_jwks(async_req=True)
+ >>> thread = api.get_all_entities_llm_endpoints(async_req=True)
>>> result = thread.get()
@@ -9515,7 +10161,7 @@ def get_all_entities_jwks(
async_req (bool): execute request asynchronously
Returns:
- JsonApiJwkOutList
+ JsonApiLlmEndpointOutList
If the method is called asynchronously, returns the request
thread.
"""
@@ -9544,18 +10190,18 @@ def get_all_entities_jwks(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- return self.get_all_entities_jwks_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_llm_endpoints_endpoint.call_with_http_info(**kwargs)
- def get_all_entities_llm_endpoints(
+ def get_all_entities_llm_providers(
self,
**kwargs
):
- """Get all LLM endpoint entities # noqa: E501
+ """Get all LLM Provider entities # 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_all_entities_llm_endpoints(async_req=True)
+ >>> thread = api.get_all_entities_llm_providers(async_req=True)
>>> result = thread.get()
@@ -9597,7 +10243,7 @@ def get_all_entities_llm_endpoints(
async_req (bool): execute request asynchronously
Returns:
- JsonApiLlmEndpointOutList
+ JsonApiLlmProviderOutList
If the method is called asynchronously, returns the request
thread.
"""
@@ -9626,7 +10272,7 @@ def get_all_entities_llm_endpoints(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- return self.get_all_entities_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ return self.get_all_entities_llm_providers_endpoint.call_with_http_info(**kwargs)
def get_all_entities_notification_channel_identifiers(
self,
@@ -11127,6 +11773,89 @@ def get_entity_llm_endpoints(
id
return self.get_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def get_entity_llm_providers(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get LLM Provider entity # 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_entity_llm_providers(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ return self.get_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def get_entity_notification_channel_identifiers(
self,
id,
@@ -12498,6 +13227,93 @@ def patch_entity_llm_endpoints(
json_api_llm_endpoint_patch_document
return self.patch_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def patch_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_patch_document,
+ **kwargs
+ ):
+ """Patch LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.patch_entity_llm_providers(id, json_api_llm_provider_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_patch_document (JsonApiLlmProviderPatchDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_patch_document'] = \
+ json_api_llm_provider_patch_document
+ return self.patch_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def patch_entity_notification_channels(
self,
id,
@@ -13725,6 +14541,93 @@ def update_entity_llm_endpoints(
json_api_llm_endpoint_in_document
return self.update_entity_llm_endpoints_endpoint.call_with_http_info(**kwargs)
+ def update_entity_llm_providers(
+ self,
+ id,
+ json_api_llm_provider_in_document,
+ **kwargs
+ ):
+ """PUT LLM Provider entity # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.update_entity_llm_providers(id, json_api_llm_provider_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_llm_provider_in_document (JsonApiLlmProviderInDocument):
+
+ Keyword Args:
+ filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional]
+ _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:
+ JsonApiLlmProviderOutDocument
+ 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['id'] = \
+ id
+ kwargs['json_api_llm_provider_in_document'] = \
+ json_api_llm_provider_in_document
+ return self.update_entity_llm_providers_endpoint.call_with_http_info(**kwargs)
+
def update_entity_notification_channels(
self,
id,
diff --git a/gooddata-api-client/gooddata_api_client/api/smart_functions_api.py b/gooddata-api-client/gooddata_api_client/api/smart_functions_api.py
index 10e2689f3..acd5cc343 100644
--- a/gooddata-api-client/gooddata_api_client/api/smart_functions_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/smart_functions_api.py
@@ -35,6 +35,10 @@
from gooddata_api_client.model.clustering_result import ClusteringResult
from gooddata_api_client.model.forecast_request import ForecastRequest
from gooddata_api_client.model.forecast_result import ForecastResult
+from gooddata_api_client.model.generate_description_request import GenerateDescriptionRequest
+from gooddata_api_client.model.generate_description_response import GenerateDescriptionResponse
+from gooddata_api_client.model.generate_title_request import GenerateTitleRequest
+from gooddata_api_client.model.generate_title_response import GenerateTitleResponse
from gooddata_api_client.model.get_quality_issues_response import GetQualityIssuesResponse
from gooddata_api_client.model.memory_item_created_by_users import MemoryItemCreatedByUsers
from gooddata_api_client.model.quality_issues_calculation_status_response import QualityIssuesCalculationStatusResponse
@@ -42,6 +46,8 @@
from gooddata_api_client.model.search_request import SearchRequest
from gooddata_api_client.model.search_result import SearchResult
from gooddata_api_client.model.smart_function_response import SmartFunctionResponse
+from gooddata_api_client.model.test_llm_provider_definition_request import TestLlmProviderDefinitionRequest
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
from gooddata_api_client.model.trigger_quality_issues_calculation_response import TriggerQualityIssuesCalculationResponse
from gooddata_api_client.model.validate_llm_endpoint_by_id_request import ValidateLLMEndpointByIdRequest
from gooddata_api_client.model.validate_llm_endpoint_request import ValidateLLMEndpointRequest
@@ -861,6 +867,132 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.generate_description_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GenerateDescriptionResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription',
+ 'operation_id': 'generate_description',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'generate_description_request',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'generate_description_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'generate_description_request':
+ (GenerateDescriptionRequest,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'generate_description_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.generate_title_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GenerateTitleResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle',
+ 'operation_id': 'generate_title',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'generate_title_request',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'generate_title_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'generate_title_request':
+ (GenerateTitleRequest,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'generate_title_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.get_quality_issues_endpoint = _Endpoint(
settings={
'response_type': (GetQualityIssuesResponse,),
@@ -1147,6 +1279,105 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.test_llm_provider_endpoint = _Endpoint(
+ settings={
+ 'response_type': (TestLlmProviderResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/ai/llmProvider/test',
+ 'operation_id': 'test_llm_provider',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'test_llm_provider_definition_request',
+ ],
+ 'required': [
+ 'test_llm_provider_definition_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'test_llm_provider_definition_request':
+ (TestLlmProviderDefinitionRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'test_llm_provider_definition_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.test_llm_provider_by_id_endpoint = _Endpoint(
+ settings={
+ 'response_type': (TestLlmProviderResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/ai/llmProvider/{llmProviderId}/test',
+ 'operation_id': 'test_llm_provider_by_id',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'llm_provider_id',
+ ],
+ 'required': [
+ 'llm_provider_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'llm_provider_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'llm_provider_id': 'llmProviderId',
+ },
+ 'location_map': {
+ 'llm_provider_id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.trigger_quality_issues_calculation_endpoint = _Endpoint(
settings={
'response_type': (TriggerQualityIssuesCalculationResponse,),
@@ -2366,6 +2597,180 @@ def forecast_result(
result_id
return self.forecast_result_endpoint.call_with_http_info(**kwargs)
+ def generate_description(
+ self,
+ workspace_id,
+ generate_description_request,
+ **kwargs
+ ):
+ """Generate Description for Analytics Object # noqa: E501
+
+ Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.generate_description(workspace_id, generate_description_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ generate_description_request (GenerateDescriptionRequest):
+
+ 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:
+ GenerateDescriptionResponse
+ 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['generate_description_request'] = \
+ generate_description_request
+ return self.generate_description_endpoint.call_with_http_info(**kwargs)
+
+ def generate_title(
+ self,
+ workspace_id,
+ generate_title_request,
+ **kwargs
+ ):
+ """Generate Title for Analytics Object # noqa: E501
+
+ Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.generate_title(workspace_id, generate_title_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ generate_title_request (GenerateTitleRequest):
+
+ 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:
+ GenerateTitleResponse
+ 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['generate_title_request'] = \
+ generate_title_request
+ return self.generate_title_endpoint.call_with_http_info(**kwargs)
+
def get_quality_issues(
self,
workspace_id,
@@ -2785,6 +3190,172 @@ def tags(
workspace_id
return self.tags_endpoint.call_with_http_info(**kwargs)
+ def test_llm_provider(
+ self,
+ test_llm_provider_definition_request,
+ **kwargs
+ ):
+ """Test LLM Provider # noqa: E501
+
+ Tests LLM provider connectivity with a full definition. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.test_llm_provider(test_llm_provider_definition_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ test_llm_provider_definition_request (TestLlmProviderDefinitionRequest):
+
+ 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:
+ TestLlmProviderResponse
+ 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['test_llm_provider_definition_request'] = \
+ test_llm_provider_definition_request
+ return self.test_llm_provider_endpoint.call_with_http_info(**kwargs)
+
+ def test_llm_provider_by_id(
+ self,
+ llm_provider_id,
+ **kwargs
+ ):
+ """Test LLM Provider By Id # noqa: E501
+
+ Tests an existing LLM provider connectivity by its ID. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.test_llm_provider_by_id(llm_provider_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ llm_provider_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:
+ TestLlmProviderResponse
+ 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['llm_provider_id'] = \
+ llm_provider_id
+ return self.test_llm_provider_by_id_endpoint.call_with_http_info(**kwargs)
+
def trigger_quality_issues_calculation(
self,
workspace_id,
diff --git a/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py b/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py
index 619f56bed..917c6c617 100644
--- a/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py
@@ -88,6 +88,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -251,6 +252,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -367,6 +369,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -464,6 +467,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -626,6 +630,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
diff --git a/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py b/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py
index d007ddc2f..9cfa5864e 100644
--- a/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py
@@ -175,6 +175,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -1058,6 +1059,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -1247,6 +1249,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -2654,6 +2657,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -4346,6 +4350,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -4597,6 +4602,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -5157,6 +5163,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -6511,6 +6518,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -6716,6 +6724,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
('meta_include',): {
@@ -7090,6 +7099,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -8263,6 +8273,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -8440,6 +8451,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -10391,6 +10403,7 @@ def __init__(self, api_client=None):
"DASHBOARDPLUGINS": "dashboardPlugins",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -11229,6 +11242,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
@@ -11406,6 +11420,7 @@ def __init__(self, api_client=None):
"DATASETS": "datasets",
"CREATEDBY": "createdBy",
"MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
"ALL": "ALL"
},
},
diff --git a/gooddata-api-client/gooddata_api_client/api_client.py b/gooddata-api-client/gooddata_api_client/api_client.py
index dbb71b472..15f1703cc 100644
--- a/gooddata-api-client/gooddata_api_client/api_client.py
+++ b/gooddata-api-client/gooddata_api_client/api_client.py
@@ -287,8 +287,10 @@ def sanitize_for_serialization(cls, obj):
return obj.isoformat()
elif isinstance(obj, ModelSimple):
return cls.sanitize_for_serialization(obj.value)
- elif isinstance(obj, (list, tuple)):
+ elif isinstance(obj, list):
return [cls.sanitize_for_serialization(item) for item in obj]
+ elif isinstance(obj, tuple):
+ return tuple(cls.sanitize_for_serialization(item) for item in obj)
if isinstance(obj, dict):
return {key: cls.sanitize_for_serialization(val) for key, val in obj.items()}
raise ApiValueError(
diff --git a/gooddata-api-client/gooddata_api_client/apis/__init__.py b/gooddata-api-client/gooddata_api_client/apis/__init__.py
index be24be63c..ef0cc377b 100644
--- a/gooddata-api-client/gooddata_api_client/apis/__init__.py
+++ b/gooddata-api-client/gooddata_api_client/apis/__init__.py
@@ -26,6 +26,7 @@
from gooddata_api_client.api.automations_api import AutomationsApi
from gooddata_api_client.api.available_drivers_api import AvailableDriversApi
from gooddata_api_client.api.csp_directives_api import CSPDirectivesApi
+from gooddata_api_client.api.certification_api import CertificationApi
from gooddata_api_client.api.computation_api import ComputationApi
from gooddata_api_client.api.cookie_security_configuration_api import CookieSecurityConfigurationApi
from gooddata_api_client.api.dashboards_api import DashboardsApi
@@ -49,6 +50,7 @@
from gooddata_api_client.api.jwks_api import JWKSApi
from gooddata_api_client.api.ldm_declarative_apis_api import LDMDeclarativeAPIsApi
from gooddata_api_client.api.llm_endpoints_api import LLMEndpointsApi
+from gooddata_api_client.api.llm_providers_api import LLMProvidersApi
from gooddata_api_client.api.labels_api import LabelsApi
from gooddata_api_client.api.manage_permissions_api import ManagePermissionsApi
from gooddata_api_client.api.metadata_check_api import MetadataCheckApi
diff --git a/gooddata-api-client/gooddata_api_client/model/aac_dashboard_with_tabs.py b/gooddata-api-client/gooddata_api_client/model/aac_dashboard_with_tabs.py
index d5666c030..9e7c474ef 100644
--- a/gooddata-api-client/gooddata_api_client/model/aac_dashboard_with_tabs.py
+++ b/gooddata-api-client/gooddata_api_client/model/aac_dashboard_with_tabs.py
@@ -33,12 +33,10 @@
def lazy_import():
from gooddata_api_client.model.aac_dashboard_filter import AacDashboardFilter
from gooddata_api_client.model.aac_dashboard_permissions import AacDashboardPermissions
- from gooddata_api_client.model.aac_dashboard_plugin_link import AacDashboardPluginLink
from gooddata_api_client.model.aac_section import AacSection
from gooddata_api_client.model.aac_tab import AacTab
globals()['AacDashboardFilter'] = AacDashboardFilter
globals()['AacDashboardPermissions'] = AacDashboardPermissions
- globals()['AacDashboardPluginLink'] = AacDashboardPluginLink
globals()['AacSection'] = AacSection
globals()['AacTab'] = AacTab
diff --git a/gooddata-api-client/gooddata_api_client/model/aac_dashboard_without_tabs.py b/gooddata-api-client/gooddata_api_client/model/aac_dashboard_without_tabs.py
index 6c0556f01..367bd29cb 100644
--- a/gooddata-api-client/gooddata_api_client/model/aac_dashboard_without_tabs.py
+++ b/gooddata-api-client/gooddata_api_client/model/aac_dashboard_without_tabs.py
@@ -33,12 +33,10 @@
def lazy_import():
from gooddata_api_client.model.aac_dashboard_filter import AacDashboardFilter
from gooddata_api_client.model.aac_dashboard_permissions import AacDashboardPermissions
- from gooddata_api_client.model.aac_dashboard_plugin_link import AacDashboardPluginLink
from gooddata_api_client.model.aac_section import AacSection
from gooddata_api_client.model.aac_tab import AacTab
globals()['AacDashboardFilter'] = AacDashboardFilter
globals()['AacDashboardPermissions'] = AacDashboardPermissions
- globals()['AacDashboardPluginLink'] = AacDashboardPluginLink
globals()['AacSection'] = AacSection
globals()['AacTab'] = AacTab
diff --git a/gooddata-api-client/gooddata_api_client/model/absolute_date_filter_absolute_date_filter.py b/gooddata-api-client/gooddata_api_client/model/absolute_date_filter_absolute_date_filter.py
index e8c58c77c..44320c1d5 100644
--- a/gooddata-api-client/gooddata_api_client/model/absolute_date_filter_absolute_date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/absolute_date_filter_absolute_date_filter.py
@@ -104,10 +104,10 @@ def openapi_types():
lazy_import()
return {
'dataset': (AfmObjectIdentifierDataset,), # noqa: E501
- 'empty_value_handling': (str,), # noqa: E501
'_from': (str,), # noqa: E501
'to': (str,), # noqa: E501
'apply_on_result': (bool,), # noqa: E501
+ 'empty_value_handling': (str,), # noqa: E501
'local_identifier': (str,), # noqa: E501
}
@@ -118,10 +118,10 @@ def discriminator():
attribute_map = {
'dataset': 'dataset', # noqa: E501
- 'empty_value_handling': 'emptyValueHandling', # noqa: E501
'_from': 'from', # noqa: E501
'to': 'to', # noqa: E501
'apply_on_result': 'applyOnResult', # noqa: E501
+ 'empty_value_handling': 'emptyValueHandling', # noqa: E501
'local_identifier': 'localIdentifier', # noqa: E501
}
@@ -172,6 +172,7 @@ def _from_openapi_data(cls, dataset, _from, to, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
apply_on_result (bool): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.. [optional] if omitted the server will use the default value of "EXCLUDE" # noqa: E501
local_identifier (str): [optional] # noqa: E501
"""
@@ -267,6 +268,7 @@ def __init__(self, dataset, _from, to, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
apply_on_result (bool): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.. [optional] if omitted the server will use the default value of "EXCLUDE" # noqa: E501
local_identifier (str): [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/afm.py b/gooddata-api-client/gooddata_api_client/model/afm.py
index 97eb90fd3..b8a29d7f9 100644
--- a/gooddata-api-client/gooddata_api_client/model/afm.py
+++ b/gooddata-api-client/gooddata_api_client/model/afm.py
@@ -34,9 +34,11 @@ def lazy_import():
from gooddata_api_client.model.afm_filters_inner import AFMFiltersInner
from gooddata_api_client.model.attribute_item import AttributeItem
from gooddata_api_client.model.measure_item import MeasureItem
+ from gooddata_api_client.model.metric_definition_override import MetricDefinitionOverride
globals()['AFMFiltersInner'] = AFMFiltersInner
globals()['AttributeItem'] = AttributeItem
globals()['MeasureItem'] = MeasureItem
+ globals()['MetricDefinitionOverride'] = MetricDefinitionOverride
class AFM(ModelNormal):
@@ -96,6 +98,7 @@ def openapi_types():
'filters': ([AFMFiltersInner],), # noqa: E501
'measures': ([MeasureItem],), # noqa: E501
'aux_measures': ([MeasureItem],), # noqa: E501
+ 'measure_definition_overrides': ([MetricDefinitionOverride],), # noqa: E501
}
@cached_property
@@ -108,6 +111,7 @@ def discriminator():
'filters': 'filters', # noqa: E501
'measures': 'measures', # noqa: E501
'aux_measures': 'auxMeasures', # noqa: E501
+ 'measure_definition_overrides': 'measureDefinitionOverrides', # noqa: E501
}
read_only_vars = {
@@ -157,6 +161,7 @@ def _from_openapi_data(cls, attributes, filters, measures, *args, **kwargs): #
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
aux_measures ([MeasureItem]): Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.. [optional] # noqa: E501
+ measure_definition_overrides ([MetricDefinitionOverride]): (EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -251,6 +256,7 @@ def __init__(self, attributes, filters, measures, *args, **kwargs): # noqa: E50
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
aux_measures ([MeasureItem]): Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.. [optional] # noqa: E501
+ measure_definition_overrides ([MetricDefinitionOverride]): (EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/gooddata-api-client/gooddata_api_client/model/afm_filters_inner.py b/gooddata-api-client/gooddata_api_client/model/afm_filters_inner.py
index 77add655b..f607f4068 100644
--- a/gooddata-api-client/gooddata_api_client/model/afm_filters_inner.py
+++ b/gooddata-api-client/gooddata_api_client/model/afm_filters_inner.py
@@ -32,8 +32,8 @@
def lazy_import():
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
- from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.abstract_measure_value_filter import AbstractMeasureValueFilter
+ from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.comparison_measure_value_filter_comparison_measure_value_filter import ComparisonMeasureValueFilterComparisonMeasureValueFilter
from gooddata_api_client.model.compound_measure_value_filter_compound_measure_value_filter import CompoundMeasureValueFilterCompoundMeasureValueFilter
from gooddata_api_client.model.filter_definition_for_simple_measure import FilterDefinitionForSimpleMeasure
@@ -46,8 +46,8 @@ def lazy_import():
from gooddata_api_client.model.ranking_filter_ranking_filter import RankingFilterRankingFilter
from gooddata_api_client.model.relative_date_filter_relative_date_filter import RelativeDateFilterRelativeDateFilter
globals()['AbsoluteDateFilterAbsoluteDateFilter'] = AbsoluteDateFilterAbsoluteDateFilter
- globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['AbstractMeasureValueFilter'] = AbstractMeasureValueFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['ComparisonMeasureValueFilterComparisonMeasureValueFilter'] = ComparisonMeasureValueFilterComparisonMeasureValueFilter
globals()['CompoundMeasureValueFilterCompoundMeasureValueFilter'] = CompoundMeasureValueFilterCompoundMeasureValueFilter
globals()['FilterDefinitionForSimpleMeasure'] = FilterDefinitionForSimpleMeasure
@@ -112,8 +112,8 @@ def openapi_types():
'compound_measure_value_filter': (CompoundMeasureValueFilterCompoundMeasureValueFilter,), # noqa: E501
'ranking_filter': (RankingFilterRankingFilter,), # noqa: E501
'absolute_date_filter': (AbsoluteDateFilterAbsoluteDateFilter,), # noqa: E501
- 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'relative_date_filter': (RelativeDateFilterRelativeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'negative_attribute_filter': (NegativeAttributeFilterNegativeAttributeFilter,), # noqa: E501
'positive_attribute_filter': (PositiveAttributeFilterPositiveAttributeFilter,), # noqa: E501
'match_attribute_filter': (MatchAttributeFilterMatchAttributeFilter,), # noqa: E501
@@ -131,8 +131,8 @@ def discriminator():
'compound_measure_value_filter': 'compoundMeasureValueFilter', # noqa: E501
'ranking_filter': 'rankingFilter', # noqa: E501
'absolute_date_filter': 'absoluteDateFilter', # noqa: E501
- 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'relative_date_filter': 'relativeDateFilter', # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'negative_attribute_filter': 'negativeAttributeFilter', # noqa: E501
'positive_attribute_filter': 'positiveAttributeFilter', # noqa: E501
'match_attribute_filter': 'matchAttributeFilter', # noqa: E501
@@ -184,6 +184,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
ranking_filter (RankingFilterRankingFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
@@ -297,6 +298,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
ranking_filter (RankingFilterRankingFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/all_time_date_filter.py b/gooddata-api-client/gooddata_api_client/model/all_time_date_filter.py
index 16c0cf4de..fda9edc8f 100644
--- a/gooddata-api-client/gooddata_api_client/model/all_time_date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/all_time_date_filter.py
@@ -25,15 +25,14 @@
file_type,
none_type,
validate_get_composed_info,
- OpenApiModel,
+ OpenApiModel
)
from gooddata_api_client.exceptions import ApiAttributeError
def lazy_import():
from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
-
- globals()["AllTimeDateFilterAllTimeDateFilter"] = AllTimeDateFilterAllTimeDateFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
class AllTimeDateFilter(ModelNormal):
@@ -60,8 +59,11 @@ class AllTimeDateFilter(ModelNormal):
as additional properties values.
"""
- allowed_values = {}
- validations = {}
+ allowed_values = {
+ }
+
+ validations = {
+ }
@cached_property
def additional_properties_type():
@@ -70,7 +72,7 @@ def additional_properties_type():
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
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
@@ -86,18 +88,20 @@ def openapi_types():
"""
lazy_import()
return {
- "all_time_date_filter": (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
}
@cached_property
def discriminator():
return None
+
attribute_map = {
- "all_time_date_filter": "allTimeDateFilter", # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
}
- read_only_vars = {}
+ read_only_vars = {
+ }
_composed_schemas = {}
@@ -142,11 +146,11 @@ def _from_openapi_data(cls, all_time_date_filter, *args, **kwargs): # noqa: E50
_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", ())
+ _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)
@@ -156,8 +160,7 @@ def _from_openapi_data(cls, all_time_date_filter, *args, **kwargs): # noqa: E50
kwargs.update(arg)
else:
raise ApiTypeError(
- "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments."
- % (
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
@@ -174,25 +177,23 @@ def _from_openapi_data(cls, all_time_date_filter, *args, **kwargs): # noqa: E50
self.all_time_date_filter = all_time_date_filter
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
- ):
+ 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 = {
- "_data_store",
- "_check_type",
- "_spec_property_naming",
- "_path_to_item",
- "_configuration",
- "_visited_composed_classes",
- }
+ 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, all_time_date_filter, *args, **kwargs): # noqa: E501
@@ -234,11 +235,11 @@ def __init__(self, all_time_date_filter, *args, **kwargs): # noqa: E501
_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", ())
+ _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:
@@ -246,8 +247,7 @@ def __init__(self, all_time_date_filter, *args, **kwargs): # noqa: E501
kwargs.update(arg)
else:
raise ApiTypeError(
- "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments."
- % (
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
@@ -264,18 +264,13 @@ def __init__(self, all_time_date_filter, *args, **kwargs): # noqa: E501
self.all_time_date_filter = all_time_date_filter
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
- ):
+ 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."
- )
-
+ 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/all_time_date_filter_all_time_date_filter.py b/gooddata-api-client/gooddata_api_client/model/all_time_date_filter_all_time_date_filter.py
index 71d4220fc..9b45c7a9c 100644
--- a/gooddata-api-client/gooddata_api_client/model/all_time_date_filter_all_time_date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/all_time_date_filter_all_time_date_filter.py
@@ -25,15 +25,14 @@
file_type,
none_type,
validate_get_composed_info,
- OpenApiModel,
+ OpenApiModel
)
from gooddata_api_client.exceptions import ApiAttributeError
def lazy_import():
from gooddata_api_client.model.afm_object_identifier_dataset import AfmObjectIdentifierDataset
-
- globals()["AfmObjectIdentifierDataset"] = AfmObjectIdentifierDataset
+ globals()['AfmObjectIdentifierDataset'] = AfmObjectIdentifierDataset
class AllTimeDateFilterAllTimeDateFilter(ModelNormal):
@@ -61,35 +60,36 @@ class AllTimeDateFilterAllTimeDateFilter(ModelNormal):
"""
allowed_values = {
- ("empty_value_handling",): {
- "INCLUDE": "INCLUDE",
- "EXCLUDE": "EXCLUDE",
- "ONLY": "ONLY",
+ ('empty_value_handling',): {
+ 'INCLUDE': "INCLUDE",
+ 'EXCLUDE': "EXCLUDE",
+ 'ONLY': "ONLY",
},
- ("granularity",): {
- "MINUTE": "MINUTE",
- "HOUR": "HOUR",
- "DAY": "DAY",
- "WEEK": "WEEK",
- "MONTH": "MONTH",
- "QUARTER": "QUARTER",
- "YEAR": "YEAR",
- "MINUTE_OF_HOUR": "MINUTE_OF_HOUR",
- "HOUR_OF_DAY": "HOUR_OF_DAY",
- "DAY_OF_WEEK": "DAY_OF_WEEK",
- "DAY_OF_MONTH": "DAY_OF_MONTH",
- "DAY_OF_QUARTER": "DAY_OF_QUARTER",
- "DAY_OF_YEAR": "DAY_OF_YEAR",
- "WEEK_OF_YEAR": "WEEK_OF_YEAR",
- "MONTH_OF_YEAR": "MONTH_OF_YEAR",
- "QUARTER_OF_YEAR": "QUARTER_OF_YEAR",
- "FISCAL_MONTH": "FISCAL_MONTH",
- "FISCAL_QUARTER": "FISCAL_QUARTER",
- "FISCAL_YEAR": "FISCAL_YEAR",
+ ('granularity',): {
+ 'MINUTE': "MINUTE",
+ 'HOUR': "HOUR",
+ 'DAY': "DAY",
+ 'WEEK': "WEEK",
+ 'MONTH': "MONTH",
+ 'QUARTER': "QUARTER",
+ 'YEAR': "YEAR",
+ 'MINUTE_OF_HOUR': "MINUTE_OF_HOUR",
+ 'HOUR_OF_DAY': "HOUR_OF_DAY",
+ 'DAY_OF_WEEK': "DAY_OF_WEEK",
+ 'DAY_OF_MONTH': "DAY_OF_MONTH",
+ 'DAY_OF_QUARTER': "DAY_OF_QUARTER",
+ 'DAY_OF_YEAR': "DAY_OF_YEAR",
+ 'WEEK_OF_YEAR': "WEEK_OF_YEAR",
+ 'MONTH_OF_YEAR': "MONTH_OF_YEAR",
+ 'QUARTER_OF_YEAR': "QUARTER_OF_YEAR",
+ 'FISCAL_MONTH': "FISCAL_MONTH",
+ 'FISCAL_QUARTER': "FISCAL_QUARTER",
+ 'FISCAL_YEAR': "FISCAL_YEAR",
},
}
- validations = {}
+ validations = {
+ }
@cached_property
def additional_properties_type():
@@ -98,7 +98,7 @@ def additional_properties_type():
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
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
@@ -114,26 +114,28 @@ def openapi_types():
"""
lazy_import()
return {
- "dataset": (AfmObjectIdentifierDataset,), # noqa: E501
- "granularity": (str,), # noqa: E501
- "empty_value_handling": (str,), # noqa: E501
- "apply_on_result": (bool,), # noqa: E501
- "local_identifier": (str,), # noqa: E501
+ 'dataset': (AfmObjectIdentifierDataset,), # noqa: E501
+ 'apply_on_result': (bool,), # noqa: E501
+ 'empty_value_handling': (str,), # noqa: E501
+ 'granularity': (str,), # noqa: E501
+ 'local_identifier': (str,), # noqa: E501
}
@cached_property
def discriminator():
return None
+
attribute_map = {
- "dataset": "dataset", # noqa: E501
- "granularity": "granularity", # noqa: E501
- "empty_value_handling": "emptyValueHandling", # noqa: E501
- "apply_on_result": "applyOnResult", # noqa: E501
- "local_identifier": "localIdentifier", # noqa: E501
+ 'dataset': 'dataset', # noqa: E501
+ 'apply_on_result': 'applyOnResult', # noqa: E501
+ 'empty_value_handling': 'emptyValueHandling', # noqa: E501
+ 'granularity': 'granularity', # noqa: E501
+ 'local_identifier': 'localIdentifier', # noqa: E501
}
- read_only_vars = {}
+ read_only_vars = {
+ }
_composed_schemas = {}
@@ -165,17 +167,28 @@ def _from_openapi_data(cls, dataset, *args, **kwargs): # noqa: E501
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,)
apply_on_result (bool): [optional] # noqa: E501
- empty_value_handling (str): [optional] # noqa: E501
- granularity (str): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.. [optional] if omitted the server will use the default value of "INCLUDE" # noqa: E501
+ granularity (str): Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.. [optional] if omitted the server will use the default value of "DAY" # noqa: E501
local_identifier (str): [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", ())
+ _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)
@@ -185,8 +198,7 @@ def _from_openapi_data(cls, dataset, *args, **kwargs): # noqa: E501
kwargs.update(arg)
else:
raise ApiTypeError(
- "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments."
- % (
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
@@ -203,25 +215,23 @@ def _from_openapi_data(cls, dataset, *args, **kwargs): # noqa: E501
self.dataset = dataset
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
- ):
+ 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 = {
- "_data_store",
- "_check_type",
- "_spec_property_naming",
- "_path_to_item",
- "_configuration",
- "_visited_composed_classes",
- }
+ 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, dataset, *args, **kwargs): # noqa: E501
@@ -250,17 +260,28 @@ def __init__(self, dataset, *args, **kwargs): # noqa: E501
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,)
apply_on_result (bool): [optional] # noqa: E501
- empty_value_handling (str): [optional] # noqa: E501
- granularity (str): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.. [optional] if omitted the server will use the default value of "INCLUDE" # noqa: E501
+ granularity (str): Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.. [optional] if omitted the server will use the default value of "DAY" # noqa: E501
local_identifier (str): [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", ())
+ _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:
@@ -268,8 +289,7 @@ def __init__(self, dataset, *args, **kwargs): # noqa: E501
kwargs.update(arg)
else:
raise ApiTypeError(
- "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments."
- % (
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
args,
self.__class__.__name__,
),
@@ -286,18 +306,13 @@ def __init__(self, dataset, *args, **kwargs): # noqa: E501
self.dataset = dataset
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
- ):
+ 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."
- )
-
+ 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/anomaly_detection_config.py b/gooddata-api-client/gooddata_api_client/model/anomaly_detection_config.py
new file mode 100644
index 000000000..40d6f718b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/anomaly_detection_config.py
@@ -0,0 +1,275 @@
+"""
+ 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 AnomalyDetectionConfig(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 = {
+ ('sensitivity',): {
+ 'LOW': "LOW",
+ 'MEDIUM': "MEDIUM",
+ 'HIGH': "HIGH",
+ },
+ }
+
+ 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 {
+ 'sensitivity': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'sensitivity': 'sensitivity', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, sensitivity, *args, **kwargs): # noqa: E501
+ """AnomalyDetectionConfig - a model defined in OpenAPI
+
+ Args:
+ sensitivity (str): Outlier sensitivity level.
+
+ 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.sensitivity = sensitivity
+ 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, sensitivity, *args, **kwargs): # noqa: E501
+ """AnomalyDetectionConfig - a model defined in OpenAPI
+
+ Args:
+ sensitivity (str): Outlier sensitivity level.
+
+ 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.sensitivity = sensitivity
+ 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/automation_notification.py b/gooddata-api-client/gooddata_api_client/model/automation_notification.py
index 461a3f29a..5abe385de 100644
--- a/gooddata-api-client/gooddata_api_client/model/automation_notification.py
+++ b/gooddata-api-client/gooddata_api_client/model/automation_notification.py
@@ -31,15 +31,11 @@
def lazy_import():
- from gooddata_api_client.model.automation_notification import AutomationNotification
from gooddata_api_client.model.automation_notification_all_of import AutomationNotificationAllOf
from gooddata_api_client.model.notification_content import NotificationContent
- from gooddata_api_client.model.test_notification import TestNotification
from gooddata_api_client.model.webhook_message import WebhookMessage
- globals()['AutomationNotification'] = AutomationNotification
globals()['AutomationNotificationAllOf'] = AutomationNotificationAllOf
globals()['NotificationContent'] = NotificationContent
- globals()['TestNotification'] = TestNotification
globals()['WebhookMessage'] = WebhookMessage
@@ -102,10 +98,7 @@ def openapi_types():
@cached_property
def discriminator():
- lazy_import()
val = {
- 'AUTOMATION': AutomationNotification,
- 'TEST': TestNotification,
}
if not val:
return None
diff --git a/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth.py b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth.py
new file mode 100644
index 000000000..3277635c8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth.py
@@ -0,0 +1,346 @@
+"""
+ 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.aws_bedrock_access_key_auth_all_of import AwsBedrockAccessKeyAuthAllOf
+ globals()['AwsBedrockAccessKeyAuthAllOf'] = AwsBedrockAccessKeyAuthAllOf
+
+
+class AwsBedrockAccessKeyAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'ACCESS_KEY': "ACCESS_KEY",
+ },
+ }
+
+ validations = {
+ ('access_key_id',): {
+ 'max_length': 255,
+ },
+ ('secret_access_key',): {
+ 'max_length': 10000,
+ },
+ ('session_token',): {
+ 'max_length': 10000,
+ },
+ }
+
+ @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 {
+ 'type': (str,), # noqa: E501
+ 'access_key_id': (str, none_type,), # noqa: E501
+ 'secret_access_key': (str, none_type,), # noqa: E501
+ 'session_token': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'type': 'type', # noqa: E501
+ 'access_key_id': 'accessKeyId', # noqa: E501
+ 'secret_access_key': 'secretAccessKey', # noqa: E501
+ 'session_token': 'sessionToken', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AwsBedrockAccessKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "ACCESS_KEY", must be one of ["ACCESS_KEY", ] # noqa: E501
+ _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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "ACCESS_KEY")
+ _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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """AwsBedrockAccessKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "ACCESS_KEY", must be one of ["ACCESS_KEY", ] # noqa: E501
+ _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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "ACCESS_KEY")
+ _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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ AwsBedrockAccessKeyAuthAllOf,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth_all_of.py b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth_all_of.py
new file mode 100644
index 000000000..606ab6020
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_access_key_auth_all_of.py
@@ -0,0 +1,288 @@
+"""
+ 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 AwsBedrockAccessKeyAuthAllOf(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 = {
+ ('type',): {
+ 'ACCESS_KEY': "ACCESS_KEY",
+ },
+ }
+
+ validations = {
+ ('access_key_id',): {
+ 'max_length': 255,
+ },
+ ('secret_access_key',): {
+ 'max_length': 10000,
+ },
+ ('session_token',): {
+ 'max_length': 10000,
+ },
+ }
+
+ @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 {
+ 'access_key_id': (str, none_type,), # noqa: E501
+ 'secret_access_key': (str, none_type,), # noqa: E501
+ 'session_token': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'access_key_id': 'accessKeyId', # noqa: E501
+ 'secret_access_key': 'secretAccessKey', # noqa: E501
+ 'session_token': 'sessionToken', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AwsBedrockAccessKeyAuthAllOf - 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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "ACCESS_KEY" # 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
+ """AwsBedrockAccessKeyAuthAllOf - 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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "ACCESS_KEY" # 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/aws_bedrock_provider_config.py b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_provider_config.py
new file mode 100644
index 000000000..d005dc3c0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/aws_bedrock_provider_config.py
@@ -0,0 +1,296 @@
+"""
+ 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.bedrock_provider_auth import BedrockProviderAuth
+ globals()['BedrockProviderAuth'] = BedrockProviderAuth
+
+
+class AwsBedrockProviderConfig(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 = {
+ ('type',): {
+ 'AWS_BEDROCK': "AWS_BEDROCK",
+ },
+ }
+
+ validations = {
+ ('region',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'auth': (BedrockProviderAuth,), # noqa: E501
+ 'region': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'auth': 'auth', # noqa: E501
+ 'region': 'region', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, auth, region, *args, **kwargs): # noqa: E501
+ """AwsBedrockProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (BedrockProviderAuth):
+ region (str): AWS region for Bedrock.
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "AWS_BEDROCK", must be one of ["AWS_BEDROCK", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "AWS_BEDROCK")
+ _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.auth = auth
+ self.region = region
+ self.type = type
+ 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, auth, region, *args, **kwargs): # noqa: E501
+ """AwsBedrockProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (BedrockProviderAuth):
+ region (str): AWS region for Bedrock.
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "AWS_BEDROCK", must be one of ["AWS_BEDROCK", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "AWS_BEDROCK")
+ _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.auth = auth
+ self.region = region
+ self.type = type
+ 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/azure_foundry_api_key_auth.py b/gooddata-api-client/gooddata_api_client/model/azure_foundry_api_key_auth.py
new file mode 100644
index 000000000..ae15cd641
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/azure_foundry_api_key_auth.py
@@ -0,0 +1,332 @@
+"""
+ 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.azure_foundry_api_key_auth_all_of import AzureFoundryApiKeyAuthAllOf
+ globals()['AzureFoundryApiKeyAuthAllOf'] = AzureFoundryApiKeyAuthAllOf
+
+
+class AzureFoundryApiKeyAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'type': (str,), # noqa: E501
+ 'api_key': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'type': 'type', # noqa: E501
+ 'api_key': 'apiKey', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AzureFoundryApiKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "API_KEY", must be one of ["API_KEY", ] # noqa: E501
+ _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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "API_KEY")
+ _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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """AzureFoundryApiKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "API_KEY", must be one of ["API_KEY", ] # noqa: E501
+ _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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "API_KEY")
+ _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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ AzureFoundryApiKeyAuthAllOf,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/azure_foundry_api_key_auth_all_of.py b/gooddata-api-client/gooddata_api_client/model/azure_foundry_api_key_auth_all_of.py
new file mode 100644
index 000000000..600ea1c53
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/azure_foundry_api_key_auth_all_of.py
@@ -0,0 +1,274 @@
+"""
+ 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 AzureFoundryApiKeyAuthAllOf(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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'api_key': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'api_key': 'apiKey', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AzureFoundryApiKeyAuthAllOf - 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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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
+ """AzureFoundryApiKeyAuthAllOf - 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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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/azure_foundry_provider_auth.py b/gooddata-api-client/gooddata_api_client/model/azure_foundry_provider_auth.py
new file mode 100644
index 000000000..bfdebba63
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/azure_foundry_provider_auth.py
@@ -0,0 +1,330 @@
+"""
+ 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.azure_foundry_api_key_auth import AzureFoundryApiKeyAuth
+ globals()['AzureFoundryApiKeyAuth'] = AzureFoundryApiKeyAuth
+
+
+class AzureFoundryProviderAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'api_key': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'api_key': 'apiKey', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AzureFoundryProviderAuth - 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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """AzureFoundryProviderAuth - 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,)
+ api_key (str, none_type): Azure API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ AzureFoundryApiKeyAuth,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/azure_foundry_provider_config.py b/gooddata-api-client/gooddata_api_client/model/azure_foundry_provider_config.py
new file mode 100644
index 000000000..aef53e2ec
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/azure_foundry_provider_config.py
@@ -0,0 +1,296 @@
+"""
+ 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.azure_foundry_provider_auth import AzureFoundryProviderAuth
+ globals()['AzureFoundryProviderAuth'] = AzureFoundryProviderAuth
+
+
+class AzureFoundryProviderConfig(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 = {
+ ('type',): {
+ 'AZURE_FOUNDRY': "AZURE_FOUNDRY",
+ },
+ }
+
+ validations = {
+ ('endpoint',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'auth': (AzureFoundryProviderAuth,), # noqa: E501
+ 'endpoint': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'auth': 'auth', # noqa: E501
+ 'endpoint': 'endpoint', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, auth, endpoint, *args, **kwargs): # noqa: E501
+ """AzureFoundryProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (AzureFoundryProviderAuth):
+ endpoint (str): Azure AI inference endpoint URL.
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "AZURE_FOUNDRY", must be one of ["AZURE_FOUNDRY", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "AZURE_FOUNDRY")
+ _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.auth = auth
+ self.endpoint = endpoint
+ self.type = type
+ 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, auth, endpoint, *args, **kwargs): # noqa: E501
+ """AzureFoundryProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (AzureFoundryProviderAuth):
+ endpoint (str): Azure AI inference endpoint URL.
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "AZURE_FOUNDRY", must be one of ["AZURE_FOUNDRY", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "AZURE_FOUNDRY")
+ _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.auth = auth
+ self.endpoint = endpoint
+ self.type = type
+ 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/bedrock_provider_auth.py b/gooddata-api-client/gooddata_api_client/model/bedrock_provider_auth.py
new file mode 100644
index 000000000..a6fd2dda8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/bedrock_provider_auth.py
@@ -0,0 +1,344 @@
+"""
+ 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.aws_bedrock_access_key_auth import AwsBedrockAccessKeyAuth
+ globals()['AwsBedrockAccessKeyAuth'] = AwsBedrockAccessKeyAuth
+
+
+class BedrockProviderAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'ACCESS_KEY': "ACCESS_KEY",
+ },
+ }
+
+ validations = {
+ ('access_key_id',): {
+ 'max_length': 255,
+ },
+ ('secret_access_key',): {
+ 'max_length': 10000,
+ },
+ ('session_token',): {
+ 'max_length': 10000,
+ },
+ }
+
+ @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 {
+ 'access_key_id': (str, none_type,), # noqa: E501
+ 'secret_access_key': (str, none_type,), # noqa: E501
+ 'session_token': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'access_key_id': 'accessKeyId', # noqa: E501
+ 'secret_access_key': 'secretAccessKey', # noqa: E501
+ 'session_token': 'sessionToken', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """BedrockProviderAuth - 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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "ACCESS_KEY" # 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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """BedrockProviderAuth - 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,)
+ access_key_id (str, none_type): AWS Access Key ID.. [optional] # noqa: E501
+ secret_access_key (str, none_type): AWS Secret Access Key.. [optional] # noqa: E501
+ session_token (str, none_type): AWS Session Token (for temporary credentials).. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "ACCESS_KEY" # 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ AwsBedrockAccessKeyAuth,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/change_analysis_params_filters_inner.py b/gooddata-api-client/gooddata_api_client/model/change_analysis_params_filters_inner.py
index ca0be4dab..d9da67d55 100644
--- a/gooddata-api-client/gooddata_api_client/model/change_analysis_params_filters_inner.py
+++ b/gooddata-api-client/gooddata_api_client/model/change_analysis_params_filters_inner.py
@@ -33,6 +33,7 @@
def lazy_import():
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
from gooddata_api_client.model.abstract_measure_value_filter import AbstractMeasureValueFilter
+ from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.comparison_measure_value_filter_comparison_measure_value_filter import ComparisonMeasureValueFilterComparisonMeasureValueFilter
from gooddata_api_client.model.compound_measure_value_filter_compound_measure_value_filter import CompoundMeasureValueFilterCompoundMeasureValueFilter
from gooddata_api_client.model.filter_definition_for_simple_measure import FilterDefinitionForSimpleMeasure
@@ -46,6 +47,7 @@ def lazy_import():
from gooddata_api_client.model.relative_date_filter_relative_date_filter import RelativeDateFilterRelativeDateFilter
globals()['AbsoluteDateFilterAbsoluteDateFilter'] = AbsoluteDateFilterAbsoluteDateFilter
globals()['AbstractMeasureValueFilter'] = AbstractMeasureValueFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['ComparisonMeasureValueFilterComparisonMeasureValueFilter'] = ComparisonMeasureValueFilterComparisonMeasureValueFilter
globals()['CompoundMeasureValueFilterCompoundMeasureValueFilter'] = CompoundMeasureValueFilterCompoundMeasureValueFilter
globals()['FilterDefinitionForSimpleMeasure'] = FilterDefinitionForSimpleMeasure
@@ -118,6 +120,7 @@ def openapi_types():
'ranking_filter': (RankingFilterRankingFilter,), # noqa: E501
'absolute_date_filter': (AbsoluteDateFilterAbsoluteDateFilter,), # noqa: E501
'relative_date_filter': (RelativeDateFilterRelativeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'negative_attribute_filter': (NegativeAttributeFilterNegativeAttributeFilter,), # noqa: E501
'positive_attribute_filter': (PositiveAttributeFilterPositiveAttributeFilter,), # noqa: E501
'match_attribute_filter': (MatchAttributeFilterMatchAttributeFilter,), # noqa: E501
@@ -136,6 +139,7 @@ def discriminator():
'ranking_filter': 'rankingFilter', # noqa: E501
'absolute_date_filter': 'absoluteDateFilter', # noqa: E501
'relative_date_filter': 'relativeDateFilter', # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'negative_attribute_filter': 'negativeAttributeFilter', # noqa: E501
'positive_attribute_filter': 'positiveAttributeFilter', # noqa: E501
'match_attribute_filter': 'matchAttributeFilter', # noqa: E501
@@ -187,6 +191,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
ranking_filter (RankingFilterRankingFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
@@ -300,6 +305,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
ranking_filter (RankingFilterRankingFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/clustering_config.py b/gooddata-api-client/gooddata_api_client/model/clustering_config.py
new file mode 100644
index 000000000..f0777d585
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/clustering_config.py
@@ -0,0 +1,276 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+
+class ClusteringConfig(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 {
+ 'number_of_clusters': (int,), # noqa: E501
+ 'threshold': (float,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'number_of_clusters': 'numberOfClusters', # noqa: E501
+ 'threshold': 'threshold', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, number_of_clusters, threshold, *args, **kwargs): # noqa: E501
+ """ClusteringConfig - a model defined in OpenAPI
+
+ Args:
+ number_of_clusters (int): Number of clusters to create
+ threshold (float): Clustering algorithm threshold
+
+ 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.number_of_clusters = number_of_clusters
+ self.threshold = threshold
+ 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, number_of_clusters, threshold, *args, **kwargs): # noqa: E501
+ """ClusteringConfig - a model defined in OpenAPI
+
+ Args:
+ number_of_clusters (int): Number of clusters to create
+ threshold (float): Clustering algorithm threshold
+
+ 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.number_of_clusters = number_of_clusters
+ self.threshold = threshold
+ 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/create_knowledge_document_request_dto.py b/gooddata-api-client/gooddata_api_client/model/create_knowledge_document_request_dto.py
new file mode 100644
index 000000000..7271da96c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/create_knowledge_document_request_dto.py
@@ -0,0 +1,288 @@
+"""
+ 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 CreateKnowledgeDocumentRequestDto(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 {
+ 'content': (str,), # noqa: E501
+ 'filename': (str,), # noqa: E501
+ 'page_boundaries': ([int],), # noqa: E501
+ 'scopes': ([str],), # noqa: E501
+ 'title': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'content': 'content', # noqa: E501
+ 'filename': 'filename', # noqa: E501
+ 'page_boundaries': 'pageBoundaries', # noqa: E501
+ 'scopes': 'scopes', # noqa: E501
+ 'title': 'title', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, content, filename, *args, **kwargs): # noqa: E501
+ """CreateKnowledgeDocumentRequestDto - a model defined in OpenAPI
+
+ Args:
+ content (str):
+ filename (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ page_boundaries ([int]): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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.content = content
+ self.filename = filename
+ 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, content, filename, *args, **kwargs): # noqa: E501
+ """CreateKnowledgeDocumentRequestDto - a model defined in OpenAPI
+
+ Args:
+ content (str):
+ filename (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ page_boundaries ([int]): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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.content = content
+ self.filename = filename
+ 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/create_knowledge_document_response_dto.py b/gooddata-api-client/gooddata_api_client/model/create_knowledge_document_response_dto.py
new file mode 100644
index 000000000..be932eab3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/create_knowledge_document_response_dto.py
@@ -0,0 +1,288 @@
+"""
+ 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 CreateKnowledgeDocumentResponseDto(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 {
+ 'filename': (str,), # noqa: E501
+ 'message': (str,), # noqa: E501
+ 'num_chunks': (int,), # noqa: E501
+ 'success': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'filename': 'filename', # noqa: E501
+ 'message': 'message', # noqa: E501
+ 'num_chunks': 'numChunks', # noqa: E501
+ 'success': 'success', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, filename, message, num_chunks, success, *args, **kwargs): # noqa: E501
+ """CreateKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ filename (str):
+ message (str):
+ num_chunks (int):
+ success (bool):
+
+ 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.filename = filename
+ self.message = message
+ self.num_chunks = num_chunks
+ self.success = success
+ 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, filename, message, num_chunks, success, *args, **kwargs): # noqa: E501
+ """CreateKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ filename (str):
+ message (str):
+ num_chunks (int):
+ success (bool):
+
+ 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.filename = filename
+ self.message = message
+ self.num_chunks = num_chunks
+ self.success = success
+ 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/created_visualization.py b/gooddata-api-client/gooddata_api_client/model/created_visualization.py
index ca10ad91e..37cb0b068 100644
--- a/gooddata-api-client/gooddata_api_client/model/created_visualization.py
+++ b/gooddata-api-client/gooddata_api_client/model/created_visualization.py
@@ -35,10 +35,12 @@ def lazy_import():
from gooddata_api_client.model.dim_attribute import DimAttribute
from gooddata_api_client.model.metric import Metric
from gooddata_api_client.model.suggestion import Suggestion
+ from gooddata_api_client.model.visualization_config import VisualizationConfig
globals()['CreatedVisualizationFiltersInner'] = CreatedVisualizationFiltersInner
globals()['DimAttribute'] = DimAttribute
globals()['Metric'] = Metric
globals()['Suggestion'] = Suggestion
+ globals()['VisualizationConfig'] = VisualizationConfig
class CreatedVisualization(ModelNormal):
@@ -73,6 +75,7 @@ class CreatedVisualization(ModelNormal):
'LINE': "LINE",
'PIE': "PIE",
'COLUMN': "COLUMN",
+ 'SCATTER': "SCATTER",
},
}
@@ -109,6 +112,7 @@ def openapi_types():
'suggestions': ([Suggestion],), # noqa: E501
'title': (str,), # noqa: E501
'visualization_type': (str,), # noqa: E501
+ 'config': (VisualizationConfig,), # noqa: E501
'saved_visualization_id': (str,), # noqa: E501
}
@@ -125,6 +129,7 @@ def discriminator():
'suggestions': 'suggestions', # noqa: E501
'title': 'title', # noqa: E501
'visualization_type': 'visualizationType', # noqa: E501
+ 'config': 'config', # noqa: E501
'saved_visualization_id': 'savedVisualizationId', # noqa: E501
}
@@ -178,6 +183,7 @@ def _from_openapi_data(cls, dimensionality, filters, id, metrics, suggestions, t
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ config (VisualizationConfig): [optional] # noqa: E501
saved_visualization_id (str): Saved visualization ID.. [optional] # noqa: E501
"""
@@ -280,6 +286,7 @@ def __init__(self, dimensionality, filters, id, metrics, suggestions, title, vis
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ config (VisualizationConfig): [optional] # noqa: E501
saved_visualization_id (str): Saved visualization ID.. [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/dashboard_date_filter_date_filter.py b/gooddata-api-client/gooddata_api_client/model/dashboard_date_filter_date_filter.py
index d3c3f8b0d..9c8cd7287 100644
--- a/gooddata-api-client/gooddata_api_client/model/dashboard_date_filter_date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/dashboard_date_filter_date_filter.py
@@ -96,6 +96,11 @@ class DashboardDateFilterDateFilter(ModelNormal):
'RELATIVE': "relative",
'ABSOLUTE': "absolute",
},
+ ('empty_value_handling',): {
+ 'INCLUDE': "INCLUDE",
+ 'EXCLUDE': "EXCLUDE",
+ 'ONLY': "ONLY",
+ },
}
validations = {
@@ -129,6 +134,7 @@ def openapi_types():
'attribute': (IdentifierRef,), # noqa: E501
'bounded_filter': (RelativeBoundedDateFilter,), # noqa: E501
'data_set': (IdentifierRef,), # noqa: E501
+ 'empty_value_handling': (str,), # noqa: E501
'_from': (AacDashboardFilterFrom,), # noqa: E501
'local_identifier': (str,), # noqa: E501
'to': (AacDashboardFilterFrom,), # noqa: E501
@@ -145,6 +151,7 @@ def discriminator():
'attribute': 'attribute', # noqa: E501
'bounded_filter': 'boundedFilter', # noqa: E501
'data_set': 'dataSet', # noqa: E501
+ 'empty_value_handling': 'emptyValueHandling', # noqa: E501
'_from': 'from', # noqa: E501
'local_identifier': 'localIdentifier', # noqa: E501
'to': 'to', # noqa: E501
@@ -198,6 +205,7 @@ def _from_openapi_data(cls, granularity, type, *args, **kwargs): # noqa: E501
attribute (IdentifierRef): [optional] # noqa: E501
bounded_filter (RelativeBoundedDateFilter): [optional] # noqa: E501
data_set (IdentifierRef): [optional] # noqa: E501
+ empty_value_handling (str): [optional] # noqa: E501
_from (AacDashboardFilterFrom): [optional] # noqa: E501
local_identifier (str): [optional] # noqa: E501
to (AacDashboardFilterFrom): [optional] # noqa: E501
@@ -295,6 +303,7 @@ def __init__(self, granularity, type, *args, **kwargs): # noqa: E501
attribute (IdentifierRef): [optional] # noqa: E501
bounded_filter (RelativeBoundedDateFilter): [optional] # noqa: E501
data_set (IdentifierRef): [optional] # noqa: E501
+ empty_value_handling (str): [optional] # noqa: E501
_from (AacDashboardFilterFrom): [optional] # noqa: E501
local_identifier (str): [optional] # noqa: E501
to (AacDashboardFilterFrom): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/date_filter.py b/gooddata-api-client/gooddata_api_client/model/date_filter.py
index 08ea26a7c..b08077872 100644
--- a/gooddata-api-client/gooddata_api_client/model/date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/date_filter.py
@@ -31,16 +31,16 @@
def lazy_import():
- from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
- from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.absolute_date_filter import AbsoluteDateFilter
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
+ from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
+ from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.relative_date_filter import RelativeDateFilter
from gooddata_api_client.model.relative_date_filter_relative_date_filter import RelativeDateFilterRelativeDateFilter
- globals()['AllTimeDateFilter'] = AllTimeDateFilter
- globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['AbsoluteDateFilter'] = AbsoluteDateFilter
globals()['AbsoluteDateFilterAbsoluteDateFilter'] = AbsoluteDateFilterAbsoluteDateFilter
+ globals()['AllTimeDateFilter'] = AllTimeDateFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['RelativeDateFilter'] = RelativeDateFilter
globals()['RelativeDateFilterRelativeDateFilter'] = RelativeDateFilterRelativeDateFilter
@@ -98,9 +98,9 @@ def openapi_types():
"""
lazy_import()
return {
- 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'absolute_date_filter': (AbsoluteDateFilterAbsoluteDateFilter,), # noqa: E501
'relative_date_filter': (RelativeDateFilterRelativeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
}
@cached_property
@@ -109,9 +109,9 @@ def discriminator():
attribute_map = {
- 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'absolute_date_filter': 'absoluteDateFilter', # noqa: E501
'relative_date_filter': 'relativeDateFilter', # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
}
read_only_vars = {
@@ -155,6 +155,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -260,6 +261,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -331,8 +333,8 @@ def _composed_schemas():
'allOf': [
],
'oneOf': [
- AllTimeDateFilter,
AbsoluteDateFilter,
+ AllTimeDateFilter,
RelativeDateFilter,
],
}
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py
index cfe1618fd..448bf1bc4 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py
@@ -64,6 +64,9 @@ class DeclarativeAnalyticalDashboard(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
@@ -75,6 +78,11 @@ class DeclarativeAnalyticalDashboard(ModelNormal):
('title',): {
'max_length': 255,
},
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -121,6 +129,10 @@ def openapi_types():
'content': (JsonNode,), # noqa: E501
'id': (str,), # noqa: E501
'title': (str,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (str, none_type,), # noqa: E501
+ 'certified_by': (DeclarativeUserIdentifier,), # noqa: E501
'created_at': (str, none_type,), # noqa: E501
'created_by': (DeclarativeUserIdentifier,), # noqa: E501
'description': (str,), # noqa: E501
@@ -140,6 +152,10 @@ def discriminator():
'content': 'content', # noqa: E501
'id': 'id', # noqa: E501
'title': 'title', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
+ 'certified_by': 'certifiedBy', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'created_by': 'createdBy', # noqa: E501
'description': 'description', # noqa: E501
@@ -196,6 +212,10 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Analytical dashboard description.. [optional] # noqa: E501
@@ -297,6 +317,10 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Analytical dashboard description.. [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_metric.py b/gooddata-api-client/gooddata_api_client/model/declarative_metric.py
index dbc189a91..943f806a2 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_metric.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_metric.py
@@ -62,6 +62,9 @@ class DeclarativeMetric(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
@@ -73,6 +76,11 @@ class DeclarativeMetric(ModelNormal):
('title',): {
'max_length': 255,
},
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -116,6 +124,10 @@ def openapi_types():
'content': (JsonNode,), # noqa: E501
'id': (str,), # noqa: E501
'title': (str,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (str, none_type,), # noqa: E501
+ 'certified_by': (DeclarativeUserIdentifier,), # noqa: E501
'created_at': (str, none_type,), # noqa: E501
'created_by': (DeclarativeUserIdentifier,), # noqa: E501
'description': (str,), # noqa: E501
@@ -135,6 +147,10 @@ def discriminator():
'content': 'content', # noqa: E501
'id': 'id', # noqa: E501
'title': 'title', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
+ 'certified_by': 'certifiedBy', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'created_by': 'createdBy', # noqa: E501
'description': 'description', # noqa: E501
@@ -191,6 +207,10 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Metric description.. [optional] # noqa: E501
@@ -292,6 +312,10 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Metric description.. [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_notification_channel_destination.py b/gooddata-api-client/gooddata_api_client/model/declarative_notification_channel_destination.py
index e17135a3d..0d4905d4d 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_notification_channel_destination.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_notification_channel_destination.py
@@ -78,6 +78,10 @@ class DeclarativeNotificationChannelDestination(ModelComposed):
}
validations = {
+ ('has_secret_key',): {
+ },
+ ('has_token',): {
+ },
('secret_key',): {
'max_length': 10000,
},
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 618aafc61..68d5cc622 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_setting.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_setting.py
@@ -65,6 +65,7 @@ class DeclarativeSetting(ModelNormal):
'ACTIVE_THEME': "ACTIVE_THEME",
'ACTIVE_COLOR_PALETTE': "ACTIVE_COLOR_PALETTE",
'ACTIVE_LLM_ENDPOINT': "ACTIVE_LLM_ENDPOINT",
+ 'ACTIVE_LLM_PROVIDER': "ACTIVE_LLM_PROVIDER",
'ACTIVE_CALENDARS': "ACTIVE_CALENDARS",
'WHITE_LABELING': "WHITE_LABELING",
'LOCALE': "LOCALE",
@@ -108,6 +109,7 @@ class DeclarativeSetting(ModelNormal):
'EXPORT_CSV_CUSTOM_DELIMITER': "EXPORT_CSV_CUSTOM_DELIMITER",
'ENABLE_QUERY_TAGS': "ENABLE_QUERY_TAGS",
'RESTRICT_BASE_UI': "RESTRICT_BASE_UI",
+ 'CERTIFY_PARENT_OBJECTS': "CERTIFY_PARENT_OBJECTS",
},
}
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_single_workspace_permission.py b/gooddata-api-client/gooddata_api_client/model/declarative_single_workspace_permission.py
index ac9f1cd2e..eb8a42df5 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_single_workspace_permission.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_single_workspace_permission.py
@@ -68,6 +68,8 @@ class DeclarativeSingleWorkspacePermission(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py b/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py
index bf0537806..0bfbaf70c 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py
@@ -62,6 +62,9 @@ class DeclarativeVisualizationObject(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
@@ -73,6 +76,11 @@ class DeclarativeVisualizationObject(ModelNormal):
('title',): {
'max_length': 255,
},
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -116,6 +124,10 @@ def openapi_types():
'content': (JsonNode,), # noqa: E501
'id': (str,), # noqa: E501
'title': (str,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (str, none_type,), # noqa: E501
+ 'certified_by': (DeclarativeUserIdentifier,), # noqa: E501
'created_at': (str, none_type,), # noqa: E501
'created_by': (DeclarativeUserIdentifier,), # noqa: E501
'description': (str,), # noqa: E501
@@ -134,6 +146,10 @@ def discriminator():
'content': 'content', # noqa: E501
'id': 'id', # noqa: E501
'title': 'title', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
+ 'certified_by': 'certifiedBy', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'created_by': 'createdBy', # noqa: E501
'description': 'description', # noqa: E501
@@ -189,6 +205,10 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Visualization object description.. [optional] # noqa: E501
@@ -289,6 +309,10 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (str, none_type): Time when the certification was set.. [optional] # noqa: E501
+ certified_by (DeclarativeUserIdentifier): [optional] # noqa: E501
created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501
created_by (DeclarativeUserIdentifier): [optional] # noqa: E501
description (str): Visualization object description.. [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_workspace_hierarchy_permission.py b/gooddata-api-client/gooddata_api_client/model/declarative_workspace_hierarchy_permission.py
index 854309a92..cecaa382e 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_workspace_hierarchy_permission.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_workspace_hierarchy_permission.py
@@ -68,6 +68,8 @@ class DeclarativeWorkspaceHierarchyPermission(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/delete_knowledge_document_response_dto.py b/gooddata-api-client/gooddata_api_client/model/delete_knowledge_document_response_dto.py
new file mode 100644
index 000000000..6508e4243
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/delete_knowledge_document_response_dto.py
@@ -0,0 +1,276 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+
+class DeleteKnowledgeDocumentResponseDto(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 {
+ 'message': (str,), # noqa: E501
+ 'success': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'message': 'message', # noqa: E501
+ 'success': 'success', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, message, success, *args, **kwargs): # noqa: E501
+ """DeleteKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ message (str):
+ success (bool):
+
+ 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.message = message
+ self.success = success
+ 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, message, success, *args, **kwargs): # noqa: E501
+ """DeleteKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ message (str):
+ success (bool):
+
+ 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.message = message
+ self.success = success
+ 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/dependent_entities_request.py b/gooddata-api-client/gooddata_api_client/model/dependent_entities_request.py
index 38c1583db..dd438de8d 100644
--- a/gooddata-api-client/gooddata_api_client/model/dependent_entities_request.py
+++ b/gooddata-api-client/gooddata_api_client/model/dependent_entities_request.py
@@ -60,6 +60,10 @@ class DependentEntitiesRequest(ModelNormal):
"""
allowed_values = {
+ ('relation',): {
+ 'DEPENDENTS': "DEPENDENTS",
+ 'DEPENDENCIES': "DEPENDENCIES",
+ },
}
validations = {
@@ -89,6 +93,7 @@ def openapi_types():
lazy_import()
return {
'identifiers': ([EntityIdentifier],), # noqa: E501
+ 'relation': (str,), # noqa: E501
}
@cached_property
@@ -98,6 +103,7 @@ def discriminator():
attribute_map = {
'identifiers': 'identifiers', # noqa: E501
+ 'relation': 'relation', # noqa: E501
}
read_only_vars = {
@@ -144,6 +150,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,)
+ relation (str): Entity relation for graph traversal from the entry points. DEPENDENTS returns entities that depend on the entry points. DEPENDENCIES returns entities that the entry points depend on.. [optional] if omitted the server will use the default value of "DEPENDENTS" # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -233,6 +240,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,)
+ relation (str): Entity relation for graph traversal from the entry points. DEPENDENTS returns entities that depend on the entry points. DEPENDENCIES returns entities that the entry points depend on.. [optional] if omitted the server will use the default value of "DEPENDENTS" # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/gooddata-api-client/gooddata_api_client/model/failed_operation.py b/gooddata-api-client/gooddata_api_client/model/failed_operation.py
index 5592073f4..08cd7970c 100644
--- a/gooddata-api-client/gooddata_api_client/model/failed_operation.py
+++ b/gooddata-api-client/gooddata_api_client/model/failed_operation.py
@@ -31,18 +31,12 @@
def lazy_import():
- from gooddata_api_client.model.failed_operation import FailedOperation
from gooddata_api_client.model.failed_operation_all_of import FailedOperationAllOf
from gooddata_api_client.model.operation import Operation
from gooddata_api_client.model.operation_error import OperationError
- from gooddata_api_client.model.pending_operation import PendingOperation
- from gooddata_api_client.model.succeeded_operation import SucceededOperation
- globals()['FailedOperation'] = FailedOperation
globals()['FailedOperationAllOf'] = FailedOperationAllOf
globals()['Operation'] = Operation
globals()['OperationError'] = OperationError
- globals()['PendingOperation'] = PendingOperation
- globals()['SucceededOperation'] = SucceededOperation
class FailedOperation(ModelComposed):
@@ -73,6 +67,7 @@ class FailedOperation(ModelComposed):
('kind',): {
'PROVISION-DATABASE': "provision-database",
'DEPROVISION-DATABASE': "deprovision-database",
+ 'RUN-SERVICE-COMMAND': "run-service-command",
},
}
@@ -110,11 +105,7 @@ def openapi_types():
@cached_property
def discriminator():
- lazy_import()
val = {
- 'failed': FailedOperation,
- 'pending': PendingOperation,
- 'succeeded': SucceededOperation,
}
if not val:
return None
@@ -138,7 +129,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Keyword Args:
error (OperationError):
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
@@ -245,7 +236,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Keyword Args:
error (OperationError):
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
diff --git a/gooddata-api-client/gooddata_api_client/model/filter_definition.py b/gooddata-api-client/gooddata_api_client/model/filter_definition.py
index 7a7d2d65a..9ee434e47 100644
--- a/gooddata-api-client/gooddata_api_client/model/filter_definition.py
+++ b/gooddata-api-client/gooddata_api_client/model/filter_definition.py
@@ -31,10 +31,10 @@
def lazy_import():
- from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
- from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.absolute_date_filter import AbsoluteDateFilter
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
+ from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
+ from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.comparison_measure_value_filter import ComparisonMeasureValueFilter
from gooddata_api_client.model.comparison_measure_value_filter_comparison_measure_value_filter import ComparisonMeasureValueFilterComparisonMeasureValueFilter
from gooddata_api_client.model.compound_measure_value_filter import CompoundMeasureValueFilter
@@ -53,10 +53,10 @@ def lazy_import():
from gooddata_api_client.model.ranking_filter_ranking_filter import RankingFilterRankingFilter
from gooddata_api_client.model.relative_date_filter import RelativeDateFilter
from gooddata_api_client.model.relative_date_filter_relative_date_filter import RelativeDateFilterRelativeDateFilter
- globals()['AllTimeDateFilter'] = AllTimeDateFilter
- globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['AbsoluteDateFilter'] = AbsoluteDateFilter
globals()['AbsoluteDateFilterAbsoluteDateFilter'] = AbsoluteDateFilterAbsoluteDateFilter
+ globals()['AllTimeDateFilter'] = AllTimeDateFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['ComparisonMeasureValueFilter'] = ComparisonMeasureValueFilter
globals()['ComparisonMeasureValueFilterComparisonMeasureValueFilter'] = ComparisonMeasureValueFilterComparisonMeasureValueFilter
globals()['CompoundMeasureValueFilter'] = CompoundMeasureValueFilter
@@ -136,8 +136,8 @@ def openapi_types():
'range_measure_value_filter': (RangeMeasureValueFilterRangeMeasureValueFilter,), # noqa: E501
'compound_measure_value_filter': (CompoundMeasureValueFilterCompoundMeasureValueFilter,), # noqa: E501
'absolute_date_filter': (AbsoluteDateFilterAbsoluteDateFilter,), # noqa: E501
- 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'relative_date_filter': (RelativeDateFilterRelativeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'negative_attribute_filter': (NegativeAttributeFilterNegativeAttributeFilter,), # noqa: E501
'positive_attribute_filter': (PositiveAttributeFilterPositiveAttributeFilter,), # noqa: E501
'match_attribute_filter': (MatchAttributeFilterMatchAttributeFilter,), # noqa: E501
@@ -155,8 +155,8 @@ def discriminator():
'range_measure_value_filter': 'rangeMeasureValueFilter', # noqa: E501
'compound_measure_value_filter': 'compoundMeasureValueFilter', # noqa: E501
'absolute_date_filter': 'absoluteDateFilter', # noqa: E501
- 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'relative_date_filter': 'relativeDateFilter', # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'negative_attribute_filter': 'negativeAttributeFilter', # noqa: E501
'positive_attribute_filter': 'positiveAttributeFilter', # noqa: E501
'match_attribute_filter': 'matchAttributeFilter', # noqa: E501
@@ -208,6 +208,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
compound_measure_value_filter (CompoundMeasureValueFilterCompoundMeasureValueFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
@@ -321,6 +322,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
compound_measure_value_filter (CompoundMeasureValueFilterCompoundMeasureValueFilter): [optional] # noqa: E501
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
@@ -395,8 +397,8 @@ def _composed_schemas():
'allOf': [
],
'oneOf': [
- AllTimeDateFilter,
AbsoluteDateFilter,
+ AllTimeDateFilter,
ComparisonMeasureValueFilter,
CompoundMeasureValueFilter,
InlineFilterDefinition,
diff --git a/gooddata-api-client/gooddata_api_client/model/filter_definition_for_simple_measure.py b/gooddata-api-client/gooddata_api_client/model/filter_definition_for_simple_measure.py
index 51b82755d..a19bd8c5a 100644
--- a/gooddata-api-client/gooddata_api_client/model/filter_definition_for_simple_measure.py
+++ b/gooddata-api-client/gooddata_api_client/model/filter_definition_for_simple_measure.py
@@ -32,6 +32,7 @@
def lazy_import():
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
+ from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.attribute_filter import AttributeFilter
from gooddata_api_client.model.date_filter import DateFilter
from gooddata_api_client.model.match_attribute_filter_match_attribute_filter import MatchAttributeFilterMatchAttributeFilter
@@ -39,6 +40,7 @@ def lazy_import():
from gooddata_api_client.model.positive_attribute_filter_positive_attribute_filter import PositiveAttributeFilterPositiveAttributeFilter
from gooddata_api_client.model.relative_date_filter_relative_date_filter import RelativeDateFilterRelativeDateFilter
globals()['AbsoluteDateFilterAbsoluteDateFilter'] = AbsoluteDateFilterAbsoluteDateFilter
+ globals()['AllTimeDateFilterAllTimeDateFilter'] = AllTimeDateFilterAllTimeDateFilter
globals()['AttributeFilter'] = AttributeFilter
globals()['DateFilter'] = DateFilter
globals()['MatchAttributeFilterMatchAttributeFilter'] = MatchAttributeFilterMatchAttributeFilter
@@ -102,6 +104,7 @@ def openapi_types():
return {
'absolute_date_filter': (AbsoluteDateFilterAbsoluteDateFilter,), # noqa: E501
'relative_date_filter': (RelativeDateFilterRelativeDateFilter,), # noqa: E501
+ 'all_time_date_filter': (AllTimeDateFilterAllTimeDateFilter,), # noqa: E501
'negative_attribute_filter': (NegativeAttributeFilterNegativeAttributeFilter,), # noqa: E501
'positive_attribute_filter': (PositiveAttributeFilterPositiveAttributeFilter,), # noqa: E501
'match_attribute_filter': (MatchAttributeFilterMatchAttributeFilter,), # noqa: E501
@@ -115,6 +118,7 @@ def discriminator():
attribute_map = {
'absolute_date_filter': 'absoluteDateFilter', # noqa: E501
'relative_date_filter': 'relativeDateFilter', # noqa: E501
+ 'all_time_date_filter': 'allTimeDateFilter', # noqa: E501
'negative_attribute_filter': 'negativeAttributeFilter', # noqa: E501
'positive_attribute_filter': 'positiveAttributeFilter', # noqa: E501
'match_attribute_filter': 'matchAttributeFilter', # noqa: E501
@@ -161,6 +165,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
@@ -269,6 +274,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
absolute_date_filter (AbsoluteDateFilterAbsoluteDateFilter): [optional] # noqa: E501
relative_date_filter (RelativeDateFilterRelativeDateFilter): [optional] # noqa: E501
+ all_time_date_filter (AllTimeDateFilterAllTimeDateFilter): [optional] # noqa: E501
negative_attribute_filter (NegativeAttributeFilterNegativeAttributeFilter): [optional] # noqa: E501
positive_attribute_filter (PositiveAttributeFilterPositiveAttributeFilter): [optional] # noqa: E501
match_attribute_filter (MatchAttributeFilterMatchAttributeFilter): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/forecast_config.py b/gooddata-api-client/gooddata_api_client/model/forecast_config.py
new file mode 100644
index 000000000..eeabd896f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/forecast_config.py
@@ -0,0 +1,282 @@
+"""
+ 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 ForecastConfig(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 {
+ 'confidence_level': (float,), # noqa: E501
+ 'forecast_period': (int,), # noqa: E501
+ 'seasonal': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'confidence_level': 'confidenceLevel', # noqa: E501
+ 'forecast_period': 'forecastPeriod', # noqa: E501
+ 'seasonal': 'seasonal', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, confidence_level, forecast_period, seasonal, *args, **kwargs): # noqa: E501
+ """ForecastConfig - a model defined in OpenAPI
+
+ Args:
+ confidence_level (float): Confidence interval boundary value.
+ forecast_period (int): Number of future periods that should be forecasted
+ seasonal (bool): Whether the input data is seasonal
+
+ 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.confidence_level = confidence_level
+ self.forecast_period = forecast_period
+ self.seasonal = seasonal
+ 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, confidence_level, forecast_period, seasonal, *args, **kwargs): # noqa: E501
+ """ForecastConfig - a model defined in OpenAPI
+
+ Args:
+ confidence_level (float): Confidence interval boundary value.
+ forecast_period (int): Number of future periods that should be forecasted
+ seasonal (bool): Whether the input data is seasonal
+
+ 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.confidence_level = confidence_level
+ self.forecast_period = forecast_period
+ self.seasonal = seasonal
+ 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/generate_description_request.py b/gooddata-api-client/gooddata_api_client/model/generate_description_request.py
new file mode 100644
index 000000000..7c8d5ff40
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/generate_description_request.py
@@ -0,0 +1,283 @@
+"""
+ 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 GenerateDescriptionRequest(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 = {
+ ('object_type',): {
+ 'VISUALIZATION': "Visualization",
+ 'DASHBOARD': "Dashboard",
+ 'METRIC': "Metric",
+ 'FACT': "Fact",
+ 'ATTRIBUTE': "Attribute",
+ },
+ }
+
+ 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 {
+ 'object_id': (str,), # noqa: E501
+ 'object_type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'object_id': 'objectId', # noqa: E501
+ 'object_type': 'objectType', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, object_id, object_type, *args, **kwargs): # noqa: E501
+ """GenerateDescriptionRequest - a model defined in OpenAPI
+
+ Args:
+ object_id (str): Identifier of the object to describe
+ object_type (str): Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute
+
+ 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.object_id = object_id
+ self.object_type = object_type
+ 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, object_id, object_type, *args, **kwargs): # noqa: E501
+ """GenerateDescriptionRequest - a model defined in OpenAPI
+
+ Args:
+ object_id (str): Identifier of the object to describe
+ object_type (str): Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute
+
+ 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.object_id = object_id
+ self.object_type = object_type
+ 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/generate_description_response.py b/gooddata-api-client/gooddata_api_client/model/generate_description_response.py
new file mode 100644
index 000000000..2fd35a957
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/generate_description_response.py
@@ -0,0 +1,268 @@
+"""
+ 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 GenerateDescriptionResponse(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 {
+ 'description': (str,), # noqa: E501
+ 'note': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'description': 'description', # noqa: E501
+ 'note': 'note', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """GenerateDescriptionResponse - 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,)
+ description (str): Generated description of the requested object. [optional] # noqa: E501
+ note (str): Additional note with details in case generation was not performed. [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
+ """GenerateDescriptionResponse - 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,)
+ description (str): Generated description of the requested object. [optional] # noqa: E501
+ note (str): Additional note with details in case generation was not performed. [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/generate_title_request.py b/gooddata-api-client/gooddata_api_client/model/generate_title_request.py
new file mode 100644
index 000000000..26ca56867
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/generate_title_request.py
@@ -0,0 +1,283 @@
+"""
+ 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 GenerateTitleRequest(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 = {
+ ('object_type',): {
+ 'VISUALIZATION': "Visualization",
+ 'DASHBOARD': "Dashboard",
+ 'METRIC': "Metric",
+ 'FACT': "Fact",
+ 'ATTRIBUTE': "Attribute",
+ },
+ }
+
+ 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 {
+ 'object_id': (str,), # noqa: E501
+ 'object_type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'object_id': 'objectId', # noqa: E501
+ 'object_type': 'objectType', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, object_id, object_type, *args, **kwargs): # noqa: E501
+ """GenerateTitleRequest - a model defined in OpenAPI
+
+ Args:
+ object_id (str): Identifier of the object to title
+ object_type (str): Type of the object to title. Matches chat-search object types.
+
+ 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.object_id = object_id
+ self.object_type = object_type
+ 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, object_id, object_type, *args, **kwargs): # noqa: E501
+ """GenerateTitleRequest - a model defined in OpenAPI
+
+ Args:
+ object_id (str): Identifier of the object to title
+ object_type (str): Type of the object to title. Matches chat-search object types.
+
+ 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.object_id = object_id
+ self.object_type = object_type
+ 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/generate_title_response.py b/gooddata-api-client/gooddata_api_client/model/generate_title_response.py
new file mode 100644
index 000000000..d0e07e4f3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/generate_title_response.py
@@ -0,0 +1,268 @@
+"""
+ 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 GenerateTitleResponse(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 {
+ 'note': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'note': 'note', # noqa: E501
+ 'title': 'title', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """GenerateTitleResponse - 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,)
+ note (str): Additional note with details in case generation was not performed. [optional] # noqa: E501
+ title (str): Generated title of the requested object. [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
+ """GenerateTitleResponse - 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,)
+ note (str): Additional note with details in case generation was not performed. [optional] # noqa: E501
+ title (str): Generated title of the requested object. [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/get_ai_lake_operation200_response.py b/gooddata-api-client/gooddata_api_client/model/get_ai_lake_operation200_response.py
index dafad0e18..33f767cba 100644
--- a/gooddata-api-client/gooddata_api_client/model/get_ai_lake_operation200_response.py
+++ b/gooddata-api-client/gooddata_api_client/model/get_ai_lake_operation200_response.py
@@ -69,6 +69,7 @@ class GetAiLakeOperation200Response(ModelComposed):
('kind',): {
'PROVISION-DATABASE': "provision-database",
'DEPROVISION-DATABASE': "deprovision-database",
+ 'RUN-SERVICE-COMMAND': "run-service-command",
},
}
@@ -170,7 +171,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
result ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Operation-specific result payload, can be missing for operations like delete. [optional] # noqa: E501
id (str): Id of the operation. [optional] # noqa: E501
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. . [optional] # noqa: E501
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. . [optional] # noqa: E501
error (OperationError): [optional] # noqa: E501
"""
@@ -278,7 +279,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
result ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Operation-specific result payload, can be missing for operations like delete. [optional] # noqa: E501
id (str): Id of the operation. [optional] # noqa: E501
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. . [optional] # noqa: E501
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service. . [optional] # noqa: E501
error (OperationError): [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/get_quality_issues_response.py b/gooddata-api-client/gooddata_api_client/model/get_quality_issues_response.py
index 7bc13619b..e719a597a 100644
--- a/gooddata-api-client/gooddata_api_client/model/get_quality_issues_response.py
+++ b/gooddata-api-client/gooddata_api_client/model/get_quality_issues_response.py
@@ -65,6 +65,7 @@ class GetQualityIssuesResponse(ModelNormal):
'SYNCING': "SYNCING",
'COMPLETED': "COMPLETED",
'FAILED': "FAILED",
+ 'CANCELLED': "CANCELLED",
'NOT_FOUND': "NOT_FOUND",
'DISABLED': "DISABLED",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py
index 55ee43194..4c7c9dd92 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py
@@ -56,9 +56,17 @@ class JsonApiAnalyticalDashboardOutAttributes(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -103,6 +111,9 @@ def openapi_types():
return {
'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
'are_relations_valid': (bool,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (datetime, none_type,), # noqa: E501
'created_at': (datetime, none_type,), # noqa: E501
'description': (str,), # noqa: E501
'modified_at': (datetime, none_type,), # noqa: E501
@@ -119,6 +130,9 @@ def discriminator():
attribute_map = {
'content': 'content', # noqa: E501
'are_relations_valid': 'areRelationsValid', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'description': 'description', # noqa: E501
'modified_at': 'modifiedAt', # noqa: E501
@@ -172,6 +186,9 @@ def _from_openapi_data(cls, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
modified_at (datetime, none_type): Time of the last entity modification.. [optional] # noqa: E501
@@ -268,6 +285,9 @@ def __init__(self, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
modified_at (datetime, none_type): Time of the last entity modification.. [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py
index 46dd683d0..4b4bb95da 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py
@@ -32,7 +32,7 @@
def lazy_import():
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_analytical_dashboards import JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_dashboard_plugins import JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_filter_contexts import JsonApiAnalyticalDashboardOutRelationshipsFilterContexts
@@ -40,7 +40,7 @@ def lazy_import():
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_metrics import JsonApiAnalyticalDashboardOutRelationshipsMetrics
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_visualization_objects import JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects
globals()['JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards'] = JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins'] = JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins
globals()['JsonApiAnalyticalDashboardOutRelationshipsDatasets'] = JsonApiAnalyticalDashboardOutRelationshipsDatasets
globals()['JsonApiAnalyticalDashboardOutRelationshipsFilterContexts'] = JsonApiAnalyticalDashboardOutRelationshipsFilterContexts
@@ -103,13 +103,14 @@ def openapi_types():
lazy_import()
return {
'analytical_dashboards': (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'certified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'dashboard_plugins': (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins,), # noqa: E501
'datasets': (JsonApiAnalyticalDashboardOutRelationshipsDatasets,), # noqa: E501
'filter_contexts': (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts,), # noqa: E501
'labels': (JsonApiAnalyticalDashboardOutRelationshipsLabels,), # noqa: E501
'metrics': (JsonApiAnalyticalDashboardOutRelationshipsMetrics,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'visualization_objects': (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects,), # noqa: E501
}
@@ -120,6 +121,7 @@ def discriminator():
attribute_map = {
'analytical_dashboards': 'analyticalDashboards', # noqa: E501
+ 'certified_by': 'certifiedBy', # noqa: E501
'created_by': 'createdBy', # noqa: E501
'dashboard_plugins': 'dashboardPlugins', # noqa: E501
'datasets': 'datasets', # noqa: E501
@@ -172,13 +174,14 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
analytical_dashboards (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ certified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
dashboard_plugins (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins): [optional] # noqa: E501
datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501
filter_contexts (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts): [optional] # noqa: E501
labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501
metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
visualization_objects (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects): [optional] # noqa: E501
"""
@@ -266,13 +269,14 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
analytical_dashboards (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ certified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
dashboard_plugins (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins): [optional] # noqa: E501
datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501
filter_contexts (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts): [optional] # noqa: E501
labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501
metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
visualization_objects (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects): [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_certified_by.py
similarity index 97%
rename from gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py
rename to gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_certified_by.py
index 3eb449668..72712b03a 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_certified_by.py
@@ -35,7 +35,7 @@ def lazy_import():
globals()['JsonApiUserIdentifierToOneLinkage'] = JsonApiUserIdentifierToOneLinkage
-class JsonApiAnalyticalDashboardOutRelationshipsCreatedBy(ModelNormal):
+class JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
@@ -108,7 +108,7 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
- """JsonApiAnalyticalDashboardOutRelationshipsCreatedBy - a model defined in OpenAPI
+ """JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy - a model defined in OpenAPI
Args:
data (JsonApiUserIdentifierToOneLinkage):
@@ -197,7 +197,7 @@ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
@convert_js_args_to_python_args
def __init__(self, data, *args, **kwargs): # noqa: E501
- """JsonApiAnalyticalDashboardOutRelationshipsCreatedBy - a model defined in OpenAPI
+ """JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy - a model defined in OpenAPI
Args:
data (JsonApiUserIdentifierToOneLinkage):
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_attribute_hierarchy_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_attribute_hierarchy_out_relationships.py
index 098b15b1b..889684cec 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_attribute_hierarchy_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_attribute_hierarchy_out_relationships.py
@@ -31,9 +31,9 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_attribute_hierarchy_out_relationships_attributes import JsonApiAttributeHierarchyOutRelationshipsAttributes
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAttributeHierarchyOutRelationshipsAttributes'] = JsonApiAttributeHierarchyOutRelationshipsAttributes
@@ -91,8 +91,8 @@ def openapi_types():
lazy_import()
return {
'attributes': (JsonApiAttributeHierarchyOutRelationshipsAttributes,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
}
@cached_property
@@ -148,8 +148,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
attributes (JsonApiAttributeHierarchyOutRelationshipsAttributes): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -236,8 +236,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
attributes (JsonApiAttributeHierarchyOutRelationshipsAttributes): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_automation_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_automation_out_relationships.py
index 3cb64f625..4b5ad53cf 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_automation_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_automation_out_relationships.py
@@ -31,13 +31,13 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_automation_in_relationships_analytical_dashboard import JsonApiAutomationInRelationshipsAnalyticalDashboard
from gooddata_api_client.model.json_api_automation_in_relationships_export_definitions import JsonApiAutomationInRelationshipsExportDefinitions
from gooddata_api_client.model.json_api_automation_in_relationships_notification_channel import JsonApiAutomationInRelationshipsNotificationChannel
from gooddata_api_client.model.json_api_automation_in_relationships_recipients import JsonApiAutomationInRelationshipsRecipients
from gooddata_api_client.model.json_api_automation_out_relationships_automation_results import JsonApiAutomationOutRelationshipsAutomationResults
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAutomationInRelationshipsAnalyticalDashboard'] = JsonApiAutomationInRelationshipsAnalyticalDashboard
globals()['JsonApiAutomationInRelationshipsExportDefinitions'] = JsonApiAutomationInRelationshipsExportDefinitions
globals()['JsonApiAutomationInRelationshipsNotificationChannel'] = JsonApiAutomationInRelationshipsNotificationChannel
@@ -100,9 +100,9 @@ def openapi_types():
return {
'analytical_dashboard': (JsonApiAutomationInRelationshipsAnalyticalDashboard,), # noqa: E501
'automation_results': (JsonApiAutomationOutRelationshipsAutomationResults,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'export_definitions': (JsonApiAutomationInRelationshipsExportDefinitions,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'notification_channel': (JsonApiAutomationInRelationshipsNotificationChannel,), # noqa: E501
'recipients': (JsonApiAutomationInRelationshipsRecipients,), # noqa: E501
}
@@ -165,9 +165,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation_results (JsonApiAutomationOutRelationshipsAutomationResults): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
export_definitions (JsonApiAutomationInRelationshipsExportDefinitions): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
notification_channel (JsonApiAutomationInRelationshipsNotificationChannel): [optional] # noqa: E501
recipients (JsonApiAutomationInRelationshipsRecipients): [optional] # noqa: E501
"""
@@ -257,9 +257,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation_results (JsonApiAutomationOutRelationshipsAutomationResults): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
export_definitions (JsonApiAutomationInRelationshipsExportDefinitions): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
notification_channel (JsonApiAutomationInRelationshipsNotificationChannel): [optional] # noqa: E501
recipients (JsonApiAutomationInRelationshipsRecipients): [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py
index 7552a6b35..bf516e528 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py
@@ -31,8 +31,8 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
class JsonApiDashboardPluginOutRelationships(ModelNormal):
@@ -88,8 +88,8 @@ def openapi_types():
"""
lazy_import()
return {
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
}
@cached_property
@@ -143,8 +143,8 @@ 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,)
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -230,8 +230,8 @@ 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,)
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_export_definition_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_export_definition_out_relationships.py
index 45d3e3952..99082e024 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_export_definition_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_export_definition_out_relationships.py
@@ -31,11 +31,11 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_automation_in_relationships_analytical_dashboard import JsonApiAutomationInRelationshipsAnalyticalDashboard
from gooddata_api_client.model.json_api_automation_result_out_relationships_automation import JsonApiAutomationResultOutRelationshipsAutomation
from gooddata_api_client.model.json_api_export_definition_in_relationships_visualization_object import JsonApiExportDefinitionInRelationshipsVisualizationObject
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAutomationInRelationshipsAnalyticalDashboard'] = JsonApiAutomationInRelationshipsAnalyticalDashboard
globals()['JsonApiAutomationResultOutRelationshipsAutomation'] = JsonApiAutomationResultOutRelationshipsAutomation
globals()['JsonApiExportDefinitionInRelationshipsVisualizationObject'] = JsonApiExportDefinitionInRelationshipsVisualizationObject
@@ -96,8 +96,8 @@ def openapi_types():
return {
'analytical_dashboard': (JsonApiAutomationInRelationshipsAnalyticalDashboard,), # noqa: E501
'automation': (JsonApiAutomationResultOutRelationshipsAutomation,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'visualization_object': (JsonApiExportDefinitionInRelationshipsVisualizationObject,), # noqa: E501
}
@@ -157,8 +157,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation (JsonApiAutomationResultOutRelationshipsAutomation): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
visualization_object (JsonApiExportDefinitionInRelationshipsVisualizationObject): [optional] # noqa: E501
"""
@@ -247,8 +247,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation (JsonApiAutomationResultOutRelationshipsAutomation): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
visualization_object (JsonApiExportDefinitionInRelationshipsVisualizationObject): [optional] # noqa: E501
"""
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_jwk_in_attributes_content.py b/gooddata-api-client/gooddata_api_client/model/json_api_jwk_in_attributes_content.py
index 3554ced2b..2bef1e6a6 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_jwk_in_attributes_content.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_jwk_in_attributes_content.py
@@ -74,6 +74,12 @@ class JsonApiJwkInAttributesContent(ModelComposed):
}
validations = {
+ ('kid',): {
+ 'max_length': 255,
+ 'regex': {
+ 'pattern': r'^[^.]', # noqa: E501
+ },
+ },
}
@cached_property
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in.py
new file mode 100644
index 000000000..7e7e92d29
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in.py
@@ -0,0 +1,298 @@
+"""
+ 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_api_llm_provider_in_attributes import JsonApiLlmProviderInAttributes
+ globals()['JsonApiLlmProviderInAttributes'] = JsonApiLlmProviderInAttributes
+
+
+class JsonApiLlmProviderIn(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 = {
+ ('type',): {
+ 'LLMPROVIDER': "llmProvider",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ }
+
+ @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 {
+ 'attributes': (JsonApiLlmProviderInAttributes,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'attributes': 'attributes', # noqa: E501
+ 'id': 'id', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderIn - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderIn - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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/json_api_llm_provider_in_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes.py
new file mode 100644
index 000000000..3425ffeda
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes.py
@@ -0,0 +1,305 @@
+"""
+ 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_api_llm_provider_in_attributes_models_inner import JsonApiLlmProviderInAttributesModelsInner
+ from gooddata_api_client.model.json_api_llm_provider_in_attributes_provider_config import JsonApiLlmProviderInAttributesProviderConfig
+ globals()['JsonApiLlmProviderInAttributesModelsInner'] = JsonApiLlmProviderInAttributesModelsInner
+ globals()['JsonApiLlmProviderInAttributesProviderConfig'] = JsonApiLlmProviderInAttributesProviderConfig
+
+
+class JsonApiLlmProviderInAttributes(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 = {
+ ('default_model_id',): {
+ 'max_length': 255,
+ },
+ ('description',): {
+ 'max_length': 10000,
+ },
+ ('name',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'models': ([JsonApiLlmProviderInAttributesModelsInner], none_type,), # noqa: E501
+ 'provider_config': (JsonApiLlmProviderInAttributesProviderConfig,), # noqa: E501
+ 'default_model_id': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'name': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'models': 'models', # noqa: E501
+ 'provider_config': 'providerConfig', # noqa: E501
+ 'default_model_id': 'defaultModelId', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'name': 'name', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, models, provider_config, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributes - a model defined in OpenAPI
+
+ Args:
+ models ([JsonApiLlmProviderInAttributesModelsInner], none_type): List of LLM models available for this provider.
+ provider_config (JsonApiLlmProviderInAttributesProviderConfig):
+
+ 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,)
+ default_model_id (str, none_type): ID of the default model to use from the models list.. [optional] # noqa: E501
+ description (str, none_type): Description of the LLM Provider.. [optional] # noqa: E501
+ name (str, none_type): [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.models = models
+ self.provider_config = provider_config
+ 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, models, provider_config, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributes - a model defined in OpenAPI
+
+ Args:
+ models ([JsonApiLlmProviderInAttributesModelsInner], none_type): List of LLM models available for this provider.
+ provider_config (JsonApiLlmProviderInAttributesProviderConfig):
+
+ 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,)
+ default_model_id (str, none_type): ID of the default model to use from the models list.. [optional] # noqa: E501
+ description (str, none_type): Description of the LLM Provider.. [optional] # noqa: E501
+ name (str, none_type): [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.models = models
+ self.provider_config = provider_config
+ 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/json_api_llm_provider_in_attributes_models_inner.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes_models_inner.py
new file mode 100644
index 000000000..0ff9244c7
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes_models_inner.py
@@ -0,0 +1,288 @@
+"""
+ 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 JsonApiLlmProviderInAttributesModelsInner(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 = {
+ ('family',): {
+ 'OPENAI': "OPENAI",
+ 'ANTHROPIC': "ANTHROPIC",
+ 'META': "META",
+ 'MISTRAL': "MISTRAL",
+ 'AMAZON': "AMAZON",
+ 'GOOGLE': "GOOGLE",
+ 'COHERE': "COHERE",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'family': (str,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'family': 'family', # noqa: E501
+ 'id': 'id', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, family, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributesModelsInner - a model defined in OpenAPI
+
+ Args:
+ family (str): Family of LLM models.
+ id (str): Unique identifier of the model (e.g., gpt-5.3, claude-4.6).
+
+ 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.family = family
+ self.id = id
+ 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, family, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributesModelsInner - a model defined in OpenAPI
+
+ Args:
+ family (str): Family of LLM models.
+ id (str): Unique identifier of the model (e.g., gpt-5.3, claude-4.6).
+
+ 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.family = family
+ self.id = id
+ 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/json_api_llm_provider_in_attributes_provider_config.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes_provider_config.py
new file mode 100644
index 000000000..949c97b2a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_attributes_provider_config.py
@@ -0,0 +1,363 @@
+"""
+ 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.aws_bedrock_provider_config import AwsBedrockProviderConfig
+ from gooddata_api_client.model.azure_foundry_provider_config import AzureFoundryProviderConfig
+ from gooddata_api_client.model.open_ai_provider_auth import OpenAiProviderAuth
+ from gooddata_api_client.model.open_ai_provider_config import OpenAIProviderConfig
+ globals()['AwsBedrockProviderConfig'] = AwsBedrockProviderConfig
+ globals()['AzureFoundryProviderConfig'] = AzureFoundryProviderConfig
+ globals()['OpenAIProviderConfig'] = OpenAIProviderConfig
+ globals()['OpenAiProviderAuth'] = OpenAiProviderAuth
+
+
+class JsonApiLlmProviderInAttributesProviderConfig(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'OPENAI': "OPENAI",
+ },
+ }
+
+ validations = {
+ ('base_url',): {
+ 'max_length': 255,
+ },
+ ('organization',): {
+ 'max_length': 255,
+ },
+ ('region',): {
+ 'max_length': 255,
+ },
+ ('endpoint',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'base_url': (str, none_type,), # noqa: E501
+ 'organization': (str, none_type,), # noqa: E501
+ 'auth': (OpenAiProviderAuth,), # noqa: E501
+ 'region': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'endpoint': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'base_url': 'baseUrl', # noqa: E501
+ 'organization': 'organization', # noqa: E501
+ 'auth': 'auth', # noqa: E501
+ 'region': 'region', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'endpoint': 'endpoint', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributesProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInAttributesProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ AwsBedrockProviderConfig,
+ AzureFoundryProviderConfig,
+ OpenAIProviderConfig,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_document.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_document.py
new file mode 100644
index 000000000..57d628b66
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_in_document.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.json_api_llm_provider_in import JsonApiLlmProviderIn
+ globals()['JsonApiLlmProviderIn'] = JsonApiLlmProviderIn
+
+
+class JsonApiLlmProviderInDocument(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 {
+ 'data': (JsonApiLlmProviderIn,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderIn):
+
+ 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.data = data
+ 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, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderInDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderIn):
+
+ 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.data = data
+ 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/json_api_llm_provider_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out.py
new file mode 100644
index 000000000..c90290459
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out.py
@@ -0,0 +1,298 @@
+"""
+ 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_api_llm_provider_in_attributes import JsonApiLlmProviderInAttributes
+ globals()['JsonApiLlmProviderInAttributes'] = JsonApiLlmProviderInAttributes
+
+
+class JsonApiLlmProviderOut(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 = {
+ ('type',): {
+ 'LLMPROVIDER': "llmProvider",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ }
+
+ @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 {
+ 'attributes': (JsonApiLlmProviderInAttributes,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'attributes': 'attributes', # noqa: E501
+ 'id': 'id', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOut - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOut - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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/json_api_llm_provider_out_document.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_document.py
new file mode 100644
index 000000000..557cb946a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_document.py
@@ -0,0 +1,282 @@
+"""
+ 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_api_llm_provider_out import JsonApiLlmProviderOut
+ from gooddata_api_client.model.object_links import ObjectLinks
+ globals()['JsonApiLlmProviderOut'] = JsonApiLlmProviderOut
+ globals()['ObjectLinks'] = ObjectLinks
+
+
+class JsonApiLlmProviderOutDocument(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 {
+ 'data': (JsonApiLlmProviderOut,), # noqa: E501
+ 'links': (ObjectLinks,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ 'links': 'links', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderOut):
+
+ 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,)
+ links (ObjectLinks): [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.data = data
+ 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, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderOut):
+
+ 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,)
+ links (ObjectLinks): [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.data = data
+ 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/json_api_llm_provider_out_list.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_list.py
new file mode 100644
index 000000000..ba45baf9f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_list.py
@@ -0,0 +1,290 @@
+"""
+ 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_api_aggregated_fact_out_list_meta import JsonApiAggregatedFactOutListMeta
+ from gooddata_api_client.model.json_api_llm_provider_out_with_links import JsonApiLlmProviderOutWithLinks
+ from gooddata_api_client.model.list_links import ListLinks
+ globals()['JsonApiAggregatedFactOutListMeta'] = JsonApiAggregatedFactOutListMeta
+ globals()['JsonApiLlmProviderOutWithLinks'] = JsonApiLlmProviderOutWithLinks
+ globals()['ListLinks'] = ListLinks
+
+
+class JsonApiLlmProviderOutList(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 = {
+ ('data',): {
+ },
+ }
+
+ @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 {
+ 'data': ([JsonApiLlmProviderOutWithLinks],), # noqa: E501
+ 'links': (ListLinks,), # noqa: E501
+ 'meta': (JsonApiAggregatedFactOutListMeta,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ 'links': 'links', # noqa: E501
+ 'meta': 'meta', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutList - a model defined in OpenAPI
+
+ Args:
+ data ([JsonApiLlmProviderOutWithLinks]):
+
+ 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,)
+ links (ListLinks): [optional] # noqa: E501
+ meta (JsonApiAggregatedFactOutListMeta): [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.data = data
+ 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, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutList - a model defined in OpenAPI
+
+ Args:
+ data ([JsonApiLlmProviderOutWithLinks]):
+
+ 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,)
+ links (ListLinks): [optional] # noqa: E501
+ meta (JsonApiAggregatedFactOutListMeta): [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.data = data
+ 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/json_api_llm_provider_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_with_links.py
new file mode 100644
index 000000000..04eaadf61
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_out_with_links.py
@@ -0,0 +1,349 @@
+"""
+ 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_api_llm_provider_in_attributes import JsonApiLlmProviderInAttributes
+ from gooddata_api_client.model.json_api_llm_provider_out import JsonApiLlmProviderOut
+ from gooddata_api_client.model.object_links import ObjectLinks
+ from gooddata_api_client.model.object_links_container import ObjectLinksContainer
+ globals()['JsonApiLlmProviderInAttributes'] = JsonApiLlmProviderInAttributes
+ globals()['JsonApiLlmProviderOut'] = JsonApiLlmProviderOut
+ globals()['ObjectLinks'] = ObjectLinks
+ globals()['ObjectLinksContainer'] = ObjectLinksContainer
+
+
+class JsonApiLlmProviderOutWithLinks(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'LLMPROVIDER': "llmProvider",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ }
+
+ @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 {
+ 'attributes': (JsonApiLlmProviderInAttributes,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'links': (ObjectLinks,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'attributes': 'attributes', # noqa: E501
+ 'id': 'id', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'links': 'links', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutWithLinks - a model defined in OpenAPI
+
+ Keyword Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ links (ObjectLinks): [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderOutWithLinks - a model defined in OpenAPI
+
+ Keyword Args:
+ attributes (JsonApiLlmProviderInAttributes):
+ id (str): API identifier of an object
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ links (ObjectLinks): [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ JsonApiLlmProviderOut,
+ ObjectLinksContainer,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch.py
new file mode 100644
index 000000000..d594e2772
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch.py
@@ -0,0 +1,298 @@
+"""
+ 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_api_llm_provider_patch_attributes import JsonApiLlmProviderPatchAttributes
+ globals()['JsonApiLlmProviderPatchAttributes'] = JsonApiLlmProviderPatchAttributes
+
+
+class JsonApiLlmProviderPatch(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 = {
+ ('type',): {
+ 'LLMPROVIDER': "llmProvider",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ }
+
+ @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 {
+ 'attributes': (JsonApiLlmProviderPatchAttributes,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'attributes': 'attributes', # noqa: E501
+ 'id': 'id', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderPatch - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderPatchAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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, attributes, id, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderPatch - a model defined in OpenAPI
+
+ Args:
+ attributes (JsonApiLlmProviderPatchAttributes):
+ id (str): API identifier of an object
+
+ Keyword Args:
+ type (str): Object type. defaults to "llmProvider", must be one of ["llmProvider", ] # noqa: E501
+ _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,)
+ """
+
+ type = kwargs.get('type', "llmProvider")
+ _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.attributes = attributes
+ self.id = id
+ self.type = type
+ 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/json_api_llm_provider_patch_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch_attributes.py
new file mode 100644
index 000000000..64f5ee3fc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch_attributes.py
@@ -0,0 +1,297 @@
+"""
+ 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_api_llm_provider_in_attributes_models_inner import JsonApiLlmProviderInAttributesModelsInner
+ from gooddata_api_client.model.json_api_llm_provider_in_attributes_provider_config import JsonApiLlmProviderInAttributesProviderConfig
+ globals()['JsonApiLlmProviderInAttributesModelsInner'] = JsonApiLlmProviderInAttributesModelsInner
+ globals()['JsonApiLlmProviderInAttributesProviderConfig'] = JsonApiLlmProviderInAttributesProviderConfig
+
+
+class JsonApiLlmProviderPatchAttributes(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 = {
+ ('default_model_id',): {
+ 'max_length': 255,
+ },
+ ('description',): {
+ 'max_length': 10000,
+ },
+ ('name',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'default_model_id': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'models': ([JsonApiLlmProviderInAttributesModelsInner], none_type,), # noqa: E501
+ 'name': (str, none_type,), # noqa: E501
+ 'provider_config': (JsonApiLlmProviderInAttributesProviderConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'default_model_id': 'defaultModelId', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'models': 'models', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'provider_config': 'providerConfig', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderPatchAttributes - 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,)
+ default_model_id (str, none_type): ID of the default model to use from the models list.. [optional] # noqa: E501
+ description (str, none_type): Description of the LLM Provider.. [optional] # noqa: E501
+ models ([JsonApiLlmProviderInAttributesModelsInner], none_type): List of LLM models available for this provider.. [optional] # noqa: E501
+ name (str, none_type): [optional] # noqa: E501
+ provider_config (JsonApiLlmProviderInAttributesProviderConfig): [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
+ """JsonApiLlmProviderPatchAttributes - 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,)
+ default_model_id (str, none_type): ID of the default model to use from the models list.. [optional] # noqa: E501
+ description (str, none_type): Description of the LLM Provider.. [optional] # noqa: E501
+ models ([JsonApiLlmProviderInAttributesModelsInner], none_type): List of LLM models available for this provider.. [optional] # noqa: E501
+ name (str, none_type): [optional] # noqa: E501
+ provider_config (JsonApiLlmProviderInAttributesProviderConfig): [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/json_api_llm_provider_patch_document.py b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch_document.py
new file mode 100644
index 000000000..8664449b7
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_llm_provider_patch_document.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.json_api_llm_provider_patch import JsonApiLlmProviderPatch
+ globals()['JsonApiLlmProviderPatch'] = JsonApiLlmProviderPatch
+
+
+class JsonApiLlmProviderPatchDocument(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 {
+ 'data': (JsonApiLlmProviderPatch,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderPatchDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderPatch):
+
+ 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.data = data
+ 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, data, *args, **kwargs): # noqa: E501
+ """JsonApiLlmProviderPatchDocument - a model defined in OpenAPI
+
+ Args:
+ data (JsonApiLlmProviderPatch):
+
+ 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.data = data
+ 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/json_api_metric_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py
index 83d497548..50a691dde 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py
@@ -60,9 +60,17 @@ class JsonApiMetricOutAttributes(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -106,6 +114,9 @@ def openapi_types():
return {
'content': (JsonApiMetricInAttributesContent,), # noqa: E501
'are_relations_valid': (bool,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (datetime, none_type,), # noqa: E501
'created_at': (datetime, none_type,), # noqa: E501
'description': (str,), # noqa: E501
'is_hidden': (bool,), # noqa: E501
@@ -123,6 +134,9 @@ def discriminator():
attribute_map = {
'content': 'content', # noqa: E501
'are_relations_valid': 'areRelationsValid', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'description': 'description', # noqa: E501
'is_hidden': 'isHidden', # noqa: E501
@@ -177,6 +191,9 @@ def _from_openapi_data(cls, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
is_hidden (bool): [optional] # noqa: E501
@@ -274,6 +291,9 @@ def __init__(self, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
is_hidden (bool): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py
index 5c3ebc5c8..8dd8af9f1 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py
@@ -31,13 +31,13 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_labels import JsonApiAnalyticalDashboardOutRelationshipsLabels
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_metrics import JsonApiAnalyticalDashboardOutRelationshipsMetrics
from gooddata_api_client.model.json_api_attribute_hierarchy_out_relationships_attributes import JsonApiAttributeHierarchyOutRelationshipsAttributes
from gooddata_api_client.model.json_api_dataset_out_relationships_facts import JsonApiDatasetOutRelationshipsFacts
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAnalyticalDashboardOutRelationshipsDatasets'] = JsonApiAnalyticalDashboardOutRelationshipsDatasets
globals()['JsonApiAnalyticalDashboardOutRelationshipsLabels'] = JsonApiAnalyticalDashboardOutRelationshipsLabels
globals()['JsonApiAnalyticalDashboardOutRelationshipsMetrics'] = JsonApiAnalyticalDashboardOutRelationshipsMetrics
@@ -99,12 +99,13 @@ def openapi_types():
lazy_import()
return {
'attributes': (JsonApiAttributeHierarchyOutRelationshipsAttributes,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'certified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'datasets': (JsonApiAnalyticalDashboardOutRelationshipsDatasets,), # noqa: E501
'facts': (JsonApiDatasetOutRelationshipsFacts,), # noqa: E501
'labels': (JsonApiAnalyticalDashboardOutRelationshipsLabels,), # noqa: E501
'metrics': (JsonApiAnalyticalDashboardOutRelationshipsMetrics,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
}
@cached_property
@@ -114,6 +115,7 @@ def discriminator():
attribute_map = {
'attributes': 'attributes', # noqa: E501
+ 'certified_by': 'certifiedBy', # noqa: E501
'created_by': 'createdBy', # noqa: E501
'datasets': 'datasets', # noqa: E501
'facts': 'facts', # noqa: E501
@@ -164,12 +166,13 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
attributes (JsonApiAttributeHierarchyOutRelationshipsAttributes): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ certified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501
facts (JsonApiDatasetOutRelationshipsFacts): [optional] # noqa: E501
labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501
metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -256,12 +259,13 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
attributes (JsonApiAttributeHierarchyOutRelationshipsAttributes): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ certified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501
facts (JsonApiDatasetOutRelationshipsFacts): [optional] # noqa: E501
labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501
metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_notification_channel_in_attributes_destination.py b/gooddata-api-client/gooddata_api_client/model/json_api_notification_channel_in_attributes_destination.py
index 7fae26b1e..7bc9e12b4 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_notification_channel_in_attributes_destination.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_notification_channel_in_attributes_destination.py
@@ -78,6 +78,10 @@ class JsonApiNotificationChannelInAttributesDestination(ModelComposed):
}
validations = {
+ ('has_secret_key',): {
+ },
+ ('has_token',): {
+ },
('secret_key',): {
'max_length': 10000,
},
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 03253faf1..d431d8652 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
@@ -61,6 +61,7 @@ class JsonApiOrganizationSettingInAttributes(ModelNormal):
'ACTIVE_THEME': "ACTIVE_THEME",
'ACTIVE_COLOR_PALETTE': "ACTIVE_COLOR_PALETTE",
'ACTIVE_LLM_ENDPOINT': "ACTIVE_LLM_ENDPOINT",
+ 'ACTIVE_LLM_PROVIDER': "ACTIVE_LLM_PROVIDER",
'ACTIVE_CALENDARS': "ACTIVE_CALENDARS",
'WHITE_LABELING': "WHITE_LABELING",
'LOCALE': "LOCALE",
@@ -104,6 +105,7 @@ class JsonApiOrganizationSettingInAttributes(ModelNormal):
'EXPORT_CSV_CUSTOM_DELIMITER': "EXPORT_CSV_CUSTOM_DELIMITER",
'ENABLE_QUERY_TAGS': "ENABLE_QUERY_TAGS",
'RESTRICT_BASE_UI': "RESTRICT_BASE_UI",
+ 'CERTIFY_PARENT_OBJECTS': "CERTIFY_PARENT_OBJECTS",
},
}
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_attributes.py
index e0953d58e..56cc4b6a4 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_attributes.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_attributes.py
@@ -56,9 +56,17 @@ class JsonApiVisualizationObjectOutAttributes(ModelNormal):
"""
allowed_values = {
+ ('certification',): {
+ 'CERTIFIED': "CERTIFIED",
+ },
}
validations = {
+ ('certified_at',): {
+ 'regex': {
+ 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
+ },
+ },
('created_at',): {
'regex': {
'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501
@@ -100,6 +108,9 @@ def openapi_types():
return {
'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
'are_relations_valid': (bool,), # noqa: E501
+ 'certification': (str,), # noqa: E501
+ 'certification_message': (str, none_type,), # noqa: E501
+ 'certified_at': (datetime, none_type,), # noqa: E501
'created_at': (datetime, none_type,), # noqa: E501
'description': (str,), # noqa: E501
'is_hidden': (bool,), # noqa: E501
@@ -116,6 +127,9 @@ def discriminator():
attribute_map = {
'content': 'content', # noqa: E501
'are_relations_valid': 'areRelationsValid', # noqa: E501
+ 'certification': 'certification', # noqa: E501
+ 'certification_message': 'certificationMessage', # noqa: E501
+ 'certified_at': 'certifiedAt', # noqa: E501
'created_at': 'createdAt', # noqa: E501
'description': 'description', # noqa: E501
'is_hidden': 'isHidden', # noqa: E501
@@ -169,6 +183,9 @@ def _from_openapi_data(cls, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
is_hidden (bool): [optional] # noqa: E501
@@ -265,6 +282,9 @@ def __init__(self, content, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
are_relations_valid (bool): [optional] # noqa: E501
+ certification (str): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # noqa: E501
+ certification_message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ certified_at (datetime, none_type): Time when the certification was set.. [optional] # noqa: E501
created_at (datetime, none_type): Time of the entity creation.. [optional] # noqa: E501
description (str): [optional] # noqa: E501
is_hidden (bool): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_workspace_automation_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_workspace_automation_out_relationships.py
index 1608b606e..6860275f8 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_workspace_automation_out_relationships.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_workspace_automation_out_relationships.py
@@ -31,14 +31,14 @@
def lazy_import():
- from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_automation_in_relationships_analytical_dashboard import JsonApiAutomationInRelationshipsAnalyticalDashboard
from gooddata_api_client.model.json_api_automation_in_relationships_export_definitions import JsonApiAutomationInRelationshipsExportDefinitions
from gooddata_api_client.model.json_api_automation_in_relationships_notification_channel import JsonApiAutomationInRelationshipsNotificationChannel
from gooddata_api_client.model.json_api_automation_in_relationships_recipients import JsonApiAutomationInRelationshipsRecipients
from gooddata_api_client.model.json_api_automation_out_relationships_automation_results import JsonApiAutomationOutRelationshipsAutomationResults
from gooddata_api_client.model.json_api_workspace_automation_out_relationships_workspace import JsonApiWorkspaceAutomationOutRelationshipsWorkspace
- globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+ globals()['JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
globals()['JsonApiAutomationInRelationshipsAnalyticalDashboard'] = JsonApiAutomationInRelationshipsAnalyticalDashboard
globals()['JsonApiAutomationInRelationshipsExportDefinitions'] = JsonApiAutomationInRelationshipsExportDefinitions
globals()['JsonApiAutomationInRelationshipsNotificationChannel'] = JsonApiAutomationInRelationshipsNotificationChannel
@@ -102,9 +102,9 @@ def openapi_types():
return {
'analytical_dashboard': (JsonApiAutomationInRelationshipsAnalyticalDashboard,), # noqa: E501
'automation_results': (JsonApiAutomationOutRelationshipsAutomationResults,), # noqa: E501
- 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'export_definitions': (JsonApiAutomationInRelationshipsExportDefinitions,), # noqa: E501
- 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501
+ 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy,), # noqa: E501
'notification_channel': (JsonApiAutomationInRelationshipsNotificationChannel,), # noqa: E501
'recipients': (JsonApiAutomationInRelationshipsRecipients,), # noqa: E501
'workspace': (JsonApiWorkspaceAutomationOutRelationshipsWorkspace,), # noqa: E501
@@ -169,9 +169,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation_results (JsonApiAutomationOutRelationshipsAutomationResults): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
export_definitions (JsonApiAutomationInRelationshipsExportDefinitions): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
notification_channel (JsonApiAutomationInRelationshipsNotificationChannel): [optional] # noqa: E501
recipients (JsonApiAutomationInRelationshipsRecipients): [optional] # noqa: E501
workspace (JsonApiWorkspaceAutomationOutRelationshipsWorkspace): [optional] # noqa: E501
@@ -262,9 +262,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
analytical_dashboard (JsonApiAutomationInRelationshipsAnalyticalDashboard): [optional] # noqa: E501
automation_results (JsonApiAutomationOutRelationshipsAutomationResults): [optional] # noqa: E501
- created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ created_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
export_definitions (JsonApiAutomationInRelationshipsExportDefinitions): [optional] # noqa: E501
- modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501
+ modified_by (JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy): [optional] # noqa: E501
notification_channel (JsonApiAutomationInRelationshipsNotificationChannel): [optional] # noqa: E501
recipients (JsonApiAutomationInRelationshipsRecipients): [optional] # noqa: E501
workspace (JsonApiWorkspaceAutomationOutRelationshipsWorkspace): [optional] # noqa: E501
diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_workspace_out_meta.py b/gooddata-api-client/gooddata_api_client/model/json_api_workspace_out_meta.py
index 5771a0633..f729ee064 100644
--- a/gooddata-api-client/gooddata_api_client/model/json_api_workspace_out_meta.py
+++ b/gooddata-api-client/gooddata_api_client/model/json_api_workspace_out_meta.py
@@ -72,6 +72,8 @@ class JsonApiWorkspaceOutMeta(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/knowledge_document_metadata_dto.py b/gooddata-api-client/gooddata_api_client/model/knowledge_document_metadata_dto.py
new file mode 100644
index 000000000..0b6ad1732
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/knowledge_document_metadata_dto.py
@@ -0,0 +1,318 @@
+"""
+ 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 KnowledgeDocumentMetadataDto(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 {
+ 'created_at': (str,), # noqa: E501
+ 'created_by': (str,), # noqa: E501
+ 'filename': (str,), # noqa: E501
+ 'num_chunks': (int,), # noqa: E501
+ 'scopes': ([str],), # noqa: E501
+ 'updated_at': (str,), # noqa: E501
+ 'updated_by': (str,), # noqa: E501
+ 'is_disabled': (bool,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'workspace_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'created_at': 'createdAt', # noqa: E501
+ 'created_by': 'createdBy', # noqa: E501
+ 'filename': 'filename', # noqa: E501
+ 'num_chunks': 'numChunks', # noqa: E501
+ 'scopes': 'scopes', # noqa: E501
+ 'updated_at': 'updatedAt', # noqa: E501
+ 'updated_by': 'updatedBy', # noqa: E501
+ 'is_disabled': 'isDisabled', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'workspace_id': 'workspaceId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, created_at, created_by, filename, num_chunks, scopes, updated_at, updated_by, *args, **kwargs): # noqa: E501
+ """KnowledgeDocumentMetadataDto - a model defined in OpenAPI
+
+ Args:
+ created_at (str):
+ created_by (str):
+ filename (str):
+ num_chunks (int):
+ scopes ([str]):
+ updated_at (str):
+ updated_by (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ is_disabled (bool): [optional] # noqa: E501
+ title (str): [optional] # noqa: E501
+ workspace_id (str): [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.created_at = created_at
+ self.created_by = created_by
+ self.filename = filename
+ self.num_chunks = num_chunks
+ self.scopes = scopes
+ self.updated_at = updated_at
+ self.updated_by = updated_by
+ 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, created_at, created_by, filename, num_chunks, scopes, updated_at, updated_by, *args, **kwargs): # noqa: E501
+ """KnowledgeDocumentMetadataDto - a model defined in OpenAPI
+
+ Args:
+ created_at (str):
+ created_by (str):
+ filename (str):
+ num_chunks (int):
+ scopes ([str]):
+ updated_at (str):
+ updated_by (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ is_disabled (bool): [optional] # noqa: E501
+ title (str): [optional] # noqa: E501
+ workspace_id (str): [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.created_at = created_at
+ self.created_by = created_by
+ self.filename = filename
+ self.num_chunks = num_chunks
+ self.scopes = scopes
+ self.updated_at = updated_at
+ self.updated_by = updated_by
+ 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/knowledge_search_result_dto.py b/gooddata-api-client/gooddata_api_client/model/knowledge_search_result_dto.py
new file mode 100644
index 000000000..de120c6cd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/knowledge_search_result_dto.py
@@ -0,0 +1,314 @@
+"""
+ 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 KnowledgeSearchResultDto(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 {
+ 'chunk_index': (int,), # noqa: E501
+ 'content': (str,), # noqa: E501
+ 'filename': (str,), # noqa: E501
+ 'page_numbers': ([int],), # noqa: E501
+ 'scopes': ([str],), # noqa: E501
+ 'score': (float,), # noqa: E501
+ 'total_chunks': (int,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'workspace_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'chunk_index': 'chunkIndex', # noqa: E501
+ 'content': 'content', # noqa: E501
+ 'filename': 'filename', # noqa: E501
+ 'page_numbers': 'pageNumbers', # noqa: E501
+ 'scopes': 'scopes', # noqa: E501
+ 'score': 'score', # noqa: E501
+ 'total_chunks': 'totalChunks', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'workspace_id': 'workspaceId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, chunk_index, content, filename, page_numbers, scopes, score, total_chunks, *args, **kwargs): # noqa: E501
+ """KnowledgeSearchResultDto - a model defined in OpenAPI
+
+ Args:
+ chunk_index (int):
+ content (str):
+ filename (str):
+ page_numbers ([int]):
+ scopes ([str]):
+ score (float):
+ total_chunks (int):
+
+ 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,)
+ title (str): [optional] # noqa: E501
+ workspace_id (str): [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.chunk_index = chunk_index
+ self.content = content
+ self.filename = filename
+ self.page_numbers = page_numbers
+ self.scopes = scopes
+ self.score = score
+ self.total_chunks = total_chunks
+ 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, chunk_index, content, filename, page_numbers, scopes, score, total_chunks, *args, **kwargs): # noqa: E501
+ """KnowledgeSearchResultDto - a model defined in OpenAPI
+
+ Args:
+ chunk_index (int):
+ content (str):
+ filename (str):
+ page_numbers ([int]):
+ scopes ([str]):
+ score (float):
+ total_chunks (int):
+
+ 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,)
+ title (str): [optional] # noqa: E501
+ workspace_id (str): [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.chunk_index = chunk_index
+ self.content = content
+ self.filename = filename
+ self.page_numbers = page_numbers
+ self.scopes = scopes
+ self.score = score
+ self.total_chunks = total_chunks
+ 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/list_database_instances_response.py b/gooddata-api-client/gooddata_api_client/model/list_database_instances_response.py
new file mode 100644
index 000000000..acdeea1cb
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_database_instances_response.py
@@ -0,0 +1,280 @@
+"""
+ 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.database_instance import DatabaseInstance
+ globals()['DatabaseInstance'] = DatabaseInstance
+
+
+class ListDatabaseInstancesResponse(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 {
+ 'databases': ([DatabaseInstance],), # noqa: E501
+ 'total_count': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'databases': 'databases', # noqa: E501
+ 'total_count': 'totalCount', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, databases, *args, **kwargs): # noqa: E501
+ """ListDatabaseInstancesResponse - a model defined in OpenAPI
+
+ Args:
+ databases ([DatabaseInstance]): List of database instances
+
+ 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,)
+ total_count (int): Total count of items (only set when metaInclude=page). [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.databases = databases
+ 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, databases, *args, **kwargs): # noqa: E501
+ """ListDatabaseInstancesResponse - a model defined in OpenAPI
+
+ Args:
+ databases ([DatabaseInstance]): List of database instances
+
+ 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,)
+ total_count (int): Total count of items (only set when metaInclude=page). [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.databases = databases
+ 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/list_knowledge_documents_response_dto.py b/gooddata-api-client/gooddata_api_client/model/list_knowledge_documents_response_dto.py
new file mode 100644
index 000000000..9826850d1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_knowledge_documents_response_dto.py
@@ -0,0 +1,284 @@
+"""
+ 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.knowledge_document_metadata_dto import KnowledgeDocumentMetadataDto
+ globals()['KnowledgeDocumentMetadataDto'] = KnowledgeDocumentMetadataDto
+
+
+class ListKnowledgeDocumentsResponseDto(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 {
+ 'documents': ([KnowledgeDocumentMetadataDto],), # noqa: E501
+ 'next_page_token': (str,), # noqa: E501
+ 'total_count': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'documents': 'documents', # noqa: E501
+ 'next_page_token': 'nextPageToken', # noqa: E501
+ 'total_count': 'totalCount', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, documents, *args, **kwargs): # noqa: E501
+ """ListKnowledgeDocumentsResponseDto - a model defined in OpenAPI
+
+ Args:
+ documents ([KnowledgeDocumentMetadataDto]):
+
+ 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,)
+ next_page_token (str): [optional] # noqa: E501
+ total_count (int): [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.documents = documents
+ 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, documents, *args, **kwargs): # noqa: E501
+ """ListKnowledgeDocumentsResponseDto - a model defined in OpenAPI
+
+ Args:
+ documents ([KnowledgeDocumentMetadataDto]):
+
+ 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,)
+ next_page_token (str): [optional] # noqa: E501
+ total_count (int): [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.documents = documents
+ 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/list_services_response.py b/gooddata-api-client/gooddata_api_client/model/list_services_response.py
new file mode 100644
index 000000000..e19237665
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_services_response.py
@@ -0,0 +1,280 @@
+"""
+ 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.service_info import ServiceInfo
+ globals()['ServiceInfo'] = ServiceInfo
+
+
+class ListServicesResponse(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 {
+ 'services': ([ServiceInfo],), # noqa: E501
+ 'total_count': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'services': 'services', # noqa: E501
+ 'total_count': 'totalCount', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, services, *args, **kwargs): # noqa: E501
+ """ListServicesResponse - a model defined in OpenAPI
+
+ Args:
+ services ([ServiceInfo]): List of services
+
+ 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,)
+ total_count (int): Total count of items (only set when metaInclude=page). [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.services = services
+ 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, services, *args, **kwargs): # noqa: E501
+ """ListServicesResponse - a model defined in OpenAPI
+
+ Args:
+ services ([ServiceInfo]): List of services
+
+ 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,)
+ total_count (int): Total count of items (only set when metaInclude=page). [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.services = services
+ 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/llm_model.py b/gooddata-api-client/gooddata_api_client/model/llm_model.py
new file mode 100644
index 000000000..575dd8d68
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/llm_model.py
@@ -0,0 +1,288 @@
+"""
+ 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 LlmModel(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 = {
+ ('family',): {
+ 'OPENAI': "OPENAI",
+ 'ANTHROPIC': "ANTHROPIC",
+ 'META': "META",
+ 'MISTRAL': "MISTRAL",
+ 'AMAZON': "AMAZON",
+ 'GOOGLE': "GOOGLE",
+ 'COHERE': "COHERE",
+ },
+ }
+
+ validations = {
+ ('id',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'family': (str,), # noqa: E501
+ 'id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'family': 'family', # noqa: E501
+ 'id': 'id', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, family, id, *args, **kwargs): # noqa: E501
+ """LlmModel - a model defined in OpenAPI
+
+ Args:
+ family (str): Family of LLM models.
+ id (str): Unique identifier of the model (e.g., gpt-5.3, claude-4.6).
+
+ 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.family = family
+ self.id = id
+ 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, family, id, *args, **kwargs): # noqa: E501
+ """LlmModel - a model defined in OpenAPI
+
+ Args:
+ family (str): Family of LLM models.
+ id (str): Unique identifier of the model (e.g., gpt-5.3, claude-4.6).
+
+ 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.family = family
+ self.id = id
+ 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/llm_provider_auth.py b/gooddata-api-client/gooddata_api_client/model/llm_provider_auth.py
new file mode 100644
index 000000000..a25d2c414
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/llm_provider_auth.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 LlmProviderAuth(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 {
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, type, *args, **kwargs): # noqa: E501
+ """LlmProviderAuth - a model defined in OpenAPI
+
+ Args:
+ type (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ for arg in args:
+ if isinstance(arg, dict):
+ kwargs.update(arg)
+ else:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.type = type
+ 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, type, *args, **kwargs): # noqa: E501
+ """LlmProviderAuth - a model defined in OpenAPI
+
+ Args:
+ type (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ for arg in args:
+ if isinstance(arg, dict):
+ kwargs.update(arg)
+ else:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.type = type
+ 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/llm_provider_config.py b/gooddata-api-client/gooddata_api_client/model/llm_provider_config.py
new file mode 100644
index 000000000..e18d277f1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/llm_provider_config.py
@@ -0,0 +1,363 @@
+"""
+ 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.aws_bedrock_provider_config import AwsBedrockProviderConfig
+ from gooddata_api_client.model.azure_foundry_provider_config import AzureFoundryProviderConfig
+ from gooddata_api_client.model.open_ai_provider_auth import OpenAiProviderAuth
+ from gooddata_api_client.model.open_ai_provider_config import OpenAIProviderConfig
+ globals()['AwsBedrockProviderConfig'] = AwsBedrockProviderConfig
+ globals()['AzureFoundryProviderConfig'] = AzureFoundryProviderConfig
+ globals()['OpenAIProviderConfig'] = OpenAIProviderConfig
+ globals()['OpenAiProviderAuth'] = OpenAiProviderAuth
+
+
+class LlmProviderConfig(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'OPENAI': "OPENAI",
+ },
+ }
+
+ validations = {
+ ('base_url',): {
+ 'max_length': 255,
+ },
+ ('organization',): {
+ 'max_length': 255,
+ },
+ ('region',): {
+ 'max_length': 255,
+ },
+ ('endpoint',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'base_url': (str, none_type,), # noqa: E501
+ 'organization': (str, none_type,), # noqa: E501
+ 'auth': (OpenAiProviderAuth,), # noqa: E501
+ 'region': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'endpoint': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'base_url': 'baseUrl', # noqa: E501
+ 'organization': 'organization', # noqa: E501
+ 'auth': 'auth', # noqa: E501
+ 'region': 'region', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'endpoint': 'endpoint', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """LlmProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """LlmProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ AwsBedrockProviderConfig,
+ AzureFoundryProviderConfig,
+ OpenAIProviderConfig,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/metric_definition_override.py b/gooddata-api-client/gooddata_api_client/model/metric_definition_override.py
new file mode 100644
index 000000000..22a0ccbae
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/metric_definition_override.py
@@ -0,0 +1,284 @@
+"""
+ 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_object_identifier_core import AfmObjectIdentifierCore
+ from gooddata_api_client.model.inline_measure_definition import InlineMeasureDefinition
+ globals()['AfmObjectIdentifierCore'] = AfmObjectIdentifierCore
+ globals()['InlineMeasureDefinition'] = InlineMeasureDefinition
+
+
+class MetricDefinitionOverride(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 {
+ 'definition': (InlineMeasureDefinition,), # noqa: E501
+ 'item': (AfmObjectIdentifierCore,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'definition': 'definition', # noqa: E501
+ 'item': 'item', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, definition, item, *args, **kwargs): # noqa: E501
+ """MetricDefinitionOverride - a model defined in OpenAPI
+
+ Args:
+ definition (InlineMeasureDefinition):
+ item (AfmObjectIdentifierCore):
+
+ 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.definition = definition
+ self.item = item
+ 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, definition, item, *args, **kwargs): # noqa: E501
+ """MetricDefinitionOverride - a model defined in OpenAPI
+
+ Args:
+ definition (InlineMeasureDefinition):
+ item (AfmObjectIdentifierCore):
+
+ 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.definition = definition
+ self.item = item
+ 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/model_test_result.py b/gooddata-api-client/gooddata_api_client/model/model_test_result.py
new file mode 100644
index 000000000..608c9a56c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/model_test_result.py
@@ -0,0 +1,282 @@
+"""
+ 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 ModelTestResult(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 {
+ 'message': (str,), # noqa: E501
+ 'model_id': (str,), # noqa: E501
+ 'successful': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'message': 'message', # noqa: E501
+ 'model_id': 'modelId', # noqa: E501
+ 'successful': 'successful', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, message, model_id, successful, *args, **kwargs): # noqa: E501
+ """ModelTestResult - a model defined in OpenAPI
+
+ Args:
+ message (str): Message about the model test result.
+ model_id (str): The model ID that was tested.
+ successful (bool): Whether the model test was successful.
+
+ 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.message = message
+ self.model_id = model_id
+ self.successful = successful
+ 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, message, model_id, successful, *args, **kwargs): # noqa: E501
+ """ModelTestResult - a model defined in OpenAPI
+
+ Args:
+ message (str): Message about the model test result.
+ model_id (str): The model ID that was tested.
+ successful (bool): Whether the model test was successful.
+
+ 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.message = message
+ self.model_id = model_id
+ self.successful = successful
+ 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/notification_channel_destination.py b/gooddata-api-client/gooddata_api_client/model/notification_channel_destination.py
index 86ee1ed6b..29f5583e9 100644
--- a/gooddata-api-client/gooddata_api_client/model/notification_channel_destination.py
+++ b/gooddata-api-client/gooddata_api_client/model/notification_channel_destination.py
@@ -75,6 +75,10 @@ class NotificationChannelDestination(ModelComposed):
}
validations = {
+ ('has_secret_key',): {
+ },
+ ('has_token',): {
+ },
('secret_key',): {
'max_length': 10000,
},
diff --git a/gooddata-api-client/gooddata_api_client/model/notification_content.py b/gooddata-api-client/gooddata_api_client/model/notification_content.py
index acf1a390d..db3a871b8 100644
--- a/gooddata-api-client/gooddata_api_client/model/notification_content.py
+++ b/gooddata-api-client/gooddata_api_client/model/notification_content.py
@@ -98,9 +98,7 @@ def discriminator():
lazy_import()
val = {
'AUTOMATION': AutomationNotification,
- 'AutomationNotification': AutomationNotification,
'TEST': TestNotification,
- 'TestNotification': TestNotification,
}
if not val:
return None
diff --git a/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth.py b/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth.py
new file mode 100644
index 000000000..9f57d5014
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth.py
@@ -0,0 +1,332 @@
+"""
+ 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.open_ai_api_key_auth_all_of import OpenAiApiKeyAuthAllOf
+ globals()['OpenAiApiKeyAuthAllOf'] = OpenAiApiKeyAuthAllOf
+
+
+class OpenAiApiKeyAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'type': (str,), # noqa: E501
+ 'api_key': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'type': 'type', # noqa: E501
+ 'api_key': 'apiKey', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """OpenAiApiKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "API_KEY", must be one of ["API_KEY", ] # noqa: E501
+ _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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "API_KEY")
+ _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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """OpenAiApiKeyAuth - a model defined in OpenAPI
+
+ Keyword Args:
+ type (str): Authentication type.. defaults to "API_KEY", must be one of ["API_KEY", ] # noqa: E501
+ _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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "API_KEY")
+ _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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ OpenAiApiKeyAuthAllOf,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth_all_of.py b/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth_all_of.py
new file mode 100644
index 000000000..60cef866a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/open_ai_api_key_auth_all_of.py
@@ -0,0 +1,274 @@
+"""
+ 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 OpenAiApiKeyAuthAllOf(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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'api_key': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'api_key': 'apiKey', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """OpenAiApiKeyAuthAllOf - 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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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
+ """OpenAiApiKeyAuthAllOf - 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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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/open_ai_provider_auth.py b/gooddata-api-client/gooddata_api_client/model/open_ai_provider_auth.py
new file mode 100644
index 000000000..ad3876a86
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/open_ai_provider_auth.py
@@ -0,0 +1,330 @@
+"""
+ 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.open_ai_api_key_auth import OpenAiApiKeyAuth
+ globals()['OpenAiApiKeyAuth'] = OpenAiApiKeyAuth
+
+
+class OpenAiProviderAuth(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'API_KEY': "API_KEY",
+ },
+ }
+
+ validations = {
+ ('api_key',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'api_key': (str, none_type,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'api_key': 'apiKey', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """OpenAiProviderAuth - 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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """OpenAiProviderAuth - 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,)
+ api_key (str, none_type): OpenAI API key.. [optional] # noqa: E501
+ type (str): Authentication type.. [optional] if omitted the server will use the default value of "API_KEY" # 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ OpenAiApiKeyAuth,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/open_ai_provider_config.py b/gooddata-api-client/gooddata_api_client/model/open_ai_provider_config.py
new file mode 100644
index 000000000..a1532e10d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/open_ai_provider_config.py
@@ -0,0 +1,301 @@
+"""
+ 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.open_ai_provider_auth import OpenAiProviderAuth
+ globals()['OpenAiProviderAuth'] = OpenAiProviderAuth
+
+
+class OpenAIProviderConfig(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 = {
+ ('type',): {
+ 'OPENAI': "OPENAI",
+ },
+ }
+
+ validations = {
+ ('base_url',): {
+ 'max_length': 255,
+ },
+ ('organization',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'auth': (OpenAiProviderAuth,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'base_url': (str, none_type,), # noqa: E501
+ 'organization': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'auth': 'auth', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'base_url': 'baseUrl', # noqa: E501
+ 'organization': 'organization', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, auth, *args, **kwargs): # noqa: E501
+ """OpenAIProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (OpenAiProviderAuth):
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "OPENAI", must be one of ["OPENAI", ] # noqa: E501
+ _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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "OPENAI")
+ _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.auth = auth
+ self.type = type
+ 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, auth, *args, **kwargs): # noqa: E501
+ """OpenAIProviderConfig - a model defined in OpenAPI
+
+ Args:
+ auth (OpenAiProviderAuth):
+
+ Keyword Args:
+ type (str): Provider type.. defaults to "OPENAI", must be one of ["OPENAI", ] # noqa: E501
+ _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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ """
+
+ type = kwargs.get('type', "OPENAI")
+ _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.auth = auth
+ self.type = type
+ 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/operation.py b/gooddata-api-client/gooddata_api_client/model/operation.py
index 830b9e34d..55389ecca 100644
--- a/gooddata-api-client/gooddata_api_client/model/operation.py
+++ b/gooddata-api-client/gooddata_api_client/model/operation.py
@@ -67,6 +67,7 @@ class Operation(ModelNormal):
('kind',): {
'PROVISION-DATABASE': "provision-database",
'DEPROVISION-DATABASE': "deprovision-database",
+ 'RUN-SERVICE-COMMAND': "run-service-command",
},
}
@@ -105,9 +106,6 @@ def openapi_types():
def discriminator():
lazy_import()
val = {
- 'FailedOperation': FailedOperation,
- 'PendingOperation': PendingOperation,
- 'SucceededOperation': SucceededOperation,
'failed': FailedOperation,
'pending': PendingOperation,
'succeeded': SucceededOperation,
@@ -134,7 +132,7 @@ def _from_openapi_data(cls, id, kind, status, *args, **kwargs): # noqa: E501
Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
Keyword Args:
@@ -227,7 +225,7 @@ def __init__(self, id, kind, status, *args, **kwargs): # noqa: E501
Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
Keyword Args:
diff --git a/gooddata-api-client/gooddata_api_client/model/patch_knowledge_document_request_dto.py b/gooddata-api-client/gooddata_api_client/model/patch_knowledge_document_request_dto.py
new file mode 100644
index 000000000..509be98a5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/patch_knowledge_document_request_dto.py
@@ -0,0 +1,272 @@
+"""
+ 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 PatchKnowledgeDocumentRequestDto(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 {
+ 'is_disabled': (bool,), # noqa: E501
+ 'scopes': ([str],), # noqa: E501
+ 'title': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'is_disabled': 'isDisabled', # noqa: E501
+ 'scopes': 'scopes', # noqa: E501
+ 'title': 'title', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """PatchKnowledgeDocumentRequestDto - 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,)
+ is_disabled (bool): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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
+ """PatchKnowledgeDocumentRequestDto - 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,)
+ is_disabled (bool): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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/pending_operation.py b/gooddata-api-client/gooddata_api_client/model/pending_operation.py
index 189db9c32..0c9454a91 100644
--- a/gooddata-api-client/gooddata_api_client/model/pending_operation.py
+++ b/gooddata-api-client/gooddata_api_client/model/pending_operation.py
@@ -31,14 +31,8 @@
def lazy_import():
- from gooddata_api_client.model.failed_operation import FailedOperation
from gooddata_api_client.model.operation import Operation
- from gooddata_api_client.model.pending_operation import PendingOperation
- from gooddata_api_client.model.succeeded_operation import SucceededOperation
- globals()['FailedOperation'] = FailedOperation
globals()['Operation'] = Operation
- globals()['PendingOperation'] = PendingOperation
- globals()['SucceededOperation'] = SucceededOperation
class PendingOperation(ModelComposed):
@@ -69,6 +63,7 @@ class PendingOperation(ModelComposed):
('kind',): {
'PROVISION-DATABASE': "provision-database",
'DEPROVISION-DATABASE': "deprovision-database",
+ 'RUN-SERVICE-COMMAND': "run-service-command",
},
}
@@ -105,11 +100,7 @@ def openapi_types():
@cached_property
def discriminator():
- lazy_import()
val = {
- 'failed': FailedOperation,
- 'pending': PendingOperation,
- 'succeeded': SucceededOperation,
}
if not val:
return None
@@ -131,7 +122,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Keyword Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
@@ -237,7 +228,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Keyword Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
diff --git a/gooddata-api-client/gooddata_api_client/model/quality_issues_calculation_status_response.py b/gooddata-api-client/gooddata_api_client/model/quality_issues_calculation_status_response.py
index 753a6878a..ff2013a7e 100644
--- a/gooddata-api-client/gooddata_api_client/model/quality_issues_calculation_status_response.py
+++ b/gooddata-api-client/gooddata_api_client/model/quality_issues_calculation_status_response.py
@@ -65,6 +65,7 @@ class QualityIssuesCalculationStatusResponse(ModelNormal):
'SYNCING': "SYNCING",
'COMPLETED': "COMPLETED",
'FAILED': "FAILED",
+ 'CANCELLED': "CANCELLED",
'NOT_FOUND': "NOT_FOUND",
'DISABLED': "DISABLED",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/relative_date_filter_relative_date_filter.py b/gooddata-api-client/gooddata_api_client/model/relative_date_filter_relative_date_filter.py
index 0ea3b7dd3..821f386e6 100644
--- a/gooddata-api-client/gooddata_api_client/model/relative_date_filter_relative_date_filter.py
+++ b/gooddata-api-client/gooddata_api_client/model/relative_date_filter_relative_date_filter.py
@@ -62,11 +62,6 @@ class RelativeDateFilterRelativeDateFilter(ModelNormal):
"""
allowed_values = {
- ('empty_value_handling',): {
- 'INCLUDE': "INCLUDE",
- 'EXCLUDE': "EXCLUDE",
- 'ONLY': "ONLY",
- },
('granularity',): {
'MINUTE': "MINUTE",
'HOUR': "HOUR",
@@ -88,6 +83,11 @@ class RelativeDateFilterRelativeDateFilter(ModelNormal):
'FISCAL_QUARTER': "FISCAL_QUARTER",
'FISCAL_YEAR': "FISCAL_YEAR",
},
+ ('empty_value_handling',): {
+ 'INCLUDE': "INCLUDE",
+ 'EXCLUDE': "EXCLUDE",
+ 'ONLY': "ONLY",
+ },
}
validations = {
@@ -120,9 +120,9 @@ def openapi_types():
'_from': (int,), # noqa: E501
'granularity': (str,), # noqa: E501
'to': (int,), # noqa: E501
- 'empty_value_handling': (str,), # noqa: E501
'apply_on_result': (bool,), # noqa: E501
'bounded_filter': (BoundedFilter,), # noqa: E501
+ 'empty_value_handling': (str,), # noqa: E501
'local_identifier': (str,), # noqa: E501
}
@@ -136,9 +136,9 @@ def discriminator():
'_from': 'from', # noqa: E501
'granularity': 'granularity', # noqa: E501
'to': 'to', # noqa: E501
- 'empty_value_handling': 'emptyValueHandling', # noqa: E501
'apply_on_result': 'applyOnResult', # noqa: E501
'bounded_filter': 'boundedFilter', # noqa: E501
+ 'empty_value_handling': 'emptyValueHandling', # noqa: E501
'local_identifier': 'localIdentifier', # noqa: E501
}
@@ -191,6 +191,7 @@ def _from_openapi_data(cls, dataset, _from, granularity, to, *args, **kwargs):
_visited_composed_classes = (Animal,)
apply_on_result (bool): [optional] # noqa: E501
bounded_filter (BoundedFilter): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.. [optional] if omitted the server will use the default value of "EXCLUDE" # noqa: E501
local_identifier (str): [optional] # noqa: E501
"""
@@ -289,6 +290,7 @@ def __init__(self, dataset, _from, granularity, to, *args, **kwargs): # noqa: E
_visited_composed_classes = (Animal,)
apply_on_result (bool): [optional] # noqa: E501
bounded_filter (BoundedFilter): [optional] # noqa: E501
+ empty_value_handling (str): Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.. [optional] if omitted the server will use the default value of "EXCLUDE" # noqa: E501
local_identifier (str): [optional] # noqa: E501
"""
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 adc933b6f..a5b88bc0a 100644
--- a/gooddata-api-client/gooddata_api_client/model/resolved_setting.py
+++ b/gooddata-api-client/gooddata_api_client/model/resolved_setting.py
@@ -65,6 +65,7 @@ class ResolvedSetting(ModelNormal):
'ACTIVE_THEME': "ACTIVE_THEME",
'ACTIVE_COLOR_PALETTE': "ACTIVE_COLOR_PALETTE",
'ACTIVE_LLM_ENDPOINT': "ACTIVE_LLM_ENDPOINT",
+ 'ACTIVE_LLM_PROVIDER': "ACTIVE_LLM_PROVIDER",
'ACTIVE_CALENDARS': "ACTIVE_CALENDARS",
'WHITE_LABELING': "WHITE_LABELING",
'LOCALE': "LOCALE",
@@ -108,6 +109,7 @@ class ResolvedSetting(ModelNormal):
'EXPORT_CSV_CUSTOM_DELIMITER': "EXPORT_CSV_CUSTOM_DELIMITER",
'ENABLE_QUERY_TAGS': "ENABLE_QUERY_TAGS",
'RESTRICT_BASE_UI': "RESTRICT_BASE_UI",
+ 'CERTIFY_PARENT_OBJECTS': "CERTIFY_PARENT_OBJECTS",
},
}
diff --git a/gooddata-api-client/gooddata_api_client/model/rsa_specification.py b/gooddata-api-client/gooddata_api_client/model/rsa_specification.py
index 26adabffc..e34913213 100644
--- a/gooddata-api-client/gooddata_api_client/model/rsa_specification.py
+++ b/gooddata-api-client/gooddata_api_client/model/rsa_specification.py
@@ -70,6 +70,12 @@ class RsaSpecification(ModelNormal):
}
validations = {
+ ('kid',): {
+ 'max_length': 255,
+ 'regex': {
+ 'pattern': r'^[^.]', # noqa: E501
+ },
+ },
}
@cached_property
diff --git a/gooddata-api-client/gooddata_api_client/model/run_service_command_request.py b/gooddata-api-client/gooddata_api_client/model/run_service_command_request.py
new file mode 100644
index 000000000..eab5f6050
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/run_service_command_request.py
@@ -0,0 +1,274 @@
+"""
+ 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 RunServiceCommandRequest(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 {
+ 'context': ({str: (str, none_type)}, none_type,), # noqa: E501
+ 'payload': (JsonNode,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'context': 'context', # noqa: E501
+ 'payload': 'payload', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """RunServiceCommandRequest - 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,)
+ context ({str: (str, none_type)}, none_type): The context to pass to the command. [optional] # noqa: E501
+ payload (JsonNode): [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
+ """RunServiceCommandRequest - 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,)
+ context ({str: (str, none_type)}, none_type): The context to pass to the command. [optional] # noqa: E501
+ payload (JsonNode): [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/search_knowledge_response_dto.py b/gooddata-api-client/gooddata_api_client/model/search_knowledge_response_dto.py
new file mode 100644
index 000000000..30ca7572a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/search_knowledge_response_dto.py
@@ -0,0 +1,284 @@
+"""
+ 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.knowledge_search_result_dto import KnowledgeSearchResultDto
+ from gooddata_api_client.model.search_statistics_dto import SearchStatisticsDto
+ globals()['KnowledgeSearchResultDto'] = KnowledgeSearchResultDto
+ globals()['SearchStatisticsDto'] = SearchStatisticsDto
+
+
+class SearchKnowledgeResponseDto(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 {
+ 'results': ([KnowledgeSearchResultDto],), # noqa: E501
+ 'statistics': (SearchStatisticsDto,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'results': 'results', # noqa: E501
+ 'statistics': 'statistics', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, results, statistics, *args, **kwargs): # noqa: E501
+ """SearchKnowledgeResponseDto - a model defined in OpenAPI
+
+ Args:
+ results ([KnowledgeSearchResultDto]):
+ statistics (SearchStatisticsDto):
+
+ 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.results = results
+ self.statistics = statistics
+ 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, results, statistics, *args, **kwargs): # noqa: E501
+ """SearchKnowledgeResponseDto - a model defined in OpenAPI
+
+ Args:
+ results ([KnowledgeSearchResultDto]):
+ statistics (SearchStatisticsDto):
+
+ 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.results = results
+ self.statistics = statistics
+ 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/search_statistics_dto.py b/gooddata-api-client/gooddata_api_client/model/search_statistics_dto.py
new file mode 100644
index 000000000..4a36c3d12
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/search_statistics_dto.py
@@ -0,0 +1,276 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+
+class SearchStatisticsDto(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 {
+ 'average_similarity_score': (float,), # noqa: E501
+ 'total_results': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'average_similarity_score': 'averageSimilarityScore', # noqa: E501
+ 'total_results': 'totalResults', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, average_similarity_score, total_results, *args, **kwargs): # noqa: E501
+ """SearchStatisticsDto - a model defined in OpenAPI
+
+ Args:
+ average_similarity_score (float):
+ total_results (int):
+
+ 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.average_similarity_score = average_similarity_score
+ self.total_results = total_results
+ 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, average_similarity_score, total_results, *args, **kwargs): # noqa: E501
+ """SearchStatisticsDto - a model defined in OpenAPI
+
+ Args:
+ average_similarity_score (float):
+ total_results (int):
+
+ 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.average_similarity_score = average_similarity_score
+ self.total_results = total_results
+ 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/service_info.py b/gooddata-api-client/gooddata_api_client/model/service_info.py
new file mode 100644
index 000000000..c53f58fc6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/service_info.py
@@ -0,0 +1,276 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+
+class ServiceInfo(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 {
+ 'name': (str,), # noqa: E501
+ 'service_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'service_id': 'serviceId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, service_id, *args, **kwargs): # noqa: E501
+ """ServiceInfo - a model defined in OpenAPI
+
+ Args:
+ name (str): Human-readable name of the service
+ service_id (str): Internal identifier for the service configuration (UUID)
+
+ 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.name = name
+ self.service_id = service_id
+ 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, name, service_id, *args, **kwargs): # noqa: E501
+ """ServiceInfo - a model defined in OpenAPI
+
+ Args:
+ name (str): Human-readable name of the service
+ service_id (str): Internal identifier for the service configuration (UUID)
+
+ 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.name = name
+ self.service_id = service_id
+ 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/set_certification_request.py b/gooddata-api-client/gooddata_api_client/model/set_certification_request.py
new file mode 100644
index 000000000..2d9637ae2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/set_certification_request.py
@@ -0,0 +1,293 @@
+"""
+ 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 SetCertificationRequest(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 = {
+ ('type',): {
+ 'METRIC': "metric",
+ 'VISUALIZATIONOBJECT': "visualizationObject",
+ 'ANALYTICALDASHBOARD': "analyticalDashboard",
+ },
+ ('status',): {
+ 'None': None,
+ 'CERTIFIED': "CERTIFIED",
+ },
+ }
+
+ 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 {
+ 'id': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'message': (str, none_type,), # noqa: E501
+ 'status': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'message': 'message', # noqa: E501
+ 'status': 'status', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, type, *args, **kwargs): # noqa: E501
+ """SetCertificationRequest - a model defined in OpenAPI
+
+ Args:
+ id (str): ID of the entity.
+ type (str): Type of the entity.
+
+ 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,)
+ message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ status (str, none_type): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # 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.id = id
+ self.type = type
+ 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, id, type, *args, **kwargs): # noqa: E501
+ """SetCertificationRequest - a model defined in OpenAPI
+
+ Args:
+ id (str): ID of the entity.
+ type (str): Type of the entity.
+
+ 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,)
+ message (str, none_type): Optional message associated with the certification.. [optional] # noqa: E501
+ status (str, none_type): Certification status of the entity.. [optional] if omitted the server will use the default value of "CERTIFIED" # 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.id = id
+ self.type = type
+ 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/succeeded_operation.py b/gooddata-api-client/gooddata_api_client/model/succeeded_operation.py
index cfcef8971..a78b6a3cb 100644
--- a/gooddata-api-client/gooddata_api_client/model/succeeded_operation.py
+++ b/gooddata-api-client/gooddata_api_client/model/succeeded_operation.py
@@ -31,15 +31,9 @@
def lazy_import():
- from gooddata_api_client.model.failed_operation import FailedOperation
from gooddata_api_client.model.operation import Operation
- from gooddata_api_client.model.pending_operation import PendingOperation
- from gooddata_api_client.model.succeeded_operation import SucceededOperation
from gooddata_api_client.model.succeeded_operation_all_of import SucceededOperationAllOf
- globals()['FailedOperation'] = FailedOperation
globals()['Operation'] = Operation
- globals()['PendingOperation'] = PendingOperation
- globals()['SucceededOperation'] = SucceededOperation
globals()['SucceededOperationAllOf'] = SucceededOperationAllOf
@@ -71,6 +65,7 @@ class SucceededOperation(ModelComposed):
('kind',): {
'PROVISION-DATABASE': "provision-database",
'DEPROVISION-DATABASE': "deprovision-database",
+ 'RUN-SERVICE-COMMAND': "run-service-command",
},
}
@@ -108,11 +103,7 @@ def openapi_types():
@cached_property
def discriminator():
- lazy_import()
val = {
- 'failed': FailedOperation,
- 'pending': PendingOperation,
- 'succeeded': SucceededOperation,
}
if not val:
return None
@@ -135,7 +126,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Keyword Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
@@ -242,7 +233,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Keyword Args:
id (str): Id of the operation
- kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.
+ kind (str): Type of the long-running operation. * `provision-database` — Provisioning of an AI Lake database. * `deprovision-database` — Deprovisioning (deletion) of an AI Lake database. * `run-service-command` — Running a command in a particular AI Lake service.
status (str):
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
diff --git a/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request.py b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request.py
new file mode 100644
index 000000000..d1ebb7f5f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request.py
@@ -0,0 +1,282 @@
+"""
+ 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.llm_model import LlmModel
+ from gooddata_api_client.model.test_llm_provider_definition_request_provider_config import TestLlmProviderDefinitionRequestProviderConfig
+ globals()['LlmModel'] = LlmModel
+ globals()['TestLlmProviderDefinitionRequestProviderConfig'] = TestLlmProviderDefinitionRequestProviderConfig
+
+
+class TestLlmProviderDefinitionRequest(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 {
+ 'provider_config': (TestLlmProviderDefinitionRequestProviderConfig,), # noqa: E501
+ 'models': ([LlmModel],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'provider_config': 'providerConfig', # noqa: E501
+ 'models': 'models', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, provider_config, *args, **kwargs): # noqa: E501
+ """TestLlmProviderDefinitionRequest - a model defined in OpenAPI
+
+ Args:
+ provider_config (TestLlmProviderDefinitionRequestProviderConfig):
+
+ 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,)
+ models ([LlmModel]): Models to test.. [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.provider_config = provider_config
+ 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, provider_config, *args, **kwargs): # noqa: E501
+ """TestLlmProviderDefinitionRequest - a model defined in OpenAPI
+
+ Args:
+ provider_config (TestLlmProviderDefinitionRequestProviderConfig):
+
+ 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,)
+ models ([LlmModel]): Models to test.. [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.provider_config = provider_config
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request_provider_config.py b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request_provider_config.py
new file mode 100644
index 000000000..e93080b2c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_definition_request_provider_config.py
@@ -0,0 +1,363 @@
+"""
+ 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.aws_bedrock_provider_config import AwsBedrockProviderConfig
+ from gooddata_api_client.model.azure_foundry_provider_config import AzureFoundryProviderConfig
+ from gooddata_api_client.model.open_ai_provider_auth import OpenAiProviderAuth
+ from gooddata_api_client.model.open_ai_provider_config import OpenAIProviderConfig
+ globals()['AwsBedrockProviderConfig'] = AwsBedrockProviderConfig
+ globals()['AzureFoundryProviderConfig'] = AzureFoundryProviderConfig
+ globals()['OpenAIProviderConfig'] = OpenAIProviderConfig
+ globals()['OpenAiProviderAuth'] = OpenAiProviderAuth
+
+
+class TestLlmProviderDefinitionRequestProviderConfig(ModelComposed):
+ """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 = {
+ ('type',): {
+ 'OPENAI': "OPENAI",
+ },
+ }
+
+ validations = {
+ ('base_url',): {
+ 'max_length': 255,
+ },
+ ('organization',): {
+ 'max_length': 255,
+ },
+ ('region',): {
+ 'max_length': 255,
+ },
+ ('endpoint',): {
+ 'max_length': 255,
+ },
+ }
+
+ @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 {
+ 'base_url': (str, none_type,), # noqa: E501
+ 'organization': (str, none_type,), # noqa: E501
+ 'auth': (OpenAiProviderAuth,), # noqa: E501
+ 'region': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'endpoint': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'base_url': 'baseUrl', # noqa: E501
+ 'organization': 'organization', # noqa: E501
+ 'auth': 'auth', # noqa: E501
+ 'region': 'region', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'endpoint': 'endpoint', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """TestLlmProviderDefinitionRequestProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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', ())
+
+ 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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self._additional_properties_model_instances:
+ # 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',
+ '_composed_instances',
+ '_var_name_to_model_instances',
+ '_additional_properties_model_instances',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """TestLlmProviderDefinitionRequestProviderConfig - 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,)
+ base_url (str, none_type): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com" # noqa: E501
+ organization (str, none_type): OpenAI organization ID.. [optional] # noqa: E501
+ auth (OpenAiProviderAuth): [optional] # noqa: E501
+ region (str): AWS region for Bedrock.. [optional] # noqa: E501
+ type (str): Provider type.. [optional] if omitted the server will use the default value of "OPENAI" # noqa: E501
+ endpoint (str): Azure AI inference endpoint URL.. [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__,)
+
+ 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 in discarded_args and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ 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': [
+ ],
+ 'oneOf': [
+ AwsBedrockProviderConfig,
+ AzureFoundryProviderConfig,
+ OpenAIProviderConfig,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/test_llm_provider_response.py b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_response.py
new file mode 100644
index 000000000..88f1c262a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_response.py
@@ -0,0 +1,288 @@
+"""
+ 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.model_test_result import ModelTestResult
+ globals()['ModelTestResult'] = ModelTestResult
+
+
+class TestLlmProviderResponse(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 {
+ 'model_results': ([ModelTestResult],), # noqa: E501
+ 'provider_message': (str,), # noqa: E501
+ 'provider_reachable': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'model_results': 'modelResults', # noqa: E501
+ 'provider_message': 'providerMessage', # noqa: E501
+ 'provider_reachable': 'providerReachable', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, model_results, provider_message, provider_reachable, *args, **kwargs): # noqa: E501
+ """TestLlmProviderResponse - a model defined in OpenAPI
+
+ Args:
+ model_results ([ModelTestResult]): Per-model test results.
+ provider_message (str): Message about the provider connectivity test.
+ provider_reachable (bool): Whether the LLM provider is reachable.
+
+ 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.model_results = model_results
+ self.provider_message = provider_message
+ self.provider_reachable = provider_reachable
+ 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, model_results, provider_message, provider_reachable, *args, **kwargs): # noqa: E501
+ """TestLlmProviderResponse - a model defined in OpenAPI
+
+ Args:
+ model_results ([ModelTestResult]): Per-model test results.
+ provider_message (str): Message about the provider connectivity test.
+ provider_reachable (bool): Whether the LLM provider is reachable.
+
+ 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.model_results = model_results
+ self.provider_message = provider_message
+ self.provider_reachable = provider_reachable
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/gooddata-api-client/gooddata_api_client/model/test_notification.py b/gooddata-api-client/gooddata_api_client/model/test_notification.py
index f96bb0540..c4155c21a 100644
--- a/gooddata-api-client/gooddata_api_client/model/test_notification.py
+++ b/gooddata-api-client/gooddata_api_client/model/test_notification.py
@@ -31,13 +31,9 @@
def lazy_import():
- from gooddata_api_client.model.automation_notification import AutomationNotification
from gooddata_api_client.model.notification_content import NotificationContent
- from gooddata_api_client.model.test_notification import TestNotification
from gooddata_api_client.model.test_notification_all_of import TestNotificationAllOf
- globals()['AutomationNotification'] = AutomationNotification
globals()['NotificationContent'] = NotificationContent
- globals()['TestNotification'] = TestNotification
globals()['TestNotificationAllOf'] = TestNotificationAllOf
@@ -100,10 +96,7 @@ def openapi_types():
@cached_property
def discriminator():
- lazy_import()
val = {
- 'AUTOMATION': AutomationNotification,
- 'TEST': TestNotification,
}
if not val:
return None
diff --git a/gooddata-api-client/gooddata_api_client/model/trigger_quality_issues_calculation_response.py b/gooddata-api-client/gooddata_api_client/model/trigger_quality_issues_calculation_response.py
index 5a20d5906..8551cf53a 100644
--- a/gooddata-api-client/gooddata_api_client/model/trigger_quality_issues_calculation_response.py
+++ b/gooddata-api-client/gooddata_api_client/model/trigger_quality_issues_calculation_response.py
@@ -60,6 +60,7 @@ class TriggerQualityIssuesCalculationResponse(ModelNormal):
'RUNNING': "RUNNING",
'COMPLETED': "COMPLETED",
'FAILED': "FAILED",
+ 'CANCELLED': "CANCELLED",
'DISABLED': "DISABLED",
},
}
diff --git a/gooddata-api-client/gooddata_api_client/model/upsert_knowledge_document_request_dto.py b/gooddata-api-client/gooddata_api_client/model/upsert_knowledge_document_request_dto.py
new file mode 100644
index 000000000..1795c08e6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/upsert_knowledge_document_request_dto.py
@@ -0,0 +1,288 @@
+"""
+ 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 UpsertKnowledgeDocumentRequestDto(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 {
+ 'content': (str,), # noqa: E501
+ 'filename': (str,), # noqa: E501
+ 'page_boundaries': ([int],), # noqa: E501
+ 'scopes': ([str],), # noqa: E501
+ 'title': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'content': 'content', # noqa: E501
+ 'filename': 'filename', # noqa: E501
+ 'page_boundaries': 'pageBoundaries', # noqa: E501
+ 'scopes': 'scopes', # noqa: E501
+ 'title': 'title', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, content, filename, *args, **kwargs): # noqa: E501
+ """UpsertKnowledgeDocumentRequestDto - a model defined in OpenAPI
+
+ Args:
+ content (str):
+ filename (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ page_boundaries ([int]): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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.content = content
+ self.filename = filename
+ 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, content, filename, *args, **kwargs): # noqa: E501
+ """UpsertKnowledgeDocumentRequestDto - a model defined in OpenAPI
+
+ Args:
+ content (str):
+ filename (str):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ page_boundaries ([int]): [optional] # noqa: E501
+ scopes ([str]): [optional] # noqa: E501
+ title (str): [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.content = content
+ self.filename = filename
+ 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/upsert_knowledge_document_response_dto.py b/gooddata-api-client/gooddata_api_client/model/upsert_knowledge_document_response_dto.py
new file mode 100644
index 000000000..19e0fb39c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/upsert_knowledge_document_response_dto.py
@@ -0,0 +1,288 @@
+"""
+ 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 UpsertKnowledgeDocumentResponseDto(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 {
+ 'filename': (str,), # noqa: E501
+ 'message': (str,), # noqa: E501
+ 'num_chunks': (int,), # noqa: E501
+ 'success': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'filename': 'filename', # noqa: E501
+ 'message': 'message', # noqa: E501
+ 'num_chunks': 'numChunks', # noqa: E501
+ 'success': 'success', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, filename, message, num_chunks, success, *args, **kwargs): # noqa: E501
+ """UpsertKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ filename (str):
+ message (str):
+ num_chunks (int):
+ success (bool):
+
+ 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.filename = filename
+ self.message = message
+ self.num_chunks = num_chunks
+ self.success = success
+ 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, filename, message, num_chunks, success, *args, **kwargs): # noqa: E501
+ """UpsertKnowledgeDocumentResponseDto - a model defined in OpenAPI
+
+ Args:
+ filename (str):
+ message (str):
+ num_chunks (int):
+ success (bool):
+
+ 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.filename = filename
+ self.message = message
+ self.num_chunks = num_chunks
+ self.success = success
+ 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/user_management_workspace_permission_assignment.py b/gooddata-api-client/gooddata_api_client/model/user_management_workspace_permission_assignment.py
index 3f48d6fa5..ca54223c6 100644
--- a/gooddata-api-client/gooddata_api_client/model/user_management_workspace_permission_assignment.py
+++ b/gooddata-api-client/gooddata_api_client/model/user_management_workspace_permission_assignment.py
@@ -64,6 +64,8 @@ class UserManagementWorkspacePermissionAssignment(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
@@ -75,6 +77,8 @@ class UserManagementWorkspacePermissionAssignment(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
diff --git a/gooddata-api-client/gooddata_api_client/model/visualization_config.py b/gooddata-api-client/gooddata_api_client/model/visualization_config.py
new file mode 100644
index 000000000..56afa4fe1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/visualization_config.py
@@ -0,0 +1,288 @@
+"""
+ 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.anomaly_detection_config import AnomalyDetectionConfig
+ from gooddata_api_client.model.clustering_config import ClusteringConfig
+ from gooddata_api_client.model.forecast_config import ForecastConfig
+ from gooddata_api_client.model.what_if_scenario_config import WhatIfScenarioConfig
+ globals()['AnomalyDetectionConfig'] = AnomalyDetectionConfig
+ globals()['ClusteringConfig'] = ClusteringConfig
+ globals()['ForecastConfig'] = ForecastConfig
+ globals()['WhatIfScenarioConfig'] = WhatIfScenarioConfig
+
+
+class VisualizationConfig(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 {
+ 'anomaly_detection': (AnomalyDetectionConfig,), # noqa: E501
+ 'clustering': (ClusteringConfig,), # noqa: E501
+ 'forecast': (ForecastConfig,), # noqa: E501
+ 'what_if': (WhatIfScenarioConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'anomaly_detection': 'anomalyDetection', # noqa: E501
+ 'clustering': 'clustering', # noqa: E501
+ 'forecast': 'forecast', # noqa: E501
+ 'what_if': 'whatIf', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """VisualizationConfig - 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,)
+ anomaly_detection (AnomalyDetectionConfig): [optional] # noqa: E501
+ clustering (ClusteringConfig): [optional] # noqa: E501
+ forecast (ForecastConfig): [optional] # noqa: E501
+ what_if (WhatIfScenarioConfig): [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
+ """VisualizationConfig - 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,)
+ anomaly_detection (AnomalyDetectionConfig): [optional] # noqa: E501
+ clustering (ClusteringConfig): [optional] # noqa: E501
+ forecast (ForecastConfig): [optional] # noqa: E501
+ what_if (WhatIfScenarioConfig): [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/webhook.py b/gooddata-api-client/gooddata_api_client/model/webhook.py
index f0471f2ff..50ba1edf1 100644
--- a/gooddata-api-client/gooddata_api_client/model/webhook.py
+++ b/gooddata-api-client/gooddata_api_client/model/webhook.py
@@ -66,6 +66,10 @@ class Webhook(ModelComposed):
}
validations = {
+ ('has_secret_key',): {
+ },
+ ('has_token',): {
+ },
('secret_key',): {
'max_length': 10000,
},
diff --git a/gooddata-api-client/gooddata_api_client/model/webhook_all_of.py b/gooddata-api-client/gooddata_api_client/model/webhook_all_of.py
index a2e0b1ab7..20a568dcd 100644
--- a/gooddata-api-client/gooddata_api_client/model/webhook_all_of.py
+++ b/gooddata-api-client/gooddata_api_client/model/webhook_all_of.py
@@ -62,6 +62,10 @@ class WebhookAllOf(ModelNormal):
}
validations = {
+ ('has_secret_key',): {
+ },
+ ('has_token',): {
+ },
('secret_key',): {
'max_length': 10000,
},
diff --git a/gooddata-api-client/gooddata_api_client/model/what_if_measure_adjustment_config.py b/gooddata-api-client/gooddata_api_client/model/what_if_measure_adjustment_config.py
new file mode 100644
index 000000000..71ab7791e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/what_if_measure_adjustment_config.py
@@ -0,0 +1,282 @@
+"""
+ 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 WhatIfMeasureAdjustmentConfig(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 {
+ 'metric_id': (str,), # noqa: E501
+ 'metric_type': (str,), # noqa: E501
+ 'scenario_maql': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'metric_id': 'metricId', # noqa: E501
+ 'metric_type': 'metricType', # noqa: E501
+ 'scenario_maql': 'scenarioMaql', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, metric_id, metric_type, scenario_maql, *args, **kwargs): # noqa: E501
+ """WhatIfMeasureAdjustmentConfig - a model defined in OpenAPI
+
+ Args:
+ metric_id (str): ID of the metric or fact to adjust
+ metric_type (str): Type: metric or fact
+ scenario_maql (str): Alternative MAQL expression for this scenario
+
+ 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.metric_id = metric_id
+ self.metric_type = metric_type
+ self.scenario_maql = scenario_maql
+ 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, metric_id, metric_type, scenario_maql, *args, **kwargs): # noqa: E501
+ """WhatIfMeasureAdjustmentConfig - a model defined in OpenAPI
+
+ Args:
+ metric_id (str): ID of the metric or fact to adjust
+ metric_type (str): Type: metric or fact
+ scenario_maql (str): Alternative MAQL expression for this scenario
+
+ 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.metric_id = metric_id
+ self.metric_type = metric_type
+ self.scenario_maql = scenario_maql
+ 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/what_if_scenario_config.py b/gooddata-api-client/gooddata_api_client/model/what_if_scenario_config.py
new file mode 100644
index 000000000..c1d64c60d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/what_if_scenario_config.py
@@ -0,0 +1,282 @@
+"""
+ 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.what_if_scenario_item import WhatIfScenarioItem
+ globals()['WhatIfScenarioItem'] = WhatIfScenarioItem
+
+
+class WhatIfScenarioConfig(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 {
+ 'include_baseline': (bool,), # noqa: E501
+ 'scenarios': ([WhatIfScenarioItem],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'include_baseline': 'includeBaseline', # noqa: E501
+ 'scenarios': 'scenarios', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, include_baseline, scenarios, *args, **kwargs): # noqa: E501
+ """WhatIfScenarioConfig - a model defined in OpenAPI
+
+ Args:
+ include_baseline (bool): Whether baseline (unmodified) values are included
+ scenarios ([WhatIfScenarioItem]): Scenarios with alternative measure calculations
+
+ 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.include_baseline = include_baseline
+ self.scenarios = scenarios
+ 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, include_baseline, scenarios, *args, **kwargs): # noqa: E501
+ """WhatIfScenarioConfig - a model defined in OpenAPI
+
+ Args:
+ include_baseline (bool): Whether baseline (unmodified) values are included
+ scenarios ([WhatIfScenarioItem]): Scenarios with alternative measure calculations
+
+ 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.include_baseline = include_baseline
+ self.scenarios = scenarios
+ 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/what_if_scenario_item.py b/gooddata-api-client/gooddata_api_client/model/what_if_scenario_item.py
new file mode 100644
index 000000000..41160fcfa
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/what_if_scenario_item.py
@@ -0,0 +1,282 @@
+"""
+ 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.what_if_measure_adjustment_config import WhatIfMeasureAdjustmentConfig
+ globals()['WhatIfMeasureAdjustmentConfig'] = WhatIfMeasureAdjustmentConfig
+
+
+class WhatIfScenarioItem(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 {
+ 'adjustments': ([WhatIfMeasureAdjustmentConfig],), # noqa: E501
+ 'label': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'adjustments': 'adjustments', # noqa: E501
+ 'label': 'label', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, adjustments, label, *args, **kwargs): # noqa: E501
+ """WhatIfScenarioItem - a model defined in OpenAPI
+
+ Args:
+ adjustments ([WhatIfMeasureAdjustmentConfig]): Measure adjustments for this scenario
+ label (str): Human-readable scenario label
+
+ 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.adjustments = adjustments
+ self.label = label
+ 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, adjustments, label, *args, **kwargs): # noqa: E501
+ """WhatIfScenarioItem - a model defined in OpenAPI
+
+ Args:
+ adjustments ([WhatIfMeasureAdjustmentConfig]): Measure adjustments for this scenario
+ label (str): Human-readable scenario label
+
+ 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.adjustments = adjustments
+ self.label = label
+ 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/workspace_permission_assignment.py b/gooddata-api-client/gooddata_api_client/model/workspace_permission_assignment.py
index 6b463d1af..e92fb6422 100644
--- a/gooddata-api-client/gooddata_api_client/model/workspace_permission_assignment.py
+++ b/gooddata-api-client/gooddata_api_client/model/workspace_permission_assignment.py
@@ -68,6 +68,8 @@ class WorkspacePermissionAssignment(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
@@ -79,6 +81,8 @@ class WorkspacePermissionAssignment(ModelNormal):
'EXPORT_PDF': "EXPORT_PDF",
'CREATE_AUTOMATION': "CREATE_AUTOMATION",
'USE_AI_ASSISTANT': "USE_AI_ASSISTANT",
+ 'WRITE_KNOWLEDGE_DOCUMENTS': "WRITE_KNOWLEDGE_DOCUMENTS",
+ 'READ_KNOWLEDGE_DOCUMENTS': "READ_KNOWLEDGE_DOCUMENTS",
'CREATE_FILTER_VIEW': "CREATE_FILTER_VIEW",
'VIEW': "VIEW",
},
diff --git a/gooddata-api-client/gooddata_api_client/model_utils.py b/gooddata-api-client/gooddata_api_client/model_utils.py
index bc91bd70e..78d2b33f0 100644
--- a/gooddata-api-client/gooddata_api_client/model_utils.py
+++ b/gooddata-api-client/gooddata_api_client/model_utils.py
@@ -204,7 +204,7 @@ def __deepcopy__(self, memo):
if self.get("_spec_property_naming", False):
new_inst = cls._new_from_openapi_data()
else:
- new_inst = cls.__new__(cls)
+ new_inst = cls.__new__(cls, **self.__dict__)
for k, v in self.__dict__.items():
setattr(new_inst, k, deepcopy(v, memo))
diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py
index 6182a310b..29f009645 100644
--- a/gooddata-api-client/gooddata_api_client/models/__init__.py
+++ b/gooddata-api-client/gooddata_api_client/models/__init__.py
@@ -4,7 +4,7 @@
# if you have many models here with many references from one model to another this may
# raise a RecursionError
# to avoid this, import only the models that you directly need like:
-# from from gooddata_api_client.model.pet import Pet
+# from gooddata_api_client.model.pet import Pet
# or import this package, but before doing it, use:
# import sys
# sys.setrecursionlimit(n)
@@ -59,8 +59,6 @@
from gooddata_api_client.model.aac_workspace_data_filter import AacWorkspaceDataFilter
from gooddata_api_client.model.absolute_date_filter import AbsoluteDateFilter
from gooddata_api_client.model.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
-from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
-from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.abstract_measure_value_filter import AbstractMeasureValueFilter
from gooddata_api_client.model.active_object_identification import ActiveObjectIdentification
from gooddata_api_client.model.ad_hoc_automation import AdHocAutomation
@@ -88,11 +86,14 @@
from gooddata_api_client.model.alert_condition_operand import AlertConditionOperand
from gooddata_api_client.model.alert_description import AlertDescription
from gooddata_api_client.model.alert_evaluation_row import AlertEvaluationRow
+from gooddata_api_client.model.all_time_date_filter import AllTimeDateFilter
+from gooddata_api_client.model.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
from gooddata_api_client.model.allowed_relationship_type import AllowedRelationshipType
from gooddata_api_client.model.analytics_catalog_created_by import AnalyticsCatalogCreatedBy
from gooddata_api_client.model.analytics_catalog_tags import AnalyticsCatalogTags
from gooddata_api_client.model.analytics_catalog_user import AnalyticsCatalogUser
from gooddata_api_client.model.anomaly_detection import AnomalyDetection
+from gooddata_api_client.model.anomaly_detection_config import AnomalyDetectionConfig
from gooddata_api_client.model.anomaly_detection_request import AnomalyDetectionRequest
from gooddata_api_client.model.anomaly_detection_result import AnomalyDetectionResult
from gooddata_api_client.model.anomaly_detection_wrapper import AnomalyDetectionWrapper
@@ -134,6 +135,14 @@
from gooddata_api_client.model.automation_tabular_export import AutomationTabularExport
from gooddata_api_client.model.automation_visual_export import AutomationVisualExport
from gooddata_api_client.model.available_assignees import AvailableAssignees
+from gooddata_api_client.model.aws_bedrock_access_key_auth import AwsBedrockAccessKeyAuth
+from gooddata_api_client.model.aws_bedrock_access_key_auth_all_of import AwsBedrockAccessKeyAuthAllOf
+from gooddata_api_client.model.aws_bedrock_provider_config import AwsBedrockProviderConfig
+from gooddata_api_client.model.azure_foundry_api_key_auth import AzureFoundryApiKeyAuth
+from gooddata_api_client.model.azure_foundry_api_key_auth_all_of import AzureFoundryApiKeyAuthAllOf
+from gooddata_api_client.model.azure_foundry_provider_auth import AzureFoundryProviderAuth
+from gooddata_api_client.model.azure_foundry_provider_config import AzureFoundryProviderConfig
+from gooddata_api_client.model.bedrock_provider_auth import BedrockProviderAuth
from gooddata_api_client.model.bounded_filter import BoundedFilter
from gooddata_api_client.model.change_analysis_params import ChangeAnalysisParams
from gooddata_api_client.model.change_analysis_params_filters_inner import ChangeAnalysisParamsFiltersInner
@@ -146,6 +155,7 @@
from gooddata_api_client.model.chat_request import ChatRequest
from gooddata_api_client.model.chat_result import ChatResult
from gooddata_api_client.model.chat_usage_response import ChatUsageResponse
+from gooddata_api_client.model.clustering_config import ClusteringConfig
from gooddata_api_client.model.clustering_request import ClusteringRequest
from gooddata_api_client.model.clustering_result import ClusteringResult
from gooddata_api_client.model.column_location import ColumnLocation
@@ -166,6 +176,8 @@
from gooddata_api_client.model.compound_measure_value_filter_compound_measure_value_filter import CompoundMeasureValueFilterCompoundMeasureValueFilter
from gooddata_api_client.model.content_slide_template import ContentSlideTemplate
from gooddata_api_client.model.cover_slide_template import CoverSlideTemplate
+from gooddata_api_client.model.create_knowledge_document_request_dto import CreateKnowledgeDocumentRequestDto
+from gooddata_api_client.model.create_knowledge_document_response_dto import CreateKnowledgeDocumentResponseDto
from gooddata_api_client.model.created_visualization import CreatedVisualization
from gooddata_api_client.model.created_visualization_filters_inner import CreatedVisualizationFiltersInner
from gooddata_api_client.model.created_visualizations import CreatedVisualizations
@@ -289,6 +301,7 @@
from gooddata_api_client.model.declarative_workspaces import DeclarativeWorkspaces
from gooddata_api_client.model.default_smtp import DefaultSmtp
from gooddata_api_client.model.default_smtp_all_of import DefaultSmtpAllOf
+from gooddata_api_client.model.delete_knowledge_document_response_dto import DeleteKnowledgeDocumentResponseDto
from gooddata_api_client.model.dependent_entities_graph import DependentEntitiesGraph
from gooddata_api_client.model.dependent_entities_node import DependentEntitiesNode
from gooddata_api_client.model.dependent_entities_request import DependentEntitiesRequest
@@ -330,13 +343,18 @@
from gooddata_api_client.model.filter_by import FilterBy
from gooddata_api_client.model.filter_definition import FilterDefinition
from gooddata_api_client.model.filter_definition_for_simple_measure import FilterDefinitionForSimpleMeasure
+from gooddata_api_client.model.forecast_config import ForecastConfig
from gooddata_api_client.model.forecast_request import ForecastRequest
from gooddata_api_client.model.forecast_result import ForecastResult
from gooddata_api_client.model.found_objects import FoundObjects
from gooddata_api_client.model.frequency import Frequency
from gooddata_api_client.model.frequency_bucket import FrequencyBucket
from gooddata_api_client.model.frequency_properties import FrequencyProperties
+from gooddata_api_client.model.generate_description_request import GenerateDescriptionRequest
+from gooddata_api_client.model.generate_description_response import GenerateDescriptionResponse
from gooddata_api_client.model.generate_ldm_request import GenerateLdmRequest
+from gooddata_api_client.model.generate_title_request import GenerateTitleRequest
+from gooddata_api_client.model.generate_title_response import GenerateTitleResponse
from gooddata_api_client.model.geo_area_config import GeoAreaConfig
from gooddata_api_client.model.geo_collection_identifier import GeoCollectionIdentifier
from gooddata_api_client.model.get_ai_lake_operation200_response import GetAiLakeOperation200Response
@@ -388,7 +406,7 @@
from gooddata_api_client.model.json_api_analytical_dashboard_out_meta_access_info import JsonApiAnalyticalDashboardOutMetaAccessInfo
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships import JsonApiAnalyticalDashboardOutRelationships
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_analytical_dashboards import JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards
-from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy
+from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_certified_by import JsonApiAnalyticalDashboardOutRelationshipsCertifiedBy
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_dashboard_plugins import JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets
from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_filter_contexts import JsonApiAnalyticalDashboardOutRelationshipsFilterContexts
@@ -722,6 +740,18 @@
from gooddata_api_client.model.json_api_llm_endpoint_patch import JsonApiLlmEndpointPatch
from gooddata_api_client.model.json_api_llm_endpoint_patch_attributes import JsonApiLlmEndpointPatchAttributes
from gooddata_api_client.model.json_api_llm_endpoint_patch_document import JsonApiLlmEndpointPatchDocument
+from gooddata_api_client.model.json_api_llm_provider_in import JsonApiLlmProviderIn
+from gooddata_api_client.model.json_api_llm_provider_in_attributes import JsonApiLlmProviderInAttributes
+from gooddata_api_client.model.json_api_llm_provider_in_attributes_models_inner import JsonApiLlmProviderInAttributesModelsInner
+from gooddata_api_client.model.json_api_llm_provider_in_attributes_provider_config import JsonApiLlmProviderInAttributesProviderConfig
+from gooddata_api_client.model.json_api_llm_provider_in_document import JsonApiLlmProviderInDocument
+from gooddata_api_client.model.json_api_llm_provider_out import JsonApiLlmProviderOut
+from gooddata_api_client.model.json_api_llm_provider_out_document import JsonApiLlmProviderOutDocument
+from gooddata_api_client.model.json_api_llm_provider_out_list import JsonApiLlmProviderOutList
+from gooddata_api_client.model.json_api_llm_provider_out_with_links import JsonApiLlmProviderOutWithLinks
+from gooddata_api_client.model.json_api_llm_provider_patch import JsonApiLlmProviderPatch
+from gooddata_api_client.model.json_api_llm_provider_patch_attributes import JsonApiLlmProviderPatchAttributes
+from gooddata_api_client.model.json_api_llm_provider_patch_document import JsonApiLlmProviderPatchDocument
from gooddata_api_client.model.json_api_memory_item_in import JsonApiMemoryItemIn
from gooddata_api_client.model.json_api_memory_item_in_attributes import JsonApiMemoryItemInAttributes
from gooddata_api_client.model.json_api_memory_item_in_document import JsonApiMemoryItemInDocument
@@ -943,9 +973,17 @@
from gooddata_api_client.model.key_drivers_request import KeyDriversRequest
from gooddata_api_client.model.key_drivers_response import KeyDriversResponse
from gooddata_api_client.model.key_drivers_result import KeyDriversResult
+from gooddata_api_client.model.knowledge_document_metadata_dto import KnowledgeDocumentMetadataDto
+from gooddata_api_client.model.knowledge_search_result_dto import KnowledgeSearchResultDto
from gooddata_api_client.model.label_identifier import LabelIdentifier
+from gooddata_api_client.model.list_database_instances_response import ListDatabaseInstancesResponse
+from gooddata_api_client.model.list_knowledge_documents_response_dto import ListKnowledgeDocumentsResponseDto
from gooddata_api_client.model.list_links import ListLinks
from gooddata_api_client.model.list_links_all_of import ListLinksAllOf
+from gooddata_api_client.model.list_services_response import ListServicesResponse
+from gooddata_api_client.model.llm_model import LlmModel
+from gooddata_api_client.model.llm_provider_auth import LlmProviderAuth
+from gooddata_api_client.model.llm_provider_config import LlmProviderConfig
from gooddata_api_client.model.local_identifier import LocalIdentifier
from gooddata_api_client.model.locale_request import LocaleRequest
from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner
@@ -963,8 +1001,10 @@
from gooddata_api_client.model.memory_item_created_by_users import MemoryItemCreatedByUsers
from gooddata_api_client.model.memory_item_user import MemoryItemUser
from gooddata_api_client.model.metric import Metric
+from gooddata_api_client.model.metric_definition_override import MetricDefinitionOverride
from gooddata_api_client.model.metric_record import MetricRecord
from gooddata_api_client.model.metric_value_change import MetricValueChange
+from gooddata_api_client.model.model_test_result import ModelTestResult
from gooddata_api_client.model.negative_attribute_filter import NegativeAttributeFilter
from gooddata_api_client.model.negative_attribute_filter_negative_attribute_filter import NegativeAttributeFilterNegativeAttributeFilter
from gooddata_api_client.model.note import Note
@@ -979,6 +1019,10 @@
from gooddata_api_client.model.notifications_meta_total import NotificationsMetaTotal
from gooddata_api_client.model.object_links import ObjectLinks
from gooddata_api_client.model.object_links_container import ObjectLinksContainer
+from gooddata_api_client.model.open_ai_provider_config import OpenAIProviderConfig
+from gooddata_api_client.model.open_ai_api_key_auth import OpenAiApiKeyAuth
+from gooddata_api_client.model.open_ai_api_key_auth_all_of import OpenAiApiKeyAuthAllOf
+from gooddata_api_client.model.open_ai_provider_auth import OpenAiProviderAuth
from gooddata_api_client.model.operation import Operation
from gooddata_api_client.model.operation_error import OperationError
from gooddata_api_client.model.organization_automation_identifier import OrganizationAutomationIdentifier
@@ -991,6 +1035,7 @@
from gooddata_api_client.model.page_metadata import PageMetadata
from gooddata_api_client.model.paging import Paging
from gooddata_api_client.model.parameter import Parameter
+from gooddata_api_client.model.patch_knowledge_document_request_dto import PatchKnowledgeDocumentRequestDto
from gooddata_api_client.model.pdf_table_style import PdfTableStyle
from gooddata_api_client.model.pdf_table_style_property import PdfTableStyleProperty
from gooddata_api_client.model.pdm_ldm_request import PdmLdmRequest
@@ -1049,17 +1094,22 @@
from gooddata_api_client.model.route_result import RouteResult
from gooddata_api_client.model.rsa_specification import RsaSpecification
from gooddata_api_client.model.rule_permission import RulePermission
+from gooddata_api_client.model.run_service_command_request import RunServiceCommandRequest
from gooddata_api_client.model.running_section import RunningSection
from gooddata_api_client.model.saved_visualization import SavedVisualization
from gooddata_api_client.model.scan_request import ScanRequest
from gooddata_api_client.model.scan_result_pdm import ScanResultPdm
from gooddata_api_client.model.scan_sql_request import ScanSqlRequest
from gooddata_api_client.model.scan_sql_response import ScanSqlResponse
+from gooddata_api_client.model.search_knowledge_response_dto import SearchKnowledgeResponseDto
from gooddata_api_client.model.search_relationship_object import SearchRelationshipObject
from gooddata_api_client.model.search_request import SearchRequest
from gooddata_api_client.model.search_result import SearchResult
from gooddata_api_client.model.search_result_object import SearchResultObject
+from gooddata_api_client.model.search_statistics_dto import SearchStatisticsDto
from gooddata_api_client.model.section_slide_template import SectionSlideTemplate
+from gooddata_api_client.model.service_info import ServiceInfo
+from gooddata_api_client.model.set_certification_request import SetCertificationRequest
from gooddata_api_client.model.settings import Settings
from gooddata_api_client.model.simple_measure_definition import SimpleMeasureDefinition
from gooddata_api_client.model.simple_measure_definition_measure import SimpleMeasureDefinitionMeasure
@@ -1089,6 +1139,9 @@
from gooddata_api_client.model.tabular_export_request import TabularExportRequest
from gooddata_api_client.model.test_definition_request import TestDefinitionRequest
from gooddata_api_client.model.test_destination_request import TestDestinationRequest
+from gooddata_api_client.model.test_llm_provider_definition_request import TestLlmProviderDefinitionRequest
+from gooddata_api_client.model.test_llm_provider_definition_request_provider_config import TestLlmProviderDefinitionRequestProviderConfig
+from gooddata_api_client.model.test_llm_provider_response import TestLlmProviderResponse
from gooddata_api_client.model.test_notification import TestNotification
from gooddata_api_client.model.test_notification_all_of import TestNotificationAllOf
from gooddata_api_client.model.test_query_duration import TestQueryDuration
@@ -1101,6 +1154,8 @@
from gooddata_api_client.model.total_result_header import TotalResultHeader
from gooddata_api_client.model.trigger_automation_request import TriggerAutomationRequest
from gooddata_api_client.model.trigger_quality_issues_calculation_response import TriggerQualityIssuesCalculationResponse
+from gooddata_api_client.model.upsert_knowledge_document_request_dto import UpsertKnowledgeDocumentRequestDto
+from gooddata_api_client.model.upsert_knowledge_document_response_dto import UpsertKnowledgeDocumentResponseDto
from gooddata_api_client.model.user_assignee import UserAssignee
from gooddata_api_client.model.user_context import UserContext
from gooddata_api_client.model.user_group_assignee import UserGroupAssignee
@@ -1123,12 +1178,16 @@
from gooddata_api_client.model.value import Value
from gooddata_api_client.model.visible_filter import VisibleFilter
from gooddata_api_client.model.visual_export_request import VisualExportRequest
+from gooddata_api_client.model.visualization_config import VisualizationConfig
from gooddata_api_client.model.webhook import Webhook
from gooddata_api_client.model.webhook_all_of import WebhookAllOf
from gooddata_api_client.model.webhook_automation_info import WebhookAutomationInfo
from gooddata_api_client.model.webhook_message import WebhookMessage
from gooddata_api_client.model.webhook_message_data import WebhookMessageData
from gooddata_api_client.model.webhook_recipient import WebhookRecipient
+from gooddata_api_client.model.what_if_measure_adjustment_config import WhatIfMeasureAdjustmentConfig
+from gooddata_api_client.model.what_if_scenario_config import WhatIfScenarioConfig
+from gooddata_api_client.model.what_if_scenario_item import WhatIfScenarioItem
from gooddata_api_client.model.widget_slides_template import WidgetSlidesTemplate
from gooddata_api_client.model.workspace_automation_identifier import WorkspaceAutomationIdentifier
from gooddata_api_client.model.workspace_automation_management_bulk_request import WorkspaceAutomationManagementBulkRequest
diff --git a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml
index 4ab4c8d7a..21e95062c 100644
--- a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml
+++ b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml
@@ -103,7 +103,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 15359989-8ad2-4797-872d-0c75e9d2fc54
+ - 75ebf79c-8b57-413e-8905-8f87c275d7c7
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -155,10 +155,10 @@ interactions:
name: Revenue
localIdentifier: dim_1
links:
- executionResult: e318af2d275ae11561a9ab4c66bac635449f57cf:9b16b2d4f10df23824722646ce1af02eb946c80c6d65fb454e6082eba84bcf47
+ executionResult: d60b337013fca31600abb3d636b0552824481d3d:3b1a7fd80969c75386d4191687e7aac6411e48e74da9eaa0c44699c8b65e5771
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e318af2d275ae11561a9ab4c66bac635449f57cf%3A9b16b2d4f10df23824722646ce1af02eb946c80c6d65fb454e6082eba84bcf47?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d60b337013fca31600abb3d636b0552824481d3d%3A3b1a7fd80969c75386d4191687e7aac6411e48e74da9eaa0c44699c8b65e5771?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml
index a3140bd69..200c1a247 100644
--- a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml
+++ b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml
@@ -89,7 +89,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - f191b3ad-a319-479c-8e29-02cca428b1b5
+ - 89bdbce1-989f-4d02-a05b-c4651acb16f1
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -109,10 +109,10 @@ interactions:
name: Revenue
localIdentifier: dim_0
links:
- executionResult: d9d11f7d9e8253a0c876b653d8cdd13837d4d7e3:f88453cd7ca8a9b78b512af78d0d58514f1c4d378dbb3ec42641642e1d30b7d7
+ executionResult: 0f6e8c819d2076d126957770f4de7c7cfdbe94f2:b9fb86afba4a0826554e9283de0216a56182a625b327e2f2086007c84261356b
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d9d11f7d9e8253a0c876b653d8cdd13837d4d7e3%3Af88453cd7ca8a9b78b512af78d0d58514f1c4d378dbb3ec42641642e1d30b7d7?offset=0&limit=256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0f6e8c819d2076d126957770f4de7c7cfdbe94f2%3Ab9fb86afba4a0826554e9283de0216a56182a625b327e2f2086007c84261356b?offset=0&limit=256
body: null
headers:
Accept:
diff --git a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml
index f30881863..360f0f705 100644
--- a/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml
+++ b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml
@@ -78,7 +78,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 5bc1e217-8ae2-447d-bd49-d272c789a346
+ - 3faa3be7-abe9-4ea1-970b-9e4ea6761c55
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -111,10 +111,10 @@ interactions:
name: Revenue
localIdentifier: dim_1
links:
- executionResult: 17828286356601efacb6b95fa54c984dc65d83ed:1a99055686e8543963519414ed3103816d7b01d6916f6883767a9642304fcaa7
+ executionResult: 8fc634415680e148db8133f5bcd7246f5e0a3c66:660c43f4d90efd070912c98150124c6fdf8549fed14b6eb512a830ff17d7f8b3
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/17828286356601efacb6b95fa54c984dc65d83ed%3A1a99055686e8543963519414ed3103816d7b01d6916f6883767a9642304fcaa7?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8fc634415680e148db8133f5bcd7246f5e0a3c66%3A660c43f4d90efd070912c98150124c6fdf8549fed14b6eb512a830ff17d7f8b3?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml
index 339c5935b..4382e5bf1 100644
--- a/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml
+++ b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '5006'
+ - '5096'
Content-Type:
- application/json
DATE: &id001
@@ -141,7 +141,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_and_quantity_by_product_and_category
meta:
origin:
@@ -181,6 +181,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -192,7 +193,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -204,6 +205,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -217,6 +219,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -235,6 +238,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -245,7 +249,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -259,6 +263,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -370,7 +375,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - b8262e8d-176e-48a3-8bd5-70dd69162f12
+ - 9773d1f6-996c-41d2-bf00-605307ab0284
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -422,10 +427,10 @@ interactions:
name: Revenue
localIdentifier: dim_1
links:
- executionResult: 45de8ca1701935fef0b7b962236aa2b30a2f29a7:edd8e464e013b84e886575575e2cefc8c34af5a2aa2c0d98222150b19405fcfb
+ executionResult: b83f490bb62cdbf7c4775031d6be518ec4b6c922:87b0990eecc60e2913654ddb0e0bab5a51cfc352ae558cbc0e55a0f98fdb2e37
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/45de8ca1701935fef0b7b962236aa2b30a2f29a7%3Aedd8e464e013b84e886575575e2cefc8c34af5a2aa2c0d98222150b19405fcfb?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b83f490bb62cdbf7c4775031d6be518ec4b6c922%3A87b0990eecc60e2913654ddb0e0bab5a51cfc352ae558cbc0e55a0f98fdb2e37?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml
index ab8cb6dc2..d357e032e 100644
--- a/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml
+++ b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '5006'
+ - '5096'
Content-Type:
- application/json
DATE: &id001
@@ -141,7 +141,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_and_quantity_by_product_and_category
meta:
origin:
@@ -181,6 +181,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -192,7 +193,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -204,6 +205,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -217,6 +219,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -235,6 +238,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -245,7 +249,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -259,6 +263,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -370,7 +375,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 90bb0a95-a1ef-497f-97c7-933c6eb74b74
+ - 66d702d3-4533-4a10-91db-ea0e4c97625c
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -422,10 +427,10 @@ interactions:
name: Revenue
localIdentifier: dim_1
links:
- executionResult: 45de8ca1701935fef0b7b962236aa2b30a2f29a7:edd8e464e013b84e886575575e2cefc8c34af5a2aa2c0d98222150b19405fcfb
+ executionResult: b83f490bb62cdbf7c4775031d6be518ec4b6c922:87b0990eecc60e2913654ddb0e0bab5a51cfc352ae558cbc0e55a0f98fdb2e37
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/45de8ca1701935fef0b7b962236aa2b30a2f29a7%3Aedd8e464e013b84e886575575e2cefc8c34af5a2aa2c0d98222150b19405fcfb?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b83f490bb62cdbf7c4775031d6be518ec4b6c922%3A87b0990eecc60e2913654ddb0e0bab5a51cfc352ae558cbc0e55a0f98fdb2e37?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml
index 1977358a1..c64380d32 100644
--- a/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml
+++ b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '20149'
+ - '20717'
Content-Type:
- application/json
DATE: &id001
@@ -53,6 +53,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
@@ -78,6 +79,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
@@ -103,6 +105,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_id
sourceColumnDataType: INT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id
@@ -128,6 +131,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_name
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name
@@ -153,6 +157,7 @@ interactions:
areRelationsValid: true
sourceColumn: customer_id
sourceColumnDataType: INT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id
@@ -178,6 +183,7 @@ interactions:
areRelationsValid: true
sourceColumn: customer_name
sourceColumnDataType: STRING
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name
@@ -323,6 +329,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_id
sourceColumnDataType: STRING
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id
@@ -348,6 +355,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_line_id
sourceColumnDataType: STRING
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id
@@ -373,6 +381,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_status
sourceColumnDataType: STRING
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status
@@ -398,6 +407,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_id
sourceColumnDataType: INT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id
@@ -423,6 +433,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -448,6 +459,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -473,6 +485,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -498,6 +511,7 @@ interactions:
areRelationsValid: true
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -529,6 +543,7 @@ interactions:
areRelationsValid: true
sourceColumn: type
sourceColumnDataType: STRING
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type
@@ -556,6 +571,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -569,6 +585,7 @@ interactions:
sourceColumn: order_status
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status
@@ -583,57 +600,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -643,10 +660,10 @@ interactions:
- demo
- order_lines
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -672,6 +689,7 @@ interactions:
sourceColumn: campaign_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name
@@ -739,6 +757,7 @@ interactions:
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id
@@ -780,6 +799,7 @@ interactions:
sourceColumn: order_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id
@@ -793,6 +813,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -806,6 +827,7 @@ interactions:
sourceColumn: type
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type
@@ -836,6 +858,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -849,6 +872,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -873,6 +897,7 @@ interactions:
sourceColumn: geo__state__location
sourceColumnDataType: STRING
valueType: GEO
+ isNullable: true
id: geo__state__location
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location
@@ -886,6 +911,7 @@ interactions:
sourceColumn: product_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id
@@ -899,6 +925,7 @@ interactions:
sourceColumn: order_line_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id
@@ -939,6 +966,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category
@@ -952,6 +980,7 @@ interactions:
sourceColumn: customer_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id
@@ -976,6 +1005,7 @@ interactions:
sourceColumn: state
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state
@@ -989,6 +1019,7 @@ interactions:
sourceColumn: campaign_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id
@@ -1017,7 +1048,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '13574'
+ - '13921'
Content-Type:
- application/json
DATE: *id001
@@ -1231,57 +1262,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -1292,10 +1323,10 @@ interactions:
- order_lines
areRelationsValid: true
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1370,6 +1401,7 @@ interactions:
- Products
sourceColumn: product_id
sourceColumnDataType: INT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id
@@ -1381,6 +1413,7 @@ interactions:
- Campaign channels
sourceColumn: budget
sourceColumnDataType: NUMERIC
+ isNullable: true
id: budget
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget
@@ -1402,6 +1435,7 @@ interactions:
- Products
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -1423,6 +1457,7 @@ interactions:
- Products
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -1444,6 +1479,7 @@ interactions:
- Campaign channels
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
@@ -1455,6 +1491,7 @@ interactions:
- Customers
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -1476,6 +1513,7 @@ interactions:
- Order lines
sourceColumn: order_id
sourceColumnDataType: STRING
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id
@@ -1487,6 +1525,7 @@ interactions:
- Campaigns
sourceColumn: campaign_name
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name
@@ -1498,6 +1537,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -1530,6 +1570,7 @@ interactions:
- Customers
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -1541,6 +1582,7 @@ interactions:
- Campaign channels
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
@@ -1552,6 +1594,7 @@ interactions:
- Customers
sourceColumn: customer_id
sourceColumnDataType: INT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id
@@ -1563,6 +1606,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -1574,6 +1618,7 @@ interactions:
- Campaigns
sourceColumn: campaign_id
sourceColumnDataType: INT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id
@@ -1585,6 +1630,7 @@ interactions:
- Campaign channels
sourceColumn: type
sourceColumnDataType: STRING
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type
@@ -1596,6 +1642,7 @@ interactions:
- Campaign channels
sourceColumn: spend
sourceColumnDataType: NUMERIC
+ isNullable: true
id: spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend
@@ -1607,6 +1654,7 @@ interactions:
- Order lines
sourceColumn: order_status
sourceColumnDataType: STRING
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status
@@ -1618,6 +1666,7 @@ interactions:
- Customers
sourceColumn: customer_name
sourceColumnDataType: STRING
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name
@@ -1629,6 +1678,7 @@ interactions:
- Order lines
sourceColumn: order_line_id
sourceColumnDataType: STRING
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id
@@ -1685,7 +1735,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -1700,7 +1750,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -1716,7 +1766,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -1733,7 +1783,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -1748,7 +1798,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -1763,7 +1813,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -1778,7 +1828,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -1794,7 +1844,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -1810,7 +1860,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -1826,7 +1876,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -1842,7 +1892,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -1858,7 +1908,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -1874,7 +1924,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -1891,7 +1941,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -1907,7 +1957,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -1923,7 +1973,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -1939,7 +1989,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -1955,7 +2005,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -1970,7 +2020,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -1985,7 +2035,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -2000,7 +2050,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -2015,7 +2065,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -2030,7 +2080,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -2045,7 +2095,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
diff --git a/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml
index 276cbd117..ed8ef08c4 100644
--- a/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml
+++ b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '20149'
+ - '20717'
Content-Type:
- application/json
DATE: &id001
@@ -53,6 +53,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
@@ -78,6 +79,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
@@ -103,6 +105,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_id
sourceColumnDataType: INT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id
@@ -128,6 +131,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_name
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name
@@ -153,6 +157,7 @@ interactions:
areRelationsValid: true
sourceColumn: customer_id
sourceColumnDataType: INT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id
@@ -178,6 +183,7 @@ interactions:
areRelationsValid: true
sourceColumn: customer_name
sourceColumnDataType: STRING
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name
@@ -323,6 +329,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_id
sourceColumnDataType: STRING
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id
@@ -348,6 +355,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_line_id
sourceColumnDataType: STRING
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id
@@ -373,6 +381,7 @@ interactions:
areRelationsValid: true
sourceColumn: order_status
sourceColumnDataType: STRING
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status
@@ -398,6 +407,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_id
sourceColumnDataType: INT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id
@@ -423,6 +433,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -448,6 +459,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -473,6 +485,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -498,6 +511,7 @@ interactions:
areRelationsValid: true
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -529,6 +543,7 @@ interactions:
areRelationsValid: true
sourceColumn: type
sourceColumnDataType: STRING
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type
@@ -556,6 +571,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -569,6 +585,7 @@ interactions:
sourceColumn: order_status
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status
@@ -583,57 +600,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -643,10 +660,10 @@ interactions:
- demo
- order_lines
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -672,6 +689,7 @@ interactions:
sourceColumn: campaign_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name
@@ -739,6 +757,7 @@ interactions:
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id
@@ -780,6 +799,7 @@ interactions:
sourceColumn: order_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id
@@ -793,6 +813,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -806,6 +827,7 @@ interactions:
sourceColumn: type
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type
@@ -836,6 +858,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -849,6 +872,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -873,6 +897,7 @@ interactions:
sourceColumn: geo__state__location
sourceColumnDataType: STRING
valueType: GEO
+ isNullable: true
id: geo__state__location
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location
@@ -886,6 +911,7 @@ interactions:
sourceColumn: product_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id
@@ -899,6 +925,7 @@ interactions:
sourceColumn: order_line_id
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id
@@ -939,6 +966,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category
@@ -952,6 +980,7 @@ interactions:
sourceColumn: customer_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id
@@ -976,6 +1005,7 @@ interactions:
sourceColumn: state
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state
@@ -989,6 +1019,7 @@ interactions:
sourceColumn: campaign_id
sourceColumnDataType: INT
valueType: TEXT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id
@@ -1017,7 +1048,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '13574'
+ - '13921'
Content-Type:
- application/json
DATE: *id001
@@ -1231,57 +1262,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -1292,10 +1323,10 @@ interactions:
- order_lines
areRelationsValid: true
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1370,6 +1401,7 @@ interactions:
- Products
sourceColumn: product_id
sourceColumnDataType: INT
+ isNullable: false
id: product_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id
@@ -1381,6 +1413,7 @@ interactions:
- Campaign channels
sourceColumn: budget
sourceColumnDataType: NUMERIC
+ isNullable: true
id: budget
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget
@@ -1402,6 +1435,7 @@ interactions:
- Products
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -1423,6 +1457,7 @@ interactions:
- Products
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -1444,6 +1479,7 @@ interactions:
- Campaign channels
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category
@@ -1455,6 +1491,7 @@ interactions:
- Customers
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -1476,6 +1513,7 @@ interactions:
- Order lines
sourceColumn: order_id
sourceColumnDataType: STRING
+ isNullable: true
id: order_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id
@@ -1487,6 +1525,7 @@ interactions:
- Campaigns
sourceColumn: campaign_name
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name
@@ -1498,6 +1537,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -1530,6 +1570,7 @@ interactions:
- Customers
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -1541,6 +1582,7 @@ interactions:
- Campaign channels
sourceColumn: campaign_channel_id
sourceColumnDataType: STRING
+ isNullable: false
id: campaign_channel_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id
@@ -1552,6 +1594,7 @@ interactions:
- Customers
sourceColumn: customer_id
sourceColumnDataType: INT
+ isNullable: false
id: customer_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id
@@ -1563,6 +1606,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -1574,6 +1618,7 @@ interactions:
- Campaigns
sourceColumn: campaign_id
sourceColumnDataType: INT
+ isNullable: false
id: campaign_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id
@@ -1585,6 +1630,7 @@ interactions:
- Campaign channels
sourceColumn: type
sourceColumnDataType: STRING
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type
@@ -1596,6 +1642,7 @@ interactions:
- Campaign channels
sourceColumn: spend
sourceColumnDataType: NUMERIC
+ isNullable: true
id: spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend
@@ -1607,6 +1654,7 @@ interactions:
- Order lines
sourceColumn: order_status
sourceColumnDataType: STRING
+ isNullable: true
id: order_status
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status
@@ -1618,6 +1666,7 @@ interactions:
- Customers
sourceColumn: customer_name
sourceColumnDataType: STRING
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name
@@ -1629,6 +1678,7 @@ interactions:
- Order lines
sourceColumn: order_line_id
sourceColumnDataType: STRING
+ isNullable: false
id: order_line_id
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id
@@ -1685,7 +1735,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -1700,7 +1750,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -1716,7 +1766,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -1733,7 +1783,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -1748,7 +1798,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -1763,7 +1813,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -1778,7 +1828,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -1794,7 +1844,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -1810,7 +1860,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -1826,7 +1876,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -1842,7 +1892,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -1858,7 +1908,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -1874,7 +1924,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -1891,7 +1941,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -1907,7 +1957,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -1923,7 +1973,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -1939,7 +1989,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -1955,7 +2005,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -1970,7 +2020,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -1985,7 +2035,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -2000,7 +2050,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -2015,7 +2065,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -2030,7 +2080,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -2045,7 +2095,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
@@ -2078,7 +2128,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '33000'
+ - '33181'
Content-Type:
- application/json
DATE: *id001
@@ -2161,7 +2211,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/campaign_spend
@@ -2232,9 +2282,9 @@ interactions:
identifier:
id: date
type: dataset
- from: -11
+ from: -12
granularity: GDC.time.month
- to: 0
+ to: -1
properties:
controls:
colorMapping:
@@ -2260,7 +2310,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: customers_trend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend
@@ -2364,7 +2414,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_per_product_by_customer_and_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percent_revenue_per_product_by_customer_and_category
@@ -2448,7 +2498,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percentage_of_customers_by_region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percentage_of_customers_by_region
@@ -2530,7 +2580,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: product_breakdown
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_breakdown
@@ -2604,7 +2654,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: product_categories_pie_chart
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_categories_pie_chart
@@ -2700,7 +2750,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: product_revenue_comparison-over_previous_period
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_revenue_comparison-over_previous_period
@@ -2786,7 +2836,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: product_saleability
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_saleability
@@ -2906,7 +2956,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_and_quantity_by_product_and_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category
@@ -2993,7 +3043,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_by_category_trend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_category_trend
@@ -3057,7 +3107,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_by_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_product
@@ -3132,7 +3182,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_usd_vs_spend_by_campaign
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_per_usd_vs_spend_by_campaign
@@ -3221,7 +3271,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_trend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_trend
@@ -3303,7 +3353,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_customers
@@ -3381,7 +3431,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_products
@@ -3411,7 +3461,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -3423,7 +3473,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -3435,6 +3485,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -3448,6 +3499,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -3471,6 +3523,7 @@ interactions:
sourceColumn: campaign_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name
@@ -3481,7 +3534,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -3491,7 +3544,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -3501,7 +3554,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -3523,7 +3576,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -3535,6 +3588,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -3563,6 +3617,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_channels.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category
@@ -3576,6 +3631,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -3589,6 +3645,7 @@ interactions:
sourceColumn: type
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: type
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type
@@ -3602,6 +3659,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -3615,6 +3673,7 @@ interactions:
sourceColumn: state
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state
@@ -3624,7 +3683,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -3638,6 +3697,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -3647,7 +3707,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -3657,7 +3717,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml
index 93b15c384..8813fb8e8 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 30a3cfc0-9dfc-4d06-92f5-bf61a6502fc3
+ - 6690b141-0765-4d58-bcf0-8b9ad41dd709
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 4625
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml
index 71c874f81..e4cdc8a8f 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - d05a2dc5-6b85-4b52-a729-5d238cf64a4a
+ - bfe7b4db-22ff-43c8-b410-9fb379db63bd
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 4625
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml
index f472f3fff..16fbc0e20 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml
@@ -88,7 +88,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 492f44fb-c16d-4651-a4ac-740cf50d4381
+ - 3f8fe115-98ee-4631-acbf-1c9db9f90101
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -149,10 +149,10 @@ interactions:
name: Order Amount
localIdentifier: dim_0
links:
- executionResult: fa5118aa2f0231bdb90faef2f85324136f7f2668:65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5
+ executionResult: b0e84dd140b6265a314bb63b5600a6112e7384bf:eea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fa5118aa2f0231bdb90faef2f85324136f7f2668%3A65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b0e84dd140b6265a314bb63b5600a6112e7384bf%3Aeea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3/metadata
body: null
headers:
Accept:
@@ -171,7 +171,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2067'
+ - '2099'
Content-Type:
- application/json
DATE: *id001
@@ -234,6 +234,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -289,7 +290,7 @@ interactions:
name: Order Amount
localIdentifier: dim_0
links:
- executionResult: fa5118aa2f0231bdb90faef2f85324136f7f2668:65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5
+ executionResult: b0e84dd140b6265a314bb63b5600a6112e7384bf:eea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -303,7 +304,7 @@ interactions:
resultSize: 2913
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fa5118aa2f0231bdb90faef2f85324136f7f2668%3A65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5?offset=0&limit=500
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b0e84dd140b6265a314bb63b5600a6112e7384bf%3Aeea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3?offset=0&limit=500
body: null
headers:
Accept:
@@ -4730,7 +4731,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fa5118aa2f0231bdb90faef2f85324136f7f2668%3A65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b0e84dd140b6265a314bb63b5600a6112e7384bf%3Aeea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3/metadata
body: null
headers:
Accept:
@@ -4749,7 +4750,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2067'
+ - '2099'
Content-Type:
- application/json
DATE: *id001
@@ -4812,6 +4813,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -4867,7 +4869,7 @@ interactions:
name: Order Amount
localIdentifier: dim_0
links:
- executionResult: fa5118aa2f0231bdb90faef2f85324136f7f2668:65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5
+ executionResult: b0e84dd140b6265a314bb63b5600a6112e7384bf:eea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -4881,7 +4883,7 @@ interactions:
resultSize: 2913
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fa5118aa2f0231bdb90faef2f85324136f7f2668%3A65555fc3e5e1bf7cb93b737444f27c83816d76322eee4cbb9e230fa941c041f5?offset=0&limit=500
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b0e84dd140b6265a314bb63b5600a6112e7384bf%3Aeea1279f0cabd5c4b86e25cf171a14cbc24832cd798b605bd6bd105e55743bd3?offset=0&limit=500
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml
index 03be8fada..ded33907a 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 5b614cfa-183b-40be-8c1a-deef2e710287
+ - 6242ae60-4690-4043-8b6d-d83c74848669
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 028f5f65942a4cdb073d95b2bf2a0e086b66cfb7:292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148
+ executionResult: ae0fc31feddaa602e7933b502c0d55072af0ef29:91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2170'
+ - '2202'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers: []
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 028f5f65942a4cdb073d95b2bf2a0e086b66cfb7:292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148
+ executionResult: ae0fc31feddaa602e7933b502c0d55072af0ef29:91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 2913
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1575,7 +1576,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C100&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C100&limit=100%2C100
body: null
headers:
Accept:
@@ -2838,7 +2839,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C200&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C200&limit=100%2C100
body: null
headers:
Accept:
@@ -4101,7 +4102,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C300&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C300&limit=100%2C100
body: null
headers:
Accept:
@@ -4932,7 +4933,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09/metadata
body: null
headers:
Accept:
@@ -4951,7 +4952,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2170'
+ - '2202'
Content-Type:
- application/json
DATE: *id001
@@ -5014,6 +5015,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers: []
@@ -5071,7 +5073,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 028f5f65942a4cdb073d95b2bf2a0e086b66cfb7:292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148
+ executionResult: ae0fc31feddaa602e7933b502c0d55072af0ef29:91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -5088,7 +5090,7 @@ interactions:
resultSize: 2913
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -6351,7 +6353,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C100&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C100&limit=100%2C100
body: null
headers:
Accept:
@@ -7614,7 +7616,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C200&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C200&limit=100%2C100
body: null
headers:
Accept:
@@ -8877,7 +8879,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/028f5f65942a4cdb073d95b2bf2a0e086b66cfb7%3A292e01f621a0ab94aa160c32b62f14051a7d047b6e4aec5e83c9a26118823148?offset=0%2C300&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ae0fc31feddaa602e7933b502c0d55072af0ef29%3A91a4d8ef1b7237a17610d817f46db301d7c3767dace3e99bf412ecdcce93ae09?offset=0%2C300&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml
index 601a95588..3f131ccb0 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml
@@ -109,7 +109,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 458a6aa5-da04-4bf5-b52c-076a00a99175
+ - 7cd21243-8142-4a2a-a3c1-b275fad3aa2a
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -172,10 +172,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 87ed376c4cf5d084ae8f5b011043d737f6df4198:0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f
+ executionResult: deeb8e99f85a5b336773174ee39c10412c67ba31:bf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87ed376c4cf5d084ae8f5b011043d737f6df4198%3A0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/deeb8e99f85a5b336773174ee39c10412c67ba31%3Abf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab/metadata
body: null
headers:
Accept:
@@ -194,7 +194,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2528'
+ - '2560'
Content-Type:
- application/json
DATE: *id001
@@ -257,6 +257,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -314,7 +315,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 87ed376c4cf5d084ae8f5b011043d737f6df4198:0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f
+ executionResult: deeb8e99f85a5b336773174ee39c10412c67ba31:bf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -349,7 +350,7 @@ interactions:
resultSize: 4794
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87ed376c4cf5d084ae8f5b011043d737f6df4198%3A0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/deeb8e99f85a5b336773174ee39c10412c67ba31%3Abf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1778,7 +1779,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87ed376c4cf5d084ae8f5b011043d737f6df4198%3A0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/deeb8e99f85a5b336773174ee39c10412c67ba31%3Abf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab/metadata
body: null
headers:
Accept:
@@ -1797,7 +1798,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2528'
+ - '2560'
Content-Type:
- application/json
DATE: *id001
@@ -1860,6 +1861,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -1917,7 +1919,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 87ed376c4cf5d084ae8f5b011043d737f6df4198:0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f
+ executionResult: deeb8e99f85a5b336773174ee39c10412c67ba31:bf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -1952,7 +1954,7 @@ interactions:
resultSize: 4794
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87ed376c4cf5d084ae8f5b011043d737f6df4198%3A0b8b269f9cf196ccfbcd7750b484e0fe705400afbf81d696bd06b4d137e5c86f?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/deeb8e99f85a5b336773174ee39c10412c67ba31%3Abf35ea462f194cd6365f2b0c30420d46ce89103703613f5d19f66702047f3eab?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml
index 1595141ae..1991a16c1 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml
@@ -107,7 +107,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 2fc2438d-35c9-49b6-ba76-7ffe61263994
+ - b360039b-d18e-493a-813f-54554b305928
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -170,10 +170,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: c18b40c9abb62da31243b7aab85433901c4165a9:ecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991
+ executionResult: fcc025cee3f6a3055ec68950c4d2e86df0eef669:1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c18b40c9abb62da31243b7aab85433901c4165a9%3Aecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fcc025cee3f6a3055ec68950c4d2e86df0eef669%3A1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf/metadata
body: null
headers:
Accept:
@@ -192,7 +192,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2511'
+ - '2543'
Content-Type:
- application/json
DATE: *id001
@@ -255,6 +255,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -312,7 +313,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: c18b40c9abb62da31243b7aab85433901c4165a9:ecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991
+ executionResult: fcc025cee3f6a3055ec68950c4d2e86df0eef669:1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -345,7 +346,7 @@ interactions:
resultSize: 15444
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c18b40c9abb62da31243b7aab85433901c4165a9%3Aecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fcc025cee3f6a3055ec68950c4d2e86df0eef669%3A1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -2829,7 +2830,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c18b40c9abb62da31243b7aab85433901c4165a9%3Aecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fcc025cee3f6a3055ec68950c4d2e86df0eef669%3A1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf/metadata
body: null
headers:
Accept:
@@ -2848,7 +2849,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2511'
+ - '2543'
Content-Type:
- application/json
DATE: *id001
@@ -2911,6 +2912,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -2968,7 +2970,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: c18b40c9abb62da31243b7aab85433901c4165a9:ecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991
+ executionResult: fcc025cee3f6a3055ec68950c4d2e86df0eef669:1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -3001,7 +3003,7 @@ interactions:
resultSize: 15444
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c18b40c9abb62da31243b7aab85433901c4165a9%3Aecd6bd8dfd66e0ecdb2dcf93fe2d9e31f16fb6b5b70c208a30c86711e5d3c991?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fcc025cee3f6a3055ec68950c4d2e86df0eef669%3A1b87704d500353651747722261fd400cfebdaba0aba827056ea202458f6e5dcf?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml
index bfc9b33c4..b9604c1e1 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml
@@ -109,7 +109,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - bc138165-401b-4c3a-88e1-18a65fea17da
+ - 06939ee4-fcd5-4916-9e45-6300a875aaa5
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -172,10 +172,10 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 62317b4a7548b9d9612a417c8c4d55759209a7b0:42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c
+ executionResult: dad7aacf6991cfb72e16325c54dd456e5e8501fb:feada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/62317b4a7548b9d9612a417c8c4d55759209a7b0%3A42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dad7aacf6991cfb72e16325c54dd456e5e8501fb%3Afeada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2/metadata
body: null
headers:
Accept:
@@ -194,7 +194,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2528'
+ - '2560'
Content-Type:
- application/json
DATE: *id001
@@ -257,6 +257,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -314,7 +315,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 62317b4a7548b9d9612a417c8c4d55759209a7b0:42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c
+ executionResult: dad7aacf6991cfb72e16325c54dd456e5e8501fb:feada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -349,7 +350,7 @@ interactions:
resultSize: 4794
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/62317b4a7548b9d9612a417c8c4d55759209a7b0%3A42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dad7aacf6991cfb72e16325c54dd456e5e8501fb%3Afeada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1778,7 +1779,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/62317b4a7548b9d9612a417c8c4d55759209a7b0%3A42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dad7aacf6991cfb72e16325c54dd456e5e8501fb%3Afeada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2/metadata
body: null
headers:
Accept:
@@ -1797,7 +1798,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2528'
+ - '2560'
Content-Type:
- application/json
DATE: *id001
@@ -1860,6 +1861,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -1917,7 +1919,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 62317b4a7548b9d9612a417c8c4d55759209a7b0:42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c
+ executionResult: dad7aacf6991cfb72e16325c54dd456e5e8501fb:feada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -1952,7 +1954,7 @@ interactions:
resultSize: 4794
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/62317b4a7548b9d9612a417c8c4d55759209a7b0%3A42c6a82c7df327261a906b878f233b00fa2632af6c69b1772817d625dfdaa93c?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/dad7aacf6991cfb72e16325c54dd456e5e8501fb%3Afeada44cb6bf18355e52dab6fb6aa4edd1c414165ab7d913afc1a205fec871b2?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml
index ba9a8d01b..b482387d3 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml
@@ -107,7 +107,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - c6ef7d2a-6ab9-4453-85fe-8f8a575632d4
+ - 0297b085-27b4-4fea-9b6b-7323acf0ca6c
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -170,10 +170,10 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 88c5e500dd8423954c9d0ad443c91613f4d371ea:28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade
+ executionResult: 5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d:1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/88c5e500dd8423954c9d0ad443c91613f4d371ea%3A28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d%3A1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7/metadata
body: null
headers:
Accept:
@@ -192,7 +192,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2511'
+ - '2543'
Content-Type:
- application/json
DATE: *id001
@@ -255,6 +255,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -312,7 +313,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 88c5e500dd8423954c9d0ad443c91613f4d371ea:28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade
+ executionResult: 5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d:1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -345,7 +346,7 @@ interactions:
resultSize: 15444
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/88c5e500dd8423954c9d0ad443c91613f4d371ea%3A28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d%3A1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -2829,7 +2830,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/88c5e500dd8423954c9d0ad443c91613f4d371ea%3A28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d%3A1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7/metadata
body: null
headers:
Accept:
@@ -2848,7 +2849,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2511'
+ - '2543'
Content-Type:
- application/json
DATE: *id001
@@ -2911,6 +2912,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -2968,7 +2970,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 88c5e500dd8423954c9d0ad443c91613f4d371ea:28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade
+ executionResult: 5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d:1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -3001,7 +3003,7 @@ interactions:
resultSize: 15444
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/88c5e500dd8423954c9d0ad443c91613f4d371ea%3A28ac1b2f7b88159e6d1a00031b417607d7bf9a184e8b5017320edd01a04dcade?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f2924bed6bbd4d2ef6c6e5ddf87d0c0b14af08d%3A1a68011bef797ddebccd73d1c35929710bd7fe9fd02207919208129b1a5028e7?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml
index fb8548510..60b09e12b 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 8957375b-74ad-4844-8d35-3cc066d806de
+ - e719d792-cc45-43d3-bbfe-3f699caec6ac
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 4625
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1087,7 +1088,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188/metadata
body: null
headers:
Accept:
@@ -1106,7 +1107,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -1169,6 +1170,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -1226,7 +1228,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -1243,7 +1245,7 @@ interactions:
resultSize: 4625
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -2018,7 +2020,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188/metadata
body: null
headers:
Accept:
@@ -2037,7 +2039,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -2100,6 +2102,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -2157,7 +2160,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4:bd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704
+ executionResult: 4d70b2f5dc82de826023bd64a95a9b6cece1fc90:727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -2174,7 +2177,7 @@ interactions:
resultSize: 4625
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4c9a39e6a0b20cc55fb0811a27939b92fc5d49a4%3Abd02ea7028b8356e32e979c26f5ab0852511226ff47e4c9b3a6ba79c9678f704?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d70b2f5dc82de826023bd64a95a9b6cece1fc90%3A727263b01ce1783fb5c523537135e11e675307f8552f0094ccebb2e30d794188?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml
index 22811ae14..1f83502c9 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - e704063a-db78-457f-bf02-b429d1296211
+ - d25f2bd6-cf60-49a8-9a28-26d1d6743695
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 2e340d3c3f612121205587a70cd5b368c9da1b52:d71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2
+ executionResult: 5da80bb6e45a200962ed00c7429eedd42c71a629:652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2169'
+ - '2201'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 2e340d3c3f612121205587a70cd5b368c9da1b52:d71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2
+ executionResult: 5da80bb6e45a200962ed00c7429eedd42c71a629:652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 11457
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1479,7 +1480,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2?offset=100%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95?offset=100%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -2448,7 +2449,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95/metadata
body: null
headers:
Accept:
@@ -2467,7 +2468,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2169'
+ - '2201'
Content-Type:
- application/json
DATE: *id001
@@ -2530,6 +2531,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -2587,7 +2589,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 2e340d3c3f612121205587a70cd5b368c9da1b52:d71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2
+ executionResult: 5da80bb6e45a200962ed00c7429eedd42c71a629:652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -2604,7 +2606,7 @@ interactions:
resultSize: 11457
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -3771,7 +3773,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2e340d3c3f612121205587a70cd5b368c9da1b52%3Ad71469286113b61debc87a7f151c7f2288aa435ce96dc823a9e7d9860caef3e2?offset=100%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5da80bb6e45a200962ed00c7429eedd42c71a629%3A652e0bb712e711141d6155d8ca23758c2b2ef5752a25f730de27f2b52a8e1d95?offset=100%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml
index 5678daa49..a6de97d20 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml
@@ -90,7 +90,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 0fe8f424-acc3-4f1e-a059-a14f048dfe14
+ - 94edfd58-a6d9-4b7e-b615-37d7d4e73e9b
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -153,10 +153,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 8bf425e693cbe26093f574b0c9d3ac21204ba2d0:585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76
+ executionResult: f787654fc28ef09f1bdd10028d8f9341b10fd4bf:daa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8bf425e693cbe26093f574b0c9d3ac21204ba2d0%3A585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f787654fc28ef09f1bdd10028d8f9341b10fd4bf%3Adaa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae/metadata
body: null
headers:
Accept:
@@ -175,7 +175,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -238,6 +238,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -295,7 +296,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 8bf425e693cbe26093f574b0c9d3ac21204ba2d0:585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76
+ executionResult: f787654fc28ef09f1bdd10028d8f9341b10fd4bf:daa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -312,7 +313,7 @@ interactions:
resultSize: 3152
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8bf425e693cbe26093f574b0c9d3ac21204ba2d0%3A585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f787654fc28ef09f1bdd10028d8f9341b10fd4bf%3Adaa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
@@ -1539,7 +1540,7 @@ interactions:
dataSourceMessages: []
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8bf425e693cbe26093f574b0c9d3ac21204ba2d0%3A585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76/metadata
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f787654fc28ef09f1bdd10028d8f9341b10fd4bf%3Adaa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae/metadata
body: null
headers:
Accept:
@@ -1558,7 +1559,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2168'
+ - '2200'
Content-Type:
- application/json
DATE: *id001
@@ -1621,6 +1622,7 @@ interactions:
computeRatio: false
filters: []
auxMeasures: []
+ measureDefinitionOverrides: []
executionResponse:
dimensions:
- headers:
@@ -1678,7 +1680,7 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 8bf425e693cbe26093f574b0c9d3ac21204ba2d0:585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76
+ executionResult: f787654fc28ef09f1bdd10028d8f9341b10fd4bf:daa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae
resultSpec:
dimensions:
- localIdentifier: dim_0
@@ -1695,7 +1697,7 @@ interactions:
resultSize: 3152
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8bf425e693cbe26093f574b0c9d3ac21204ba2d0%3A585ba19c1703850e8dada432ec32cb9de92a872e115c7a5e8a6810736f4f2f76?offset=0%2C0&limit=100%2C100
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f787654fc28ef09f1bdd10028d8f9341b10fd4bf%3Adaa410610a6a9bcfc4b973edf393a1c372627046a05ea69e199891fda0b946ae?offset=0%2C0&limit=100%2C100
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml
index e45ecc7d7..2abf8abd1 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml
@@ -84,7 +84,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - c9afac43-ce35-4b43-a1b2-f33a9b398268
+ - a73d8ffc-b520-434f-b66d-9127666295d3
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -132,7 +132,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 46d63a03dff57ace4aa9b00e0977abd61d7844b3:e57f67c638612ad24882d14baa9b2200a678deb6eb614c6460cf976122eac855
+ executionResult: 84b31dfcb81d4c41ee2e69867ad64a9293aa4549:37bf78a80daff74a94963d9f1cc1753b94f332e7ba30b5e8e48a2f887ad811b5
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -154,7 +154,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -184,6 +184,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -209,6 +210,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -253,6 +255,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -266,6 +269,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -292,7 +296,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/46d63a03dff57ace4aa9b00e0977abd61d7844b3%3Ae57f67c638612ad24882d14baa9b2200a678deb6eb614c6460cf976122eac855?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/84b31dfcb81d4c41ee2e69867ad64a9293aa4549%3A37bf78a80daff74a94963d9f1cc1753b94f332e7ba30b5e8e48a2f887ad811b5?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml
index 6b86f75d1..2f2e74295 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml
@@ -84,7 +84,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 837af067-2a5c-4f66-a26e-86e95c6d0a9b
+ - 6c88e57a-b463-472f-a00f-e31327a582fc
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -132,7 +132,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 46d63a03dff57ace4aa9b00e0977abd61d7844b3:e57f67c638612ad24882d14baa9b2200a678deb6eb614c6460cf976122eac855
+ executionResult: 84b31dfcb81d4c41ee2e69867ad64a9293aa4549:37bf78a80daff74a94963d9f1cc1753b94f332e7ba30b5e8e48a2f887ad811b5
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -154,7 +154,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -184,6 +184,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -209,6 +210,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -253,6 +255,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -266,6 +269,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -292,7 +296,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/46d63a03dff57ace4aa9b00e0977abd61d7844b3%3Ae57f67c638612ad24882d14baa9b2200a678deb6eb614c6460cf976122eac855?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/84b31dfcb81d4c41ee2e69867ad64a9293aa4549%3A37bf78a80daff74a94963d9f1cc1753b94f332e7ba30b5e8e48a2f887ad811b5?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml
index 2b0850000..8fdc20960 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '5006'
+ - '5096'
Content-Type:
- application/json
DATE: &id001
@@ -141,7 +141,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_and_quantity_by_product_and_category
meta:
origin:
@@ -181,6 +181,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -192,7 +193,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -204,6 +205,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -217,6 +219,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -235,6 +238,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -245,7 +249,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -259,6 +263,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -366,7 +371,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 6fd8845c-9bbd-4a6c-b523-fe2f27b11727
+ - 471f16c5-44ea-439f-b956-325908244960
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -418,7 +423,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0ad1055bd1f3d7323af83f113eaf29bd5ff331d0:eb55cff569fc208cdce9c9f31e0ebbff4f0d69076eb16abe84edd538cb561719
+ executionResult: e4fa78ce51c011ade31101b9f168e0d6401d09a5:aaf07d03576c1613b9fb1030a735fac4e76974f03e4c6c1abd964dd63c031e1a
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28products.category%2Cproduct_name%29&page=0&size=500
@@ -440,7 +445,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2400'
+ - '2472'
Content-Type:
- application/json
DATE: *id001
@@ -470,6 +475,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -495,6 +501,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -522,6 +529,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -535,6 +543,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -561,7 +570,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27products.category%27%2C%27product_name%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0ad1055bd1f3d7323af83f113eaf29bd5ff331d0%3Aeb55cff569fc208cdce9c9f31e0ebbff4f0d69076eb16abe84edd538cb561719?offset=0%2C0&limit=4%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e4fa78ce51c011ade31101b9f168e0d6401d09a5%3Aaaf07d03576c1613b9fb1030a735fac4e76974f03e4c6c1abd964dd63c031e1a?offset=0%2C0&limit=4%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml
index b4a8c970c..44ea39be2 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '3321'
+ - '3322'
Content-Type:
- application/json
DATE: &id001
@@ -90,9 +90,9 @@ interactions:
identifier:
id: date
type: dataset
- from: -11
+ from: -12
granularity: GDC.time.month
- to: 0
+ to: -1
properties:
controls:
colorMapping:
@@ -118,7 +118,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: customers_trend
meta:
origin:
@@ -165,7 +165,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -175,7 +175,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -210,9 +210,9 @@ interactions:
identifier:
id: date
type: dataset
- from: -11
+ from: -12
granularity: MONTH
- to: 0
+ to: -1
measures:
- definition:
measure:
@@ -276,7 +276,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 22d43a32-87f0-497c-95a0-7f0ac3b1156c
+ - 024dabbb-dd5b-4362-a818-888c575c0dec
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -315,7 +315,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 6ab9134bb21d6597e5ff9e99c9f8f98e4a8f89dd:41965d04a1acdac7a484362b0639a397089de32eb5973e06ebecb765da08dead
+ executionResult: 9d4fdf9fa59ba79605909bac62ea3b584bae4306:0a212a77329fb901b3fe2f044edc35f89d1b6cee34aa6eda57e05a850238e7b9
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28date.month%29&page=0&size=500
@@ -410,7 +410,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27date.month%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6ab9134bb21d6597e5ff9e99c9f8f98e4a8f89dd%3A41965d04a1acdac7a484362b0639a397089de32eb5973e06ebecb765da08dead?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9d4fdf9fa59ba79605909bac62ea3b584bae4306%3A0a212a77329fb901b3fe2f044edc35f89d1b6cee34aa6eda57e05a850238e7b9?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
@@ -429,7 +429,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1403'
+ - '1413'
Content-Type:
- application/json
DATE: *id001
@@ -451,7 +451,8 @@ interactions:
body:
string:
data:
- - - 62
+ - - 57
+ - 62
- 60
- 51
- 60
@@ -462,8 +463,8 @@ interactions:
- 56
- 90
- 60
- - 64
- - - 93.78964285714285
+ - - 197.37653846153847
+ - 93.78964285714285
- 115.96454545454546
- 241.92872340425532
- 270.91346938775513
@@ -474,7 +475,6 @@ interactions:
- 160.19469387755103
- 178.3658536585366
- 185.4194
- - 146.6475
dimensionHeaders:
- headerGroups:
- headers:
@@ -484,6 +484,9 @@ interactions:
measureIndex: 1
- headerGroups:
- headers:
+ - attributeHeader:
+ labelValue: 2025-02
+ primaryLabelValue: 2025-02
- attributeHeader:
labelValue: 2025-03
primaryLabelValue: 2025-03
@@ -517,9 +520,6 @@ interactions:
- attributeHeader:
labelValue: 2026-01
primaryLabelValue: 2026-01
- - attributeHeader:
- labelValue: 2026-02
- primaryLabelValue: 2026-02
grandTotals: []
paging:
count:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml
index 6f38587f0..c8a66ca92 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '5006'
+ - '5096'
Content-Type:
- application/json
DATE: &id001
@@ -141,7 +141,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue_and_quantity_by_product_and_category
meta:
origin:
@@ -181,6 +181,7 @@ interactions:
- Order lines
sourceColumn: quantity
sourceColumnDataType: NUMERIC
+ isNullable: true
id: quantity
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity
@@ -192,7 +193,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -204,6 +205,7 @@ interactions:
- Order lines
sourceColumn: price
sourceColumnDataType: NUMERIC
+ isNullable: true
id: price
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price
@@ -217,6 +219,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -235,6 +238,7 @@ interactions:
sourceColumn: customer_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: customer_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name
@@ -245,7 +249,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 14:48
+ createdAt: 2025-08-07 11:45
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -259,6 +263,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -366,7 +371,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - d5e9bac5-cf07-471a-b806-dceaf76ef3d9
+ - 5bcfa15e-0eb1-43c4-9ad1-e1577ad937a4
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -418,7 +423,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0ad1055bd1f3d7323af83f113eaf29bd5ff331d0:eb55cff569fc208cdce9c9f31e0ebbff4f0d69076eb16abe84edd538cb561719
+ executionResult: e4fa78ce51c011ade31101b9f168e0d6401d09a5:aaf07d03576c1613b9fb1030a735fac4e76974f03e4c6c1abd964dd63c031e1a
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28products.category%2Cproduct_name%29&page=0&size=500
@@ -440,7 +445,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2400'
+ - '2472'
Content-Type:
- application/json
DATE: *id001
@@ -470,6 +475,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -495,6 +501,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -522,6 +529,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -535,6 +543,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -561,7 +570,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27products.category%27%2C%27product_name%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0ad1055bd1f3d7323af83f113eaf29bd5ff331d0%3Aeb55cff569fc208cdce9c9f31e0ebbff4f0d69076eb16abe84edd538cb561719?offset=0%2C0&limit=4%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e4fa78ce51c011ade31101b9f168e0d6401d09a5%3Aaaf07d03576c1613b9fb1030a735fac4e76974f03e4c6c1abd964dd63c031e1a?offset=0%2C0&limit=4%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml
index afb103811..1e4601074 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml
@@ -77,7 +77,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - d5998aba-2389-4c25-b2db-169b0b097c33
+ - fdf00d9e-0433-436d-9f52-23a062bcae8c
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -112,7 +112,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 767e88d98ee8778c460fb76b838ad9817a90ad95:b779644cfb78b2fdfa7c4ff2c2bba6a698baf236e73ebbef8c38747f5bb076a6
+ executionResult: 9f9773fef7c75cf03baf8f0f54fc176df011cdab:6292e6de07a100badd1c83e8415ca23954eee9b57e921df8b5d30874c5d671ab
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28product_name%29&page=0&size=500
@@ -134,7 +134,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1517'
+ - '1553'
Content-Type:
- application/json
DATE: *id001
@@ -164,6 +164,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -191,6 +192,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -217,7 +219,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27product_name%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/767e88d98ee8778c460fb76b838ad9817a90ad95%3Ab779644cfb78b2fdfa7c4ff2c2bba6a698baf236e73ebbef8c38747f5bb076a6?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9f9773fef7c75cf03baf8f0f54fc176df011cdab%3A6292e6de07a100badd1c83e8415ca23954eee9b57e921df8b5d30874c5d671ab?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml
index 4ff720fbd..999611813 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml
@@ -77,7 +77,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 290d1ceb-3c34-4324-bba1-988a6c991b1a
+ - ebef8814-1e5e-43cb-95e1-4c59024a9ac3
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -112,7 +112,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 767e88d98ee8778c460fb76b838ad9817a90ad95:b779644cfb78b2fdfa7c4ff2c2bba6a698baf236e73ebbef8c38747f5bb076a6
+ executionResult: 9f9773fef7c75cf03baf8f0f54fc176df011cdab:6292e6de07a100badd1c83e8415ca23954eee9b57e921df8b5d30874c5d671ab
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28product_name%29&page=0&size=500
@@ -134,7 +134,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1517'
+ - '1553'
Content-Type:
- application/json
DATE: *id001
@@ -164,6 +164,7 @@ interactions:
areRelationsValid: true
sourceColumn: product_name
sourceColumnDataType: STRING
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name
@@ -191,6 +192,7 @@ interactions:
sourceColumn: product_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: product_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name
@@ -217,7 +219,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27product_name%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/767e88d98ee8778c460fb76b838ad9817a90ad95%3Ab779644cfb78b2fdfa7c4ff2c2bba6a698baf236e73ebbef8c38747f5bb076a6?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9f9773fef7c75cf03baf8f0f54fc176df011cdab%3A6292e6de07a100badd1c83e8415ca23954eee9b57e921df8b5d30874c5d671ab?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml
index 21fd6850f..10c94dd7d 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml
@@ -68,7 +68,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 7eae99b8-ad0e-4c75-aced-720c0f699ad5
+ - 374aae05-a2b2-407d-ae48-89f5c621eda7
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -83,10 +83,10 @@ interactions:
name: Revenue
localIdentifier: dim_0
links:
- executionResult: 461e84559cf5c61c8823ce5a91da2f534ab49a46:81af740dd55bf16cdc29901f1c7d987446830f79609b4b2930c1e503dafd7e56
+ executionResult: cf77f69345043b940d6645120620d3a4fa345b7b:9fe6390637bcf60e0aa0ccd421baa63e26917bc128de62364b13d5e5990c4f54
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/461e84559cf5c61c8823ce5a91da2f534ab49a46%3A81af740dd55bf16cdc29901f1c7d987446830f79609b4b2930c1e503dafd7e56?offset=0&limit=1
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cf77f69345043b940d6645120620d3a4fa345b7b%3A9fe6390637bcf60e0aa0ccd421baa63e26917bc128de62364b13d5e5990c4f54?offset=0&limit=1
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml
index 9d6b1b1e8..d29992378 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml
@@ -102,7 +102,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - ff08579c-0672-4a62-a806-a87cf1c6304d
+ - 6ad792bf-85de-46ab-bc57-ed9f18fc1d65
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -167,7 +167,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 7920081470b5d3f8ccb794e67b294a53c63823eb:d7fc6114c2df754c7eed141624bbbda75daeb7f8f21e4bc4d6d5dc90912bf2f9
+ executionResult: 2c02040f096d0e4af41a99c58598b77fc4fc6ea5:477d985e1a894544e188dc092c4916bc2df89035678ca0bdbfac7fc737752401
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28state%2Cregion%2Cproducts.category%29&page=0&size=500
@@ -189,7 +189,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '3885'
+ - '4011'
Content-Type:
- application/json
DATE: *id001
@@ -219,6 +219,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -244,6 +245,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -269,6 +271,7 @@ interactions:
areRelationsValid: true
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -302,6 +305,7 @@ interactions:
sourceColumn: geo__state__location
sourceColumnDataType: STRING
valueType: GEO
+ isNullable: true
id: geo__state__location
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location
@@ -332,6 +336,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -345,6 +350,7 @@ interactions:
sourceColumn: state
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state
@@ -358,6 +364,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -384,7 +391,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27state%27%2C%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7920081470b5d3f8ccb794e67b294a53c63823eb%3Ad7fc6114c2df754c7eed141624bbbda75daeb7f8f21e4bc4d6d5dc90912bf2f9?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2c02040f096d0e4af41a99c58598b77fc4fc6ea5%3A477d985e1a894544e188dc092c4916bc2df89035678ca0bdbfac7fc737752401?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml
index 5bb0cb096..eeb6a58ec 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml
@@ -91,7 +91,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - fe51fed9-6caf-4fd4-885f-1d6bcde09bac
+ - 59666652-1ff9-451b-a86f-57b84bc0a3da
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -141,7 +141,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 9de58f23845a569bcde651abed255e53c71af106:45e25cba81a26b1d2d6d5d8eda947e302dc2bf52cbf2c2b769169dcb1f34bca4
+ executionResult: 1f8a3ac9a9075fdea2175a4ccfd1f7b50427fea5:51193f1bd2e11e748057d292c2859e46983abfb45eb910276a43e08c1438263e
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -163,7 +163,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -193,6 +193,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -218,6 +219,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -262,6 +264,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -275,6 +278,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -301,7 +305,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9de58f23845a569bcde651abed255e53c71af106%3A45e25cba81a26b1d2d6d5d8eda947e302dc2bf52cbf2c2b769169dcb1f34bca4?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1f8a3ac9a9075fdea2175a4ccfd1f7b50427fea5%3A51193f1bd2e11e748057d292c2859e46983abfb45eb910276a43e08c1438263e?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml
index ec135e684..5c20f2691 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml
@@ -83,7 +83,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 50a783f4-a0cc-4113-9f89-fbd4a31889de
+ - 6463f639-2477-42f6-b8b1-4bf955f2033b
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -133,7 +133,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 6e591bd4f1abc05ac4e61c6de407817c2314e7b6:e00f4099268a0b36fa4d0012ea68b6c3a6647d0b7b466d29a826ee8fd612eb1a
+ executionResult: 05f8944478156fffc0e091c069d9288c5ac25a28:b16707cce31b7dc93a39fb22cb40c9f53d4df6088f4cce2ac95b3789a501db92
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -155,7 +155,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -185,6 +185,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -210,6 +211,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -254,6 +256,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -267,6 +270,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -293,7 +297,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6e591bd4f1abc05ac4e61c6de407817c2314e7b6%3Ae00f4099268a0b36fa4d0012ea68b6c3a6647d0b7b466d29a826ee8fd612eb1a?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/05f8944478156fffc0e091c069d9288c5ac25a28%3Ab16707cce31b7dc93a39fb22cb40c9f53d4df6088f4cce2ac95b3789a501db92?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml
index c196515c8..4386ab518 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml
@@ -89,7 +89,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 531ce14f-7c5a-4d75-9bba-d93f9a956450
+ - 9fc42477-8765-4a63-a0cd-a4d42e6d49c9
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -154,7 +154,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 2a898ab0fd18fcff531722282467600bf66d57c2:3396c2d60451a33b21085cbfe41302992a76e378eda17a7a1bf82c1a5a813110
+ executionResult: 7a6b16f3e2806f27ebd8611bcb3a061a94a4dfb1:2484456eac3644131f3d7d434e2a8b831634fe7b96c713ed0de2d6bdb0aa3862
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28state%2Cregion%2Cproducts.category%29&page=0&size=500
@@ -176,7 +176,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '3885'
+ - '4011'
Content-Type:
- application/json
DATE: *id001
@@ -206,6 +206,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -231,6 +232,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -256,6 +258,7 @@ interactions:
areRelationsValid: true
sourceColumn: state
sourceColumnDataType: STRING
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state
@@ -289,6 +292,7 @@ interactions:
sourceColumn: geo__state__location
sourceColumnDataType: STRING
valueType: GEO
+ isNullable: true
id: geo__state__location
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location
@@ -319,6 +323,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -332,6 +337,7 @@ interactions:
sourceColumn: state
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: state
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state
@@ -345,6 +351,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -371,7 +378,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27state%27%2C%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2a898ab0fd18fcff531722282467600bf66d57c2%3A3396c2d60451a33b21085cbfe41302992a76e378eda17a7a1bf82c1a5a813110?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7a6b16f3e2806f27ebd8611bcb3a061a94a4dfb1%3A2484456eac3644131f3d7d434e2a8b831634fe7b96c713ed0de2d6bdb0aa3862?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml
index 24bb320bc..300d6b162 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml
@@ -85,7 +85,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 16f15c07-48f9-48bc-9a85-1e23af1e774e
+ - 9ae3d46c-ce4f-4647-b31c-47279d11a961
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -120,7 +120,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0aac874dbc43e290f41c6c249c71304ed77c0b64:49ba3843ff515b47cdc24b2204392baf6b68b393e4c57cccc65ecf94ad69c214
+ executionResult: 509a554f4b8d4a03e7bf47f091040b9e239b0f11:d1ddf33a20f776455c9bd4b5ce541a8252dd11fb4dd077dc936aaf2d243d88b9
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -142,7 +142,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -172,6 +172,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -216,6 +217,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -225,7 +227,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0aac874dbc43e290f41c6c249c71304ed77c0b64%3A49ba3843ff515b47cdc24b2204392baf6b68b393e4c57cccc65ecf94ad69c214?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/509a554f4b8d4a03e7bf47f091040b9e239b0f11%3Ad1ddf33a20f776455c9bd4b5ce541a8252dd11fb4dd077dc936aaf2d243d88b9?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml
index 0fc05465f..ebd92daf4 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml
@@ -69,7 +69,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 02217057-dd38-4618-9b4c-8778e96f06df
+ - ef16ff95-f2ca-44b4-a742-788fe19a2920
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -87,10 +87,10 @@ interactions:
name: '# of Orders'
localIdentifier: dim_0
links:
- executionResult: 3a881c56cb475a095b8608d995463e16c158e839:92f79992884dc09786b1bb91134854b287080350cda65121ea36c5aea60049ee
+ executionResult: ac3fa8d126a0ff1220c62bff1393bdfc07553ff3:5c7758f55fe50e9e23e93815333d5a62e5a977c8cd4960e9ab4dc46826cfc75e
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3a881c56cb475a095b8608d995463e16c158e839%3A92f79992884dc09786b1bb91134854b287080350cda65121ea36c5aea60049ee?offset=0&limit=2
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ac3fa8d126a0ff1220c62bff1393bdfc07553ff3%3A5c7758f55fe50e9e23e93815333d5a62e5a977c8cd4960e9ab4dc46826cfc75e?offset=0&limit=2
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml
index 0ae10c962..9bb976442 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml
@@ -77,7 +77,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - daa69086-7fda-40ca-91d5-a40cd5fb7be9
+ - 00c326ed-7c57-4f61-917a-429fd247a08d
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -112,7 +112,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 140160e08502bc39940aa41456fa03720180100d:a00ca6ea33f78b03ad685a578e654600208c7ae4381ef5540109f92e308fecbb
+ executionResult: 4bddf4939359ca3d7c332ceae6d33c3f633e33b2:075bc4be3642052156348ec4c30522c7780ceff82625bf7ff5e1a31e42818b3d
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -134,7 +134,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -164,6 +164,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -208,6 +209,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -217,7 +219,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/140160e08502bc39940aa41456fa03720180100d%3Aa00ca6ea33f78b03ad685a578e654600208c7ae4381ef5540109f92e308fecbb?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4bddf4939359ca3d7c332ceae6d33c3f633e33b2%3A075bc4be3642052156348ec4c30522c7780ceff82625bf7ff5e1a31e42818b3d?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml
index d9ce27775..2ad712eb2 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml
@@ -122,7 +122,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 8198214c-0d19-450a-bfe2-1909a51fa4ab
+ - 7442dd5c-dad3-4546-b76b-d51b88e06832
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -168,7 +168,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: d21b09a635704d884d352a2777e7315cee5066e9:366c50a0eaa2d792de024edcac4d4a8d0f1c92de3b3726ec7cf00a61ef867a7f
+ executionResult: 16a6b4b766c98c408ffca790f2cb0c2401c86564:26cdda60eccd31ea530ae9c822cce7ab940d1f12e998a4a143166f676758114d
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28products.category%2Cregion%29&page=0&size=500
@@ -190,7 +190,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -220,6 +220,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -245,6 +246,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -289,6 +291,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -302,6 +305,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -328,7 +332,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27products.category%27%2C%27region%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d21b09a635704d884d352a2777e7315cee5066e9%3A366c50a0eaa2d792de024edcac4d4a8d0f1c92de3b3726ec7cf00a61ef867a7f?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16a6b4b766c98c408ffca790f2cb0c2401c86564%3A26cdda60eccd31ea530ae9c822cce7ab940d1f12e998a4a143166f676758114d?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml
index be4421e8a..2f73298e7 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml
@@ -75,7 +75,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - c8a5e1d1-6f71-4305-8f74-9dabd24b085b
+ - 33317aa8-8fd3-4754-ba33-6a52b2d6c3b9
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -120,7 +120,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0d3ff0d5531a4cd0aff6e1b6927044567eef4ec3:e47757b868dfedbedee0651d92f5c81a65e0db36ee4a329ac2c4bd1596785975
+ executionResult: 61f4421c6062670bcb644d23be49da3f27796cc8:8327ebaf42a3816bf2d74be9359c3c2c39325c6b16a932e2620ae8ac351325c2
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -142,7 +142,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -172,6 +172,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -197,6 +198,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -241,6 +243,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -254,6 +257,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -280,7 +284,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0d3ff0d5531a4cd0aff6e1b6927044567eef4ec3%3Ae47757b868dfedbedee0651d92f5c81a65e0db36ee4a329ac2c4bd1596785975?offset=0%2C0&limit=1%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/61f4421c6062670bcb644d23be49da3f27796cc8%3A8327ebaf42a3816bf2d74be9359c3c2c39325c6b16a932e2620ae8ac351325c2?offset=0%2C0&limit=1%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml
index 42834522f..431e905a5 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml
@@ -79,7 +79,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - a2b37ecd-c340-4828-a23e-ace7382f3110
+ - ea0479bb-1fd0-41a5-92f0-10bd781614a3
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -110,7 +110,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0d6d01a24ec201f729f87fdfdf70ad3f54dd6da7:923c20de2f439e10b78770315eccdb05b6ef0633b38b28854061e2eeb0e1f917
+ executionResult: 91cbface659a3577c2c5a2449c46f4332dac93f1:f108ffba5514baff4c6974c00ce8ce6e3d91ff18f1fd7fc3d9251edc1cb42524
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -132,7 +132,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -162,6 +162,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -206,6 +207,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -215,7 +217,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0d6d01a24ec201f729f87fdfdf70ad3f54dd6da7%3A923c20de2f439e10b78770315eccdb05b6ef0633b38b28854061e2eeb0e1f917?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/91cbface659a3577c2c5a2449c46f4332dac93f1%3Af108ffba5514baff4c6974c00ce8ce6e3d91ff18f1fd7fc3d9251edc1cb42524?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml
index 17a39ca84..3e9c03f80 100644
--- a/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml
+++ b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml
@@ -79,7 +79,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 9a7a1186-c9a6-4b7a-ab8d-7389a45ce268
+ - 2f8324a4-bc69-4c4f-b8be-d2b132984481
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -110,7 +110,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0d6d01a24ec201f729f87fdfdf70ad3f54dd6da7:923c20de2f439e10b78770315eccdb05b6ef0633b38b28854061e2eeb0e1f917
+ executionResult: 91cbface659a3577c2c5a2449c46f4332dac93f1:f108ffba5514baff4c6974c00ce8ce6e3d91ff18f1fd7fc3d9251edc1cb42524
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -132,7 +132,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -162,6 +162,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -206,6 +207,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -215,7 +217,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0d6d01a24ec201f729f87fdfdf70ad3f54dd6da7%3A923c20de2f439e10b78770315eccdb05b6ef0633b38b28854061e2eeb0e1f917?offset=0%2C0&limit=2%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/91cbface659a3577c2c5a2449c46f4332dac93f1%3Af108ffba5514baff4c6974c00ce8ce6e3d91ff18f1fd7fc3d9251edc1cb42524?offset=0%2C0&limit=2%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml
index be67c57d5..9f3e2ecfa 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml
@@ -83,7 +83,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - d8f151cc-008b-4518-8574-fdd0c2e48101
+ - 2d2c438a-6407-43ed-9ace-06b3003c429f
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -128,7 +128,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 2774b8f5e94346c48d2199bf39643fc00a675e9f:0187f3b9127f9329d31e9f05ac3bb5f910ae6434cce392bb331a0ba624ade7e2
+ executionResult: 0f91f5ef07da2bd92ecd487a78304eb1463d2e7f:ee1f8db666140aa48911224ecc5b5c513a18e854b1ad0948f8021566275902c9
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -150,7 +150,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -180,6 +180,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -205,6 +206,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -249,6 +251,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -262,6 +265,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -288,7 +292,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2774b8f5e94346c48d2199bf39643fc00a675e9f%3A0187f3b9127f9329d31e9f05ac3bb5f910ae6434cce392bb331a0ba624ade7e2?offset=0%2C0&limit=1%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0f91f5ef07da2bd92ecd487a78304eb1463d2e7f%3Aee1f8db666140aa48911224ecc5b5c513a18e854b1ad0948f8021566275902c9?offset=0%2C0&limit=1%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml
index 18e4a3d16..9de896641 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml
@@ -75,7 +75,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - dced2a10-2f1c-4426-80c5-9a893f7e980e
+ - a0c75617-88f6-457b-9b66-1aed2e0e9aaf
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -120,7 +120,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 0d3ff0d5531a4cd0aff6e1b6927044567eef4ec3:e47757b868dfedbedee0651d92f5c81a65e0db36ee4a329ac2c4bd1596785975
+ executionResult: 61f4421c6062670bcb644d23be49da3f27796cc8:8327ebaf42a3816bf2d74be9359c3c2c39325c6b16a932e2620ae8ac351325c2
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%2Cproducts.category%29&page=0&size=500
@@ -142,7 +142,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -172,6 +172,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -197,6 +198,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -241,6 +243,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -254,6 +257,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -280,7 +284,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27region%27%2C%27products.category%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0d3ff0d5531a4cd0aff6e1b6927044567eef4ec3%3Ae47757b868dfedbedee0651d92f5c81a65e0db36ee4a329ac2c4bd1596785975?offset=0%2C0&limit=1%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/61f4421c6062670bcb644d23be49da3f27796cc8%3A8327ebaf42a3816bf2d74be9359c3c2c39325c6b16a932e2620ae8ac351325c2?offset=0%2C0&limit=1%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml
index e54515a10..38cd6ef86 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml
@@ -61,7 +61,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - deba1e4d-754a-48ae-9708-cdc7f6bf07ea
+ - 319bc2be-f73c-4564-bcea-230046ae733e
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -74,10 +74,10 @@ interactions:
- localIdentifier: 27c4b665b9d047b1a66a149714f1c596
localIdentifier: dim_0
links:
- executionResult: 8838e09a331f9fdd1264929126ffeb3c446be21c:ff3b0248eebf2ed56a4ac81c9df75ab0b4dacd0aae40cf8971732b879e5420dd
+ executionResult: a2034e393829055d312ff607a69301be9fd4d4d6:7f257f50c4e2cfa4de3856acc8f3e80bc44acab5d6448843b08980638d557b8a
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8838e09a331f9fdd1264929126ffeb3c446be21c%3Aff3b0248eebf2ed56a4ac81c9df75ab0b4dacd0aae40cf8971732b879e5420dd?offset=0&limit=1
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a2034e393829055d312ff607a69301be9fd4d4d6%3A7f257f50c4e2cfa4de3856acc8f3e80bc44acab5d6448843b08980638d557b8a?offset=0&limit=1
body: null
headers:
Accept:
@@ -201,7 +201,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - b9f7581c-b741-4df1-b8ce-be0470defd5c
+ - c02afbac-3063-45b0-b22f-77b275d793ac
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -214,10 +214,10 @@ interactions:
- localIdentifier: 27c4b665b9d047b1a66a149714f1c596
localIdentifier: dim_0
links:
- executionResult: f9443f120966e2b57c6f1fbd80bbafcb04fe7ba8:2889c71432ef5914d221781916b2bc08d7a3d39ab862dd22862c8613613eda98
+ executionResult: ca59a1fde6013f5b54b7a3c291e811d2a740f192:12edb01d02a503eb1b6346638ada3fd6477ad4770680a9ee719636e47170bdd9
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f9443f120966e2b57c6f1fbd80bbafcb04fe7ba8%3A2889c71432ef5914d221781916b2bc08d7a3d39ab862dd22862c8613613eda98?offset=0&limit=1
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ca59a1fde6013f5b54b7a3c291e811d2a740f192%3A12edb01d02a503eb1b6346638ada3fd6477ad4770680a9ee719636e47170bdd9?offset=0&limit=1
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml
index 8b0f34b0b..e0522fb35 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml
@@ -56,7 +56,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 03d38650-f544-4e7d-ab62-15fe1795d685
+ - 311ba5f1-708f-4f58-8d85-da55322ca690
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -82,7 +82,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_0
links:
- executionResult: 5ec97e8e7d5fccfc3ebde7a713d50e7098dd3b07:965df0e8c623aaa7671c0f147010094c82c6aed4d880189be3d7bdcee62d2130
+ executionResult: c03f39fe5f6c40dbc81a91af7c76a5dcaf1e498a:33b9380572c8766c601adfa7fa7c2c5247ac7a3334f666ebecc3156e3ad4687e
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -104,7 +104,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -134,6 +134,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -178,6 +179,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -187,7 +189,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ec97e8e7d5fccfc3ebde7a713d50e7098dd3b07%3A965df0e8c623aaa7671c0f147010094c82c6aed4d880189be3d7bdcee62d2130?offset=0&limit=1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c03f39fe5f6c40dbc81a91af7c76a5dcaf1e498a%3A33b9380572c8766c601adfa7fa7c2c5247ac7a3334f666ebecc3156e3ad4687e?offset=0&limit=1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml
index 8c32de8f4..efbf969ec 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml
@@ -62,7 +62,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 6cc2e0e8-6bfd-4371-9f96-409e2515ab48
+ - efb0bea0-3c7a-4c02-8e7b-eda54bcddbed
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -103,7 +103,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_0
links:
- executionResult: 7b5a46bba6f8c5e5ffd3028f02c8de34076341c4:d13be7d65d5bbe0aa2cdaae4d10698fa3c39a5905d98b5a6f9550546daeae7f4
+ executionResult: a3d9c6d4693d8831dab062c8985a19e2daba76cc:da4f7da0daeb19f4cbd6305a94815fe7df0154a0fff89133988a7276dedd9235
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28products.category%2Cregion%29&page=0&size=500
@@ -125,7 +125,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -155,6 +155,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -180,6 +181,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -224,6 +226,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -237,6 +240,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -263,7 +267,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27products.category%27%2C%27region%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7b5a46bba6f8c5e5ffd3028f02c8de34076341c4%3Ad13be7d65d5bbe0aa2cdaae4d10698fa3c39a5905d98b5a6f9550546daeae7f4?offset=0&limit=1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a3d9c6d4693d8831dab062c8985a19e2daba76cc%3Ada4f7da0daeb19f4cbd6305a94815fe7df0154a0fff89133988a7276dedd9235?offset=0&limit=1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml
index 9df3a0461..c478ef4a4 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml
@@ -61,7 +61,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 86100c89-50eb-4b04-8033-a6e4230a6eed
+ - da3dd688-dc0b-4289-bd25-0d1bf3c39da6
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -74,10 +74,10 @@ interactions:
- localIdentifier: 27c4b665b9d047b1a66a149714f1c596
localIdentifier: dim_0
links:
- executionResult: 8838e09a331f9fdd1264929126ffeb3c446be21c:ff3b0248eebf2ed56a4ac81c9df75ab0b4dacd0aae40cf8971732b879e5420dd
+ executionResult: a2034e393829055d312ff607a69301be9fd4d4d6:7f257f50c4e2cfa4de3856acc8f3e80bc44acab5d6448843b08980638d557b8a
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8838e09a331f9fdd1264929126ffeb3c446be21c%3Aff3b0248eebf2ed56a4ac81c9df75ab0b4dacd0aae40cf8971732b879e5420dd?offset=0&limit=1
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a2034e393829055d312ff607a69301be9fd4d4d6%3A7f257f50c4e2cfa4de3856acc8f3e80bc44acab5d6448843b08980638d557b8a?offset=0&limit=1
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml
index ef7f4dd73..2d51a425e 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml
@@ -69,7 +69,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 089db6a5-6a5e-46eb-a2a4-78bb1b60c1c4
+ - 80d6fe33-7703-4ea4-ae41-3ab2aedc7c87
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -99,7 +99,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 20b130308bdb18f9884d3f1fa215b5551f6ae5b5:1620e73e26e7149f85d25651b706b92272c96b1548f0c1a28c268bd1894092fd
+ executionResult: 53d8df5e0f57bb3778fa52e09a5dbf3fe0d20593:411320e1b32e088701f9b07028c6d9022db8b9c332e7446b7c7088eb2dfe1e50
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -121,7 +121,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -151,6 +151,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -195,6 +196,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -204,7 +206,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/20b130308bdb18f9884d3f1fa215b5551f6ae5b5%3A1620e73e26e7149f85d25651b706b92272c96b1548f0c1a28c268bd1894092fd?offset=0%2C0&limit=1%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/53d8df5e0f57bb3778fa52e09a5dbf3fe0d20593%3A411320e1b32e088701f9b07028c6d9022db8b9c332e7446b7c7088eb2dfe1e50?offset=0%2C0&limit=1%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml
index d8396454c..2185f6062 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml
@@ -78,7 +78,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - a0f2672a-b054-4a26-b6a8-553d84002695
+ - 600573ec-101c-459e-9ffc-c6b52620f0f8
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -119,7 +119,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_0
links:
- executionResult: 5ad3a0f3a5a00d480c351d35c01a59cf632601c4:de186fa2ed72379b433eb0eaad09a66614a50c93f2c1ece343cf8b38b9838d2b
+ executionResult: 9f9d3b1b81d7485abba2e04baf35d6881c5d49ef:993db9220c07fe0207339ea9f23514f593b996448937880b2f355ba3a21a022b
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28products.category%2Cregion%29&page=0&size=500
@@ -141,7 +141,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '2689'
+ - '2761'
Content-Type:
- application/json
DATE: *id001
@@ -171,6 +171,7 @@ interactions:
areRelationsValid: true
sourceColumn: category
sourceColumnDataType: STRING
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category
@@ -196,6 +197,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -240,6 +242,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -253,6 +256,7 @@ interactions:
sourceColumn: category
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: products.category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category
@@ -279,7 +283,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28%27products.category%27%2C%27region%27%29&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ad3a0f3a5a00d480c351d35c01a59cf632601c4%3Ade186fa2ed72379b433eb0eaad09a66614a50c93f2c1ece343cf8b38b9838d2b?offset=0&limit=1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9f9d3b1b81d7485abba2e04baf35d6881c5d49ef%3A993db9220c07fe0207339ea9f23514f593b996448937880b2f355ba3a21a022b?offset=0&limit=1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml
index b5a3681ab..082282d4e 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml
@@ -56,7 +56,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 56c75fc1-5f42-4afa-b880-888c2f2f6282
+ - d8474362-39e0-4433-babb-ac28a29bf37c
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -82,7 +82,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_0
links:
- executionResult: 5ec97e8e7d5fccfc3ebde7a713d50e7098dd3b07:965df0e8c623aaa7671c0f147010094c82c6aed4d880189be3d7bdcee62d2130
+ executionResult: c03f39fe5f6c40dbc81a91af7c76a5dcaf1e498a:33b9380572c8766c601adfa7fa7c2c5247ac7a3334f666ebecc3156e3ad4687e
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -104,7 +104,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -134,6 +134,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -178,6 +179,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -187,7 +189,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ec97e8e7d5fccfc3ebde7a713d50e7098dd3b07%3A965df0e8c623aaa7671c0f147010094c82c6aed4d880189be3d7bdcee62d2130?offset=0&limit=1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c03f39fe5f6c40dbc81a91af7c76a5dcaf1e498a%3A33b9380572c8766c601adfa7fa7c2c5247ac7a3334f666ebecc3156e3ad4687e?offset=0&limit=1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml
index 45aa674b1..6efa0fc9e 100644
--- a/packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml
+++ b/packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml
@@ -69,7 +69,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 8337e4b1-728a-4406-bf18-c72b37d93b7c
+ - 8b0916e4-0b85-4980-8302-de72b6c25561
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -99,7 +99,7 @@ interactions:
valueType: TEXT
localIdentifier: dim_1
links:
- executionResult: 20b130308bdb18f9884d3f1fa215b5551f6ae5b5:1620e73e26e7149f85d25651b706b92272c96b1548f0c1a28c268bd1894092fd
+ executionResult: 53d8df5e0f57bb3778fa52e09a5dbf3fe0d20593:411320e1b32e088701f9b07028c6d9022db8b9c332e7446b7c7088eb2dfe1e50
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3Din%3D%28region%29&page=0&size=500
@@ -121,7 +121,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -151,6 +151,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -195,6 +196,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
@@ -204,7 +206,7 @@ interactions:
next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&filter=labels.id%3D%3D%27region%27&page=1&size=500
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/20b130308bdb18f9884d3f1fa215b5551f6ae5b5%3A1620e73e26e7149f85d25651b706b92272c96b1548f0c1a28c268bd1894092fd?offset=0%2C0&limit=1%2C1000
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/53d8df5e0f57bb3778fa52e09a5dbf3fe0d20593%3A411320e1b32e088701f9b07028c6d9022db8b9c332e7446b7c7088eb2dfe1e50?offset=0%2C0&limit=1%2C1000
body: null
headers:
Accept:
diff --git a/packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml b/packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml
index 509276535..768a40002 100644
--- a/packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml
+++ b/packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1541'
+ - '1577'
Content-Type:
- application/json
DATE: &id001
@@ -53,6 +53,7 @@ interactions:
areRelationsValid: true
sourceColumn: campaign_name
sourceColumnDataType: STRING
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name
@@ -97,6 +98,7 @@ interactions:
sourceColumn: campaign_name
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: campaign_name
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name
@@ -125,7 +127,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '1450'
+ - '1486'
Content-Type:
- application/json
DATE: *id001
@@ -155,6 +157,7 @@ interactions:
areRelationsValid: true
sourceColumn: region
sourceColumnDataType: STRING
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region
@@ -199,6 +202,7 @@ interactions:
sourceColumn: region
sourceColumnDataType: STRING
valueType: TEXT
+ isNullable: true
id: region
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml
index 69b71b5f6..19402c99d 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: e35800af9d2265ef2eacf0ae12da6a3b
+ traceId: d90b939488c0002afa6049595a44c1b6
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -117,8 +117,8 @@ interactions:
- name: projectId
value: PROJECT_ID
authenticationType: TOKEN
- name: Test
type: BIGQUERY
+ name: Test
schema: demo
id: test
type: dataSource
@@ -179,8 +179,8 @@ interactions:
- name: projectId
value: PROJECT_ID
authenticationType: TOKEN
- name: Test
type: BIGQUERY
+ name: Test
schema: demo
id: test
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml
index ab204ab6d..1786f6cf0 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml
@@ -50,8 +50,8 @@ interactions:
username: postgres
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
type: dataSource
@@ -115,8 +115,8 @@ interactions:
cacheStrategy: NEVER
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
type: dataSource
@@ -171,8 +171,8 @@ interactions:
cacheStrategy: NEVER
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml
index e3009faad..75712194c 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '533'
+ - '491'
Content-Type:
- application/json
DATE: &id001
@@ -49,9 +49,8 @@ interactions:
url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
username: postgres
authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml
index 6e06511c6..cff15b46f 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml
@@ -102,7 +102,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -127,7 +127,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml
index 7eccda724..7391f96ad 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml
@@ -90,7 +90,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '81'
+ - '82'
Content-Type:
- application/json
DATE: *id001
@@ -113,7 +113,7 @@ interactions:
string:
queryDurationMillis:
createCacheTable: 0
- simpleSelect: 2
+ simpleSelect: 13
successful: true
- request:
method: PUT
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml
index 982c1b25a..92995645e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml
@@ -481,7 +481,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - cd5b7343-e815-4e46-be8f-eb08f408d0b7
+ - e34222b2-f408-4fab-83bd-f3e0c76320b4
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -496,7 +496,7 @@ interactions:
name: '# of Active Customers'
localIdentifier: dim_0
links:
- executionResult: 6c54156f3a9deb1a3a683abf8fe02d4cda602897:34112baf98a1f1725e7443a79e2f273928ea8c90f12268e9688f82889995b4a2
+ executionResult: 4c0ed2507a2ed0cdbd1c339e840fc87ebbbbb513:4f9dd40adf4f1c0c5cd39016efd25c02e2024ce88dc05c56aa69649d1086fe05
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/uploadNotification
@@ -593,7 +593,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 8ae956c5-c4ee-4723-ad40-ecc2abea15b4
+ - dca56864-8aa0-40a3-8369-bebd91f47375
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -608,4 +608,4 @@ interactions:
name: '# of Active Customers'
localIdentifier: dim_0
links:
- executionResult: 298094bbe4806e8a185985fad85fc888f68b8cb1:44680f8e697e42ce87d7350e0dc5372523cafee8b0c742e5a67872517346a08e
+ executionResult: ba73679655f46ccf86e63851e6d4489f8f1bcfdd:d99c949238d57882d207dd94dd1733c4a322843c450244a1e64e21a43ba6d013
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml
index a4f5aa2b5..bb71d0522 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml
@@ -183,7 +183,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -208,7 +208,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -284,7 +283,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -309,7 +308,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml
index f4dc98b7c..408091fe3 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml
@@ -166,5 +166,5 @@ interactions:
string:
queryDurationMillis:
createCacheTable: 0
- simpleSelect: 1
+ simpleSelect: 5
successful: true
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml
index 9047ac498..681939df5 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 446d0c9d64d03ef713538fb92a4e97b3
+ traceId: b63978defa31c68ca546c1ab343a448d
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -108,8 +108,8 @@ interactions:
url: jdbc:dremio:direct=dremio:31010
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Dremio
type: DREMIO
+ name: Dremio
schema: ''
id: dremio
type: dataSource
@@ -162,8 +162,8 @@ interactions:
url: jdbc:dremio:direct=dremio:31010
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Dremio
type: DREMIO
+ name: Dremio
schema: ''
id: dremio
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml
index d3cdbd1e7..562cf508b 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '533'
+ - '491'
Content-Type:
- application/json
DATE: &id001
@@ -49,9 +49,8 @@ interactions:
url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
username: postgres
authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
@@ -106,7 +105,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 6edc01acd4632fd5df20b6097e53e244
+ traceId: f86c79144f9a36d6f9348cbacfb8db41
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -166,8 +165,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -220,8 +219,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -274,8 +273,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -339,8 +338,8 @@ interactions:
username: demouser
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-patch-abc-id
- name: Test2
type: POSTGRESQL
+ name: Test2
schema: demo
id: test
type: dataSource
@@ -394,8 +393,8 @@ interactions:
username: demouser
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-patch-abc-id
- name: Test2
type: POSTGRESQL
+ name: Test2
schema: demo
id: test
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml
index d033cbb1f..4599d9f01 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: b69b109ae77d43f5d98f70ec41344fde
+ traceId: 324c02acf3782a683f008bd594d4b384
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -110,8 +110,8 @@ interactions:
username: demouser
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-abc-id
- name: Test2
type: REDSHIFT
+ name: Test2
schema: demo
id: test
type: dataSource
@@ -165,8 +165,8 @@ interactions:
username: demouser
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-abc-id
- name: Test2
type: REDSHIFT
+ name: Test2
schema: demo
id: test
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml
index 432ceb7c2..38cb0a061 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 20f1abee31c988a186548c866b04d907
+ traceId: 4cf75552de66e723c0f7c68c17035293
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -108,8 +108,8 @@ interactions:
url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: SNOWFLAKE
+ name: Test
schema: demo
id: test
type: dataSource
@@ -162,8 +162,8 @@ interactions:
url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: SNOWFLAKE
+ name: Test
schema: demo
id: test
type: dataSource
@@ -253,7 +253,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 3b93311a9c03c87025a227dd409303de
+ traceId: e09194bf37bb65497db2e23dca921296
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -314,8 +314,8 @@ interactions:
url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
username: demouser
authenticationType: KEY_PAIR
- name: Test
type: SNOWFLAKE
+ name: Test
schema: demo
id: test
type: dataSource
@@ -368,8 +368,8 @@ interactions:
url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&db=TIGER&useProxy=true&warehouse=TIGER
username: demouser
authenticationType: KEY_PAIR
- name: Test
type: SNOWFLAKE
+ name: Test
schema: demo
id: test
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml
index 1524f3ac6..bce766be1 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml
@@ -22,7 +22,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '533'
+ - '491'
Content-Type:
- application/json
DATE: &id001
@@ -49,9 +49,8 @@ interactions:
url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
username: postgres
authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
@@ -106,7 +105,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: f6096509921bc44f358b9d340fc53c83
+ traceId: d61e83e698c733efd8f092e18379bea6
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -166,8 +165,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -220,8 +219,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -274,8 +273,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=true&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test
type: POSTGRESQL
+ name: Test
schema: demo
id: test
type: dataSource
@@ -340,8 +339,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test2
type: POSTGRESQL
+ name: Test2
schema: demo
id: test
type: dataSource
@@ -368,7 +367,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '846'
+ - '804'
Content-Type:
- application/json
DATE: *id001
@@ -394,9 +393,8 @@ interactions:
url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
username: postgres
authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
@@ -406,8 +404,8 @@ interactions:
url: jdbc:postgresql://localhost:5432/demo?autosave=false&sslmode=prefer
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test2
type: POSTGRESQL
+ name: Test2
schema: demo
id: test
links:
@@ -475,7 +473,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '533'
+ - '491'
Content-Type:
- application/json
DATE: *id001
@@ -501,9 +499,8 @@ interactions:
url: jdbc:postgresql://postgres:5432/tiger?sslmode=prefer
username: postgres
authenticationType: USERNAME_PASSWORD
- alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml
index 291bfc708..077f62c11 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: d5f4266feea469875638ff47bc979a0b
+ traceId: 50ab98fc73169db1e16211918da0afee
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/dataSources
@@ -108,8 +108,8 @@ interactions:
url: jdbc:vertica://localhost:5433/demo?TLSmode=false
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test2
type: VERTICA
+ name: Test2
schema: demo
id: test
type: dataSource
@@ -162,8 +162,8 @@ interactions:
url: jdbc:vertica://localhost:5433/demo?TLSmode=false
username: demouser
authenticationType: USERNAME_PASSWORD
- name: Test2
type: VERTICA
+ name: Test2
schema: demo
id: test
type: dataSource
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml
index 35ea1761e..c9b46fe79 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 4f06186da942ae24741ff7c17490bc1b
+ traceId: 5765adf5c8a130e2ff955b2dbd5b081a
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/jwks
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml
index 537437ccc..6c1fe1cc4 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml
@@ -144,7 +144,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 58311a843d474a75851bbb9c29023751
+ traceId: f264d2d766bbd7ae60058e329dfa5090
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/cspDirectives?page=0&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml
index 0dfc695b6..f685dd91c 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: c6dab2dcd27324838dd704056a191a7e
+ traceId: 26e86c74c00dbadaa3c0d26e9b4cacaa
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/jwks
@@ -207,7 +207,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 7b347cf9b6ae8a3b7de3555181db526f
+ traceId: b4d1eb921615509c521767c5d3c6fe68
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/jwks?page=0&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml
index 4ff3bc272..a32451130 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml
@@ -145,7 +145,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: f7f8ef5d6322257623163d7951267938
+ traceId: c657d9dc47cadc6183b4ac712f500926
- request:
method: DELETE
uri: http://localhost:3000/api/v1/entities/llmEndpoints/endpoint1
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml
index c2533d3c5..801937047 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml
@@ -146,7 +146,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 10107387cc439bd0d1874921776551af
+ traceId: eade9edee77e4a2059b1fb6d59d2ace8
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/organizationSettings?page=0&size=500
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml
index 99f704491..09250ac3f 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 11a5c4063d8bcb74460f4bf6ca0fdc70
+ traceId: 5805bf88897de31c2cd224c06156e025
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/jwks
@@ -169,7 +169,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: e80a5bc704ef3d84ef60c7ea83cfd6b3
+ traceId: 3bc666007e4300f5486c292095721e20
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/jwks
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml
index 670d38fe5..834bac0a2 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml
@@ -63,7 +63,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -88,7 +88,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml
index c399838ee..b9fd9a7c4 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml
@@ -63,7 +63,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -88,7 +88,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml
index 6c851d824..9bec41d53 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml
@@ -48,7 +48,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 5163ba948077b90a7fb6feb605cf5ca6
+ traceId: cf3452051f6c79a977b915ae0b35d9b5
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/jwks
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml
index 66ff45f37..3e993735e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml
@@ -63,7 +63,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -88,7 +88,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -164,7 +163,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -189,7 +188,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -232,7 +230,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '447'
+ - '427'
Content-Type:
- application/json
DATE: *id001
@@ -257,7 +255,6 @@ interactions:
attributes:
name: test_organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -333,7 +330,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '447'
+ - '427'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -358,7 +355,6 @@ interactions:
attributes:
name: test_organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -434,7 +430,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '447'
+ - '427'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -459,7 +455,6 @@ interactions:
attributes:
name: test_organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -502,7 +497,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/json
DATE: *id001
@@ -527,7 +522,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
@@ -603,7 +597,7 @@ interactions:
Cache-Control:
- no-cache, no-store, max-age=0, must-revalidate
Content-Length:
- - '450'
+ - '430'
Content-Type:
- application/vnd.gooddata.api+json
DATE: *id001
@@ -628,7 +622,6 @@ interactions:
attributes:
name: Default Organization
hostname: localhost
- allowedOrigins: []
earlyAccess: enableAlerting
earlyAccessValues:
- enableAlerting
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml
index 39c2247da..15465e1e1 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml
@@ -45,8 +45,8 @@ interactions:
body:
string:
userGroups:
- - id: visitorsGroup
- name: visitors
- id: demoGroup
name: demo group
+ - id: visitorsGroup
+ name: visitors
users: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml
index 141c0d056..8a4220b35 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml
@@ -56,7 +56,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -70,7 +70,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -141,7 +141,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: f2895902beb6483dd80c687d4d30a7df
+ traceId: 30520e29be2971de33a559438b57fc3c
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/users
@@ -327,7 +327,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -341,7 +341,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -472,7 +472,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -486,7 +486,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml
index e15552374..203852666 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml
@@ -138,7 +138,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: c1580377051053ba828664b0e93b8523
+ traceId: 834a429917d4ee64a936a957b20b4a1e
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/userGroups
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml
index 5374e98b9..c5743111d 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml
@@ -51,7 +51,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -61,7 +61,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -117,7 +117,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -127,7 +127,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml
index 1498affd9..7b1f5abcd 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml
@@ -68,7 +68,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -78,7 +78,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -151,7 +151,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -161,7 +161,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml
index 193893832..bd98a7951 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml
@@ -46,7 +46,7 @@ interactions:
string:
data:
attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
relationships:
userGroups:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml
index 884b2884d..d8df3cccd 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml
@@ -56,7 +56,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -70,7 +70,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml
index 42128bdaf..f3e1b711c 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml
@@ -51,7 +51,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -61,7 +61,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -181,7 +181,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -195,7 +195,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -548,14 +548,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml
index ddea2ce20..cd353c345 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml
@@ -51,7 +51,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -61,7 +61,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -122,7 +122,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -136,7 +136,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -399,14 +399,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml
index e8bf8f3f8..be83e403c 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml
@@ -68,7 +68,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -78,7 +78,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -139,7 +139,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -153,7 +153,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -510,14 +510,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml
index 019358176..30471d558 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml
@@ -110,7 +110,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -120,7 +120,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -181,7 +181,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -195,7 +195,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -447,14 +447,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml
index 405d702cb..299c7030f 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml
@@ -51,7 +51,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -61,7 +61,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -122,7 +122,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -136,7 +136,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -176,14 +176,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
@@ -272,7 +272,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -282,7 +282,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -304,14 +304,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml
index aeb5b526e..52707c9fa 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml
@@ -68,7 +68,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -78,7 +78,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -139,7 +139,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -153,7 +153,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -253,14 +253,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
@@ -366,7 +366,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -376,7 +376,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -415,14 +415,14 @@ interactions:
email: demo@example.com
firstname: Demo
lastname: User
- authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
userGroups:
- id: adminGroup
type: userGroup
settings: []
permissions: []
- id: demo2
- authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
userGroups:
- id: demoGroup
type: userGroup
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml
index c04b2faf9..0ee66f3ae 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml
@@ -51,7 +51,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -61,7 +61,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -117,7 +117,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -127,7 +127,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml
index e2e87314c..b9e338ceb 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml
@@ -68,7 +68,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -78,7 +78,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
@@ -151,7 +151,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ - authId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
email: demo@example.com
firstname: Demo
id: demo
@@ -161,7 +161,7 @@ interactions:
userGroups:
- id: adminGroup
type: userGroup
- - authId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ - authId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
permissions: []
settings: []
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml
index 369a77cb0..5c57f5d2b 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml
@@ -97,7 +97,7 @@ interactions:
string:
data:
attributes:
- bearerToken: ZGVtbzp0ZXN0X3Rva2VuOmVFY0dkN29zVU5kVEt3WjZaNTFLNHFBNnhzaGVmZHZY
+ bearerToken: ZGVtbzp0ZXN0X3Rva2VuOjV1eXBzMGpLZjUxRXplS3psREFuNkkxTVpSYzVBVnZ2
id: test_token
type: apiToken
links:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml
index 193893832..bd98a7951 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml
@@ -46,7 +46,7 @@ interactions:
string:
data:
attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
relationships:
userGroups:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml
index 193893832..bd98a7951 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml
@@ -46,7 +46,7 @@ interactions:
string:
data:
attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
relationships:
userGroups:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml
index 193893832..bd98a7951 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml
@@ -46,7 +46,7 @@ interactions:
string:
data:
attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
relationships:
userGroups:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml
index 193893832..bd98a7951 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml
@@ -46,7 +46,7 @@ interactions:
string:
data:
attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
relationships:
userGroups:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml
index 874ec3938..eef07972e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml
@@ -56,7 +56,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -70,7 +70,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -141,7 +141,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 5475cd67abd82be4eaa3a67fcab49bad
+ traceId: bdb819a99f0f28ae77afd955be1673dc
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/users
@@ -263,7 +263,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -277,7 +277,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
@@ -613,7 +613,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiQ4ODg0NDU5Ny0zY2VjLTQ5MWItYmM1Ny1mMDQyOWQ0MTE4YjISBWxvY2Fs
+ authenticationId: CiRhNzhmZjA0Zi0xYjU1LTQwY2MtODQ0OS1jMmQzNGE4MGVjMzkSBWxvY2Fs
firstname: Demo
lastname: User
email: demo@example.com
@@ -627,7 +627,7 @@ interactions:
type: userGroup
type: user
- attributes:
- authenticationId: CiRlYWE5ZThhNS1hNDlhLTRiOTAtODYxZi0yMGJjZTA1Mjg0OTQSBWxvY2Fs
+ authenticationId: CiQxNzQyNzBmZC0wZjlkLTRkMTctYjU5Ni01OThhNzkzMDU3ODkSBWxvY2Fs
id: demo2
links:
self: http://localhost:3000/api/v1/entities/users/demo2
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml
index 36b3b1814..017b1a28e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml
@@ -94,7 +94,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -137,7 +137,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -287,7 +287,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -299,7 +299,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -309,7 +309,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -360,7 +360,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -369,7 +369,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -379,7 +379,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -389,7 +389,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -399,7 +399,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -408,7 +408,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -417,7 +417,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -427,7 +427,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -437,7 +437,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -447,7 +447,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -457,7 +457,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -467,7 +467,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -477,7 +477,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -487,7 +487,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -498,7 +498,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -508,7 +508,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -518,7 +518,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -528,7 +528,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -537,7 +537,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -546,7 +546,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -555,7 +555,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -564,7 +564,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -573,7 +573,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -582,7 +582,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -647,7 +647,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -723,7 +723,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -802,7 +802,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -861,7 +861,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -918,7 +918,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -971,7 +971,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1046,7 +1046,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1103,7 +1103,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1202,7 +1202,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1258,7 +1258,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1297,7 +1297,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1353,7 +1353,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1421,7 +1421,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1478,7 +1478,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1535,7 +1535,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1633,7 +1633,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1676,7 +1676,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1826,7 +1826,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1838,7 +1838,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1848,7 +1848,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1899,7 +1899,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1908,7 +1908,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1918,7 +1918,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1928,7 +1928,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1938,7 +1938,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1947,7 +1947,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1956,7 +1956,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1966,7 +1966,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1976,7 +1976,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1986,7 +1986,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1996,7 +1996,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2006,7 +2006,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2016,7 +2016,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2026,7 +2026,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2037,7 +2037,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2047,7 +2047,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2057,7 +2057,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2067,7 +2067,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2076,7 +2076,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2085,7 +2085,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2094,7 +2094,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2103,7 +2103,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2112,7 +2112,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2121,7 +2121,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2186,7 +2186,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2262,7 +2262,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2341,7 +2341,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2400,7 +2400,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2457,7 +2457,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2510,7 +2510,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2585,7 +2585,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2642,7 +2642,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2741,7 +2741,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2797,7 +2797,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2836,7 +2836,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2892,7 +2892,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2960,7 +2960,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3017,7 +3017,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3074,7 +3074,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml
index 20806a6b2..686f10868 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml
@@ -583,57 +583,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -643,10 +643,10 @@ interactions:
- demo
- order_lines
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1184,14 +1184,14 @@ interactions:
relationships:
attributes:
data:
- - id: customer_id
- type: attribute
- - id: customer_name
- type: attribute
- id: region
type: attribute
- id: state
type: attribute
+ - id: customer_id
+ type: attribute
+ - id: customer_name
+ type: attribute
type: dataset
- attributes:
title: Date
@@ -1231,57 +1231,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -1292,10 +1292,10 @@ interactions:
- order_lines
areRelationsValid: true
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1685,7 +1685,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -1700,7 +1700,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -1716,7 +1716,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -1733,7 +1733,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -1748,7 +1748,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -1763,7 +1763,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -1778,7 +1778,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -1794,7 +1794,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -1810,7 +1810,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -1826,7 +1826,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -1842,7 +1842,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -1858,7 +1858,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -1874,7 +1874,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -1891,7 +1891,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -1907,7 +1907,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -1923,7 +1923,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -1939,7 +1939,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -1955,7 +1955,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -1970,7 +1970,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -1985,7 +1985,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -2000,7 +2000,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -2015,7 +2015,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -2030,7 +2030,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -2045,7 +2045,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml
index df4516aeb..273e93a13 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml
@@ -583,57 +583,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -643,10 +643,10 @@ interactions:
- demo
- order_lines
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1184,14 +1184,14 @@ interactions:
relationships:
attributes:
data:
- - id: customer_id
- type: attribute
- - id: customer_name
- type: attribute
- id: region
type: attribute
- id: state
type: attribute
+ - id: customer_id
+ type: attribute
+ - id: customer_name
+ type: attribute
type: dataset
- attributes:
title: Date
@@ -1231,57 +1231,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -1292,10 +1292,10 @@ interactions:
- order_lines
areRelationsValid: true
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__state
@@ -1685,7 +1685,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -1700,7 +1700,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -1716,7 +1716,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -1733,7 +1733,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -1748,7 +1748,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -1763,7 +1763,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -1778,7 +1778,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -1794,7 +1794,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -1810,7 +1810,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -1826,7 +1826,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -1842,7 +1842,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -1858,7 +1858,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -1874,7 +1874,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -1891,7 +1891,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -1907,7 +1907,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -1923,7 +1923,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -1939,7 +1939,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -1955,7 +1955,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -1970,7 +1970,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -1985,7 +1985,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -2000,7 +2000,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -2015,7 +2015,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -2030,7 +2030,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -2045,7 +2045,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml
index 5012aad12..429c51788 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml
@@ -51,7 +51,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -66,7 +66,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -82,7 +82,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -99,7 +99,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -114,7 +114,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -129,7 +129,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -144,7 +144,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -160,7 +160,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -176,7 +176,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -192,7 +192,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -208,7 +208,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -224,7 +224,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -240,7 +240,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -257,7 +257,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -273,7 +273,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -289,7 +289,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -305,7 +305,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -321,7 +321,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -336,7 +336,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -351,7 +351,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -366,7 +366,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -381,7 +381,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -396,7 +396,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -411,7 +411,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml
index a2a208eeb..301ceb9d3 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml
@@ -64,28 +64,28 @@ interactions:
type: dataset
- - id: customer_id
type: attribute
- - id: amount_of_active_customers
- type: metric
+ - id: customers
+ type: dataset
- - id: customer_id
type: attribute
- - id: percent_revenue_from_top_10_percent_customers
+ - id: revenue_per_customer
type: metric
- - id: customer_id
type: attribute
- - id: amount_of_top_customers
+ - id: percent_revenue_from_top_10_customers
type: metric
- - id: customer_id
type: attribute
- - id: percent_revenue_from_top_10_customers
+ - id: percent_revenue_from_top_10_percent_customers
type: metric
- - id: customer_id
type: attribute
- - id: revenue_per_customer
+ - id: amount_of_active_customers
type: metric
- - id: customer_id
type: attribute
- - id: customers
- type: dataset
+ - id: amount_of_top_customers
+ type: metric
- - id: customer_name
type: attribute
- id: customers
@@ -106,14 +106,14 @@ interactions:
type: attribute
- id: date
type: dataset
- - - id: date.year
- type: attribute
- - id: product_revenue_comparison-over_previous_period
- type: visualizationObject
- - id: date.year
type: attribute
- id: date
type: dataset
+ - - id: date.year
+ type: attribute
+ - id: product_revenue_comparison-over_previous_period
+ type: visualizationObject
- - id: order_id
type: attribute
- id: order_lines
@@ -136,19 +136,19 @@ interactions:
type: dataset
- - id: product_id
type: attribute
- - id: products
- type: dataset
+ - id: percent_revenue_per_product
+ type: metric
- - id: product_id
type: attribute
- - id: percent_revenue_from_top_10_percent_products
- type: metric
+ - id: products
+ type: dataset
- - id: product_id
type: attribute
- id: percent_revenue_from_top_10_products
type: metric
- - id: product_id
type: attribute
- - id: percent_revenue_per_product
+ - id: percent_revenue_from_top_10_percent_products
type: metric
- - id: product_name
type: attribute
@@ -184,11 +184,11 @@ interactions:
type: dataset
- - id: campaigns
type: dataset
- - id: order_lines
+ - id: campaign_channels
type: dataset
- - id: campaigns
type: dataset
- - id: campaign_channels
+ - id: order_lines
type: dataset
- - id: customers
type: dataset
@@ -196,16 +196,16 @@ interactions:
type: dataset
- - id: date
type: dataset
- - id: customers_trend
- type: visualizationObject
+ - id: order_lines
+ type: dataset
- - id: date
type: dataset
- - id: percentage_of_customers_by_region
+ - id: revenue_by_category_trend
type: visualizationObject
- - id: date
type: dataset
- - id: order_lines
- type: dataset
+ - id: percentage_of_customers_by_region
+ type: visualizationObject
- - id: date
type: dataset
- id: product_revenue_comparison-over_previous_period
@@ -216,7 +216,7 @@ interactions:
type: analyticalDashboard
- - id: date
type: dataset
- - id: revenue_by_category_trend
+ - id: customers_trend
type: visualizationObject
- - id: date
type: dataset
@@ -254,26 +254,26 @@ interactions:
type: fact
- id: revenue_and_quantity_by_product_and_category
type: visualizationObject
- - - id: spend
- type: fact
- - id: campaign_spend
- type: metric
- - id: spend
type: fact
- id: campaign_channels
type: dataset
+ - - id: spend
+ type: fact
+ - id: campaign_spend
+ type: metric
- - id: campaign_channel_id
type: label
- id: campaign_channel_id
type: attribute
- - - id: campaign_channels.category
- type: label
- - id: campaign_channels.category
- type: attribute
- - id: campaign_channels.category
type: label
- id: campaign_spend
type: visualizationObject
+ - - id: campaign_channels.category
+ type: label
+ - id: campaign_channels.category
+ type: attribute
- - id: campaign_id
type: label
- id: campaign_id
@@ -300,24 +300,28 @@ interactions:
type: attribute
- - id: customer_name
type: label
- - id: customer_name
- type: attribute
+ - id: revenue_and_quantity_by_product_and_category
+ type: visualizationObject
- - id: customer_name
type: label
- - id: percent_revenue_per_product_by_customer_and_category
+ - id: top_10_customers
type: visualizationObject
- - id: customer_name
type: label
- - id: revenue_and_quantity_by_product_and_category
- type: visualizationObject
+ - id: customer_name
+ type: attribute
- - id: customer_name
type: label
- - id: top_10_customers
+ - id: percent_revenue_per_product_by_customer_and_category
type: visualizationObject
- - id: date.day
type: label
- id: date.day
type: attribute
+ - - id: date.month
+ type: label
+ - id: percentage_of_customers_by_region
+ type: visualizationObject
- - id: date.month
type: label
- id: date.month
@@ -326,10 +330,6 @@ interactions:
type: label
- id: customers_trend
type: visualizationObject
- - - id: date.month
- type: label
- - id: percentage_of_customers_by_region
- type: visualizationObject
- - id: date.month
type: label
- id: revenue_by_category_trend
@@ -368,11 +368,11 @@ interactions:
type: attribute
- - id: order_status
type: label
- - id: revenue
+ - id: amount_of_valid_orders
type: metric
- - id: order_status
type: label
- - id: amount_of_valid_orders
+ - id: revenue
type: metric
- - id: product_id
type: label
@@ -380,11 +380,15 @@ interactions:
type: attribute
- - id: product_name
type: label
- - id: revenue_by_product
+ - id: top_10_products
type: visualizationObject
- - id: product_name
type: label
- - id: top_10_products
+ - id: product_breakdown
+ type: visualizationObject
+ - - id: product_name
+ type: label
+ - id: product_categories_pie_chart
type: visualizationObject
- - id: product_name
type: label
@@ -396,15 +400,11 @@ interactions:
type: visualizationObject
- - id: product_name
type: label
- - id: product_categories_pie_chart
- type: visualizationObject
- - - id: product_name
- type: label
- - id: product_breakdown
+ - id: revenue_by_product
type: visualizationObject
- - id: product_name
type: label
- - id: product_saleability
+ - id: revenue_and_quantity_by_product_and_category
type: visualizationObject
- - id: product_name
type: label
@@ -412,31 +412,31 @@ interactions:
type: visualizationObject
- - id: product_name
type: label
- - id: revenue_and_quantity_by_product_and_category
+ - id: product_saleability
type: visualizationObject
- - id: products.category
type: label
- - id: products.category
- type: attribute
+ - id: top_10_products
+ type: visualizationObject
- - id: products.category
type: label
- - id: revenue-clothing
+ - id: revenue-electronic
type: metric
- - id: products.category
type: label
- - id: revenue-electronic
+ - id: revenue-clothing
type: metric
- - id: products.category
type: label
- - id: revenue-outdoor
- type: metric
+ - id: product_breakdown
+ type: visualizationObject
- - id: products.category
type: label
- - id: top_10_products
+ - id: revenue_by_category_trend
type: visualizationObject
- - id: products.category
type: label
- - id: product_revenue_comparison-over_previous_period
+ - id: product_categories_pie_chart
type: visualizationObject
- - id: products.category
type: label
@@ -444,63 +444,67 @@ interactions:
type: metric
- - id: products.category
type: label
- - id: product_categories_pie_chart
- type: visualizationObject
+ - id: revenue-outdoor
+ type: metric
- - id: products.category
type: label
- - id: product_breakdown
+ - id: product_revenue_comparison-over_previous_period
type: visualizationObject
- - id: products.category
type: label
- - id: revenue_by_category_trend
- type: visualizationObject
+ - id: products.category
+ type: attribute
- - id: products.category
type: label
- - id: percent_revenue_per_product_by_customer_and_category
+ - id: revenue_and_quantity_by_product_and_category
type: visualizationObject
- - id: products.category
type: label
- - id: revenue_and_quantity_by_product_and_category
+ - id: percent_revenue_per_product_by_customer_and_category
type: visualizationObject
- - id: region
type: label
- id: region_filter
type: filterContext
- - - id: region
- type: label
- - id: percentage_of_customers_by_region
- type: visualizationObject
- - id: region
type: label
- id: region
type: attribute
- - - id: state
+ - - id: region
type: label
- - id: state
- type: attribute
+ - id: percentage_of_customers_by_region
+ type: visualizationObject
- - id: state
type: label
- id: top_10_customers
type: visualizationObject
- - - id: type
+ - - id: state
type: label
- - id: type
+ - id: state
type: attribute
- - id: type
type: label
- id: campaign_spend
type: visualizationObject
+ - - id: type
+ type: label
+ - id: type
+ type: attribute
- - id: amount_of_active_customers
type: metric
- - id: amount_of_top_customers
- type: metric
+ - id: percentage_of_customers_by_region
+ type: visualizationObject
- - id: amount_of_active_customers
type: metric
- id: customers_trend
type: visualizationObject
- - id: amount_of_active_customers
type: metric
- - id: percentage_of_customers_by_region
+ - id: amount_of_top_customers
+ type: metric
+ - - id: amount_of_orders
+ type: metric
+ - id: revenue_trend
type: visualizationObject
- - id: amount_of_orders
type: metric
@@ -510,10 +514,6 @@ interactions:
type: metric
- id: amount_of_valid_orders
type: metric
- - - id: amount_of_orders
- type: metric
- - id: revenue_trend
- type: visualizationObject
- - id: campaign_spend
type: metric
- id: revenue_per_usd_vs_spend_by_campaign
@@ -538,85 +538,81 @@ interactions:
type: metric
- id: percent_revenue_per_product_by_customer_and_category
type: visualizationObject
- - - id: revenue
- type: metric
- - id: percent_revenue_from_top_10_customers
- type: metric
- - id: revenue
type: metric
- id: revenue-clothing
type: metric
- - id: revenue
type: metric
- - id: revenue_per_customer
+ - id: product_breakdown
+ type: visualizationObject
+ - - id: revenue
type: metric
+ - id: revenue_by_category_trend
+ type: visualizationObject
- - id: revenue
type: metric
- - id: product_revenue_comparison-over_previous_period
+ - id: product_categories_pie_chart
type: visualizationObject
- - id: revenue
type: metric
- id: percent_revenue_in_category
type: metric
+ - - id: revenue
+ type: metric
+ - id: revenue_top_10
+ type: metric
- - id: revenue
type: metric
- id: percent_revenue_per_product
type: metric
- - id: revenue
type: metric
- - id: percent_revenue
+ - id: revenue-outdoor
type: metric
- - id: revenue
type: metric
- - id: revenue_top_10_percent
+ - id: revenue_per_customer
type: metric
- - id: revenue
type: metric
- - id: revenue_top_10
+ - id: percent_revenue_from_top_10_customers
type: metric
- - id: revenue
type: metric
- - id: product_categories_pie_chart
+ - id: revenue_and_quantity_by_product_and_category
type: visualizationObject
- - id: revenue
type: metric
- - id: total_revenue
+ - id: percent_revenue_from_top_10_percent_products
type: metric
- - id: revenue
type: metric
- - id: percent_revenue_from_top_10_percent_products
+ - id: revenue_top_10_percent
type: metric
- - id: revenue
type: metric
- - id: product_saleability
- type: visualizationObject
- - - id: revenue
+ - id: percent_revenue
type: metric
- - id: percent_revenue_per_product_by_customer_and_category
- type: visualizationObject
- - id: revenue
type: metric
- - id: revenue_trend
- type: visualizationObject
- - - id: revenue
+ - id: total_revenue
type: metric
- - id: revenue_by_product
- type: visualizationObject
- - id: revenue
type: metric
- id: revenue-electronic
type: metric
- - id: revenue
type: metric
- - id: revenue-outdoor
+ - id: percent_revenue_from_top_10_percent_customers
type: metric
- - id: revenue
type: metric
- - id: revenue_per_dollar_spent
+ - id: percent_revenue_from_top_10_products
type: metric
- - id: revenue
type: metric
- - id: percent_revenue_from_top_10_products
+ - id: revenue_per_dollar_spent
type: metric
- - id: revenue
type: metric
@@ -624,23 +620,27 @@ interactions:
type: metric
- - id: revenue
type: metric
- - id: percent_revenue_from_top_10_percent_customers
- type: metric
+ - id: product_revenue_comparison-over_previous_period
+ type: visualizationObject
- - id: revenue
type: metric
- - id: amount_of_top_customers
- type: metric
+ - id: revenue_by_product
+ type: visualizationObject
- - id: revenue
type: metric
- - id: product_breakdown
+ - id: revenue_trend
type: visualizationObject
- - id: revenue
type: metric
- - id: revenue_by_category_trend
+ - id: amount_of_top_customers
+ type: metric
+ - - id: revenue
+ type: metric
+ - id: percent_revenue_per_product_by_customer_and_category
type: visualizationObject
- - id: revenue
type: metric
- - id: revenue_and_quantity_by_product_and_category
+ - id: product_saleability
type: visualizationObject
- - id: revenue_per_customer
type: metric
@@ -652,20 +652,20 @@ interactions:
type: visualizationObject
- - id: revenue_top_10
type: metric
- - id: percent_revenue_from_top_10_customers
- type: metric
- - - id: revenue_top_10
- type: metric
- - id: top_10_customers
+ - id: top_10_products
type: visualizationObject
- - id: revenue_top_10
type: metric
- - id: top_10_products
- type: visualizationObject
+ - id: percent_revenue_from_top_10_customers
+ type: metric
- - id: revenue_top_10
type: metric
- id: percent_revenue_from_top_10_products
type: metric
+ - - id: revenue_top_10
+ type: metric
+ - id: top_10_customers
+ type: visualizationObject
- - id: revenue_top_10_percent
type: metric
- id: percent_revenue_from_top_10_percent_customers
@@ -676,11 +676,11 @@ interactions:
type: metric
- - id: total_revenue
type: metric
- - id: percent_revenue
+ - id: total_revenue-no_filters
type: metric
- - id: total_revenue
type: metric
- - id: total_revenue-no_filters
+ - id: percent_revenue
type: metric
- - id: campaign_spend
type: visualizationObject
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml
index 9e23dbae3..b77a44e2e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml
@@ -44,7 +44,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: bb7e5c8c337db523003b39dd19094abc
+ traceId: 673fd5f14dd7d3ae0d362c0982d29b02
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
@@ -556,8 +556,8 @@ interactions:
username: postgres
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
@@ -1011,8 +1011,8 @@ interactions:
username: postgres
authenticationType: USERNAME_PASSWORD
alternativeDataSourceId: ds-put-abc-id
- name: demo-test-ds
type: POSTGRESQL
+ name: demo-test-ds
schema: demo
id: demo-test-ds
links:
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml
index 25a74464f..142ad4112 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml
@@ -44,7 +44,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 46d627a68277c7fef3bcb5af31859ca7
+ traceId: d9de430d2325b6b53c5f219dc401ece7
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml
index a54a511e2..fdbb8a25a 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml
@@ -44,7 +44,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: bb97d63804862e900247ba158c3d5fd6
+ traceId: f566f715ce07a6469e9445ff7b5be24f
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml
index a59c3dd52..b998d1e3a 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml
@@ -19,32 +19,21 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: &id001
- PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: 7a8476e9233bd922199e045de02979e7
+ traceId: 70430583981660c2cd4974a166a50292
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml
index a138a59c1..e07df2fd8 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml
@@ -19,32 +19,21 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: &id001
- PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: 4764599273a9738e8ae22f87615f0cf5
+ traceId: 99ab8b8998cae5573820bda78ff4e02a
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml
index e36690ad1..24ffcb84e 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml
@@ -94,7 +94,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -137,7 +137,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -287,7 +287,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -299,7 +299,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -309,7 +309,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -360,7 +360,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -369,7 +369,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -379,7 +379,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -389,7 +389,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -399,7 +399,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -408,7 +408,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -417,7 +417,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -427,7 +427,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -437,7 +437,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -447,7 +447,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -457,7 +457,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -467,7 +467,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -477,7 +477,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -487,7 +487,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -498,7 +498,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -508,7 +508,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -518,7 +518,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -528,7 +528,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -537,7 +537,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -546,7 +546,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -555,7 +555,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -564,7 +564,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -573,7 +573,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -582,7 +582,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -647,7 +647,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -723,7 +723,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -802,7 +802,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -861,7 +861,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -918,7 +918,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -971,7 +971,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1046,7 +1046,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1103,7 +1103,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1202,7 +1202,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1258,7 +1258,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1297,7 +1297,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1353,7 +1353,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1421,7 +1421,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1478,7 +1478,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1535,7 +1535,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1734,7 +1734,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1777,7 +1777,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1927,7 +1927,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1939,7 +1939,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1949,7 +1949,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2000,7 +2000,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2009,7 +2009,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2019,7 +2019,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2029,7 +2029,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2039,7 +2039,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2048,7 +2048,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2057,7 +2057,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2067,7 +2067,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2077,7 +2077,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2087,7 +2087,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2097,7 +2097,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2107,7 +2107,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2117,7 +2117,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2127,7 +2127,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2138,7 +2138,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2148,7 +2148,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2158,7 +2158,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2168,7 +2168,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2177,7 +2177,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2186,7 +2186,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2195,7 +2195,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2204,7 +2204,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2213,7 +2213,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2222,7 +2222,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2287,7 +2287,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2363,7 +2363,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2442,7 +2442,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2501,7 +2501,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2558,7 +2558,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2611,7 +2611,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2686,7 +2686,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2743,7 +2743,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2842,7 +2842,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2898,7 +2898,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2937,7 +2937,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2993,7 +2993,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3061,7 +3061,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3118,7 +3118,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3175,7 +3175,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml
index 83e0b2519..42d76ea77 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml
@@ -1812,57 +1812,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -1872,10 +1872,10 @@ interactions:
- demo
- order_lines
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__region
@@ -2472,57 +2472,57 @@ interactions:
type: attribute
referenceProperties:
- identifier:
- id: customers
+ id: campaigns
type: dataset
multivalue: false
sources:
- - column: customer_id
+ - column: campaign_id
dataType: INT
target:
- id: customer_id
+ id: campaign_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: campaigns
+ id: products
type: dataset
multivalue: false
sources:
- - column: campaign_id
+ - column: product_id
dataType: INT
target:
- id: campaign_id
+ id: product_id
type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: date
+ id: customers
type: dataset
multivalue: false
sources:
- - column: date
- dataType: DATE
+ - column: customer_id
+ dataType: INT
target:
- id: date
- type: date
+ id: customer_id
+ type: attribute
isNullable: null
nullValue: null
sourceColumns: null
sourceColumnDataTypes: null
- identifier:
- id: products
+ id: date
type: dataset
multivalue: false
sources:
- - column: product_id
- dataType: INT
+ - column: date
+ dataType: DATE
target:
- id: product_id
- type: attribute
+ id: date
+ type: date
isNullable: null
nullValue: null
sourceColumns: null
@@ -2533,10 +2533,10 @@ interactions:
- order_lines
areRelationsValid: true
workspaceDataFilterColumns:
- - name: wdf__state
- dataType: STRING
- name: wdf__region
dataType: STRING
+ - name: wdf__state
+ dataType: STRING
workspaceDataFilterReferences:
- filterId:
id: wdf__region
@@ -2926,7 +2926,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_active_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers
@@ -2941,7 +2941,7 @@ interactions:
content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders
@@ -2957,7 +2957,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_top_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers
@@ -2974,7 +2974,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: amount_of_valid_orders
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders
@@ -2989,7 +2989,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: campaign_spend
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend
@@ -3004,7 +3004,7 @@ interactions:
content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: order_amount
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount
@@ -3019,7 +3019,7 @@ interactions:
content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue
@@ -3035,7 +3035,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers
@@ -3051,7 +3051,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_customers
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers
@@ -3067,7 +3067,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_percent_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products
@@ -3083,7 +3083,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_from_top_10_products
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products
@@ -3099,7 +3099,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_in_category
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category
@@ -3115,7 +3115,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: percent_revenue_per_product
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product
@@ -3132,7 +3132,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue
@@ -3148,7 +3148,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-clothing
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing
@@ -3164,7 +3164,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-electronic
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic
@@ -3180,7 +3180,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-home
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home
@@ -3196,7 +3196,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue-outdoor
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor
@@ -3211,7 +3211,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_customer
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer
@@ -3226,7 +3226,7 @@ interactions:
content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_per_dollar_spent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent
@@ -3241,7 +3241,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10
@@ -3256,7 +3256,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: revenue_top_10_percent
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent
@@ -3271,7 +3271,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue
@@ -3286,7 +3286,7 @@ interactions:
content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:26
+ createdAt: 2026-02-26 14:23
id: total_revenue-no_filters
links:
self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml
index 53c156c95..4f16b0c43 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml
@@ -67,7 +67,7 @@ interactions:
count: 2
offset: 0
next: null
- cacheId: cfab51328ab4456a7566d09d7e65a3d0
+ cacheId: afaa082b7a6dcdeb3ea43c44f98c1a77
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -128,7 +128,7 @@ interactions:
count: 1
offset: 0
next: null
- cacheId: 556fe4e6164ab3469ffdebc189576536
+ cacheId: 2adf55d333ec2770665bbf26a33fc9ad
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -191,7 +191,7 @@ interactions:
count: 3
offset: 0
next: null
- cacheId: 53715ec38a50c80767c2e5f460bbe3d5
+ cacheId: 326d9540a84e4e8fa6f67c938770761c
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -256,7 +256,7 @@ interactions:
count: 0
offset: 0
next: null
- cacheId: ddbe275f60d9c3026dc407d65c3500d1
+ cacheId: 7c7152263d38734d1ca25594e82109a3
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -322,7 +322,7 @@ interactions:
count: 0
offset: 0
next: null
- cacheId: bf2f9485252e836f26823c4218f1e692
+ cacheId: 48a38845fa9b3f60e32eae87ff0be520
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -388,7 +388,7 @@ interactions:
count: 2
offset: 0
next: null
- cacheId: cfab51328ab4456a7566d09d7e65a3d0
+ cacheId: afaa082b7a6dcdeb3ea43c44f98c1a77
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -448,7 +448,7 @@ interactions:
count: 1
offset: 0
next: null
- cacheId: a8a7f873d466867074230166d8ed89a3
+ cacheId: f3e06f30e63d96c757d05e289ce18905
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -511,7 +511,7 @@ interactions:
count: 2
offset: 0
next: null
- cacheId: b72a409afbc1d8577c568483c0f8c5f3
+ cacheId: b219514f64a898f9b3e6b01ac3f7440e
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements
@@ -575,7 +575,7 @@ interactions:
count: 3
offset: 0
next: null
- cacheId: e78e5c864db92a0bace1346a5ad3d14f
+ cacheId: a2735bd6b9ee9604e7b0848679734a1a
- request:
method: POST
uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements?offset=1&limit=1
@@ -634,4 +634,4 @@ interactions:
count: 1
offset: 1
next: http://localhost:3000/api/v1/actions/workspaces/demo/execution/collectLabelElements?limit=1&offset=2
- cacheId: 53715ec38a50c80767c2e5f460bbe3d5
+ cacheId: 326d9540a84e4e8fa6f67c938770761c
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml
index e4575bdd7..680643eaf 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml
@@ -144,13 +144,10 @@ interactions:
id="attribute.campaign_channels.category.title">CategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -183,24 +192,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -215,28 +215,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -248,9 +248,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -643,24 +652,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -675,28 +675,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -708,9 +708,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1059,9 +1055,25 @@ interactions:
id="attribute.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year
+ (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.Order
idOrder id.Order
idOrder id.Order
@@ -1083,29 +1095,17 @@ interactions:
id="attribute.products.category">CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Campaign
+ id="attribute.state.tags">CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.Campaign
channelsCampaign channels.Campaign channelsCampaign
channels.Campaign
@@ -1122,28 +1122,28 @@ interactions:
id="dataset.customers">CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
linesOrder lines.Order
linesOrder lines.Order
linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.DateDate.DateDate.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.SpendSpend.SpendSpend.Campaign channelsCampaign
channels.PricePrice.PricePrice.Order linesOrder lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
+ channels.Budget
AggBudget Agg.Campaign
@@ -1156,9 +1156,6 @@ interactions:
id="label.campaign_channels.category">CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1172,12 +1169,24 @@ interactions:
id="label.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
+ and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
+ id="label.region">RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.#
of Active Customers# of Active Customers.#
of Orders# of Orders.CategoryCategory.Campaign
channelsCampaign channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
+ id="attribute.campaign_id">Campaign
+ idCampaign id.Campaign
idCampaign id.CampaignsCampaigns.Campaign
nameCampaign name.Campaign
@@ -1608,9 +1605,25 @@ interactions:
id="attribute.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year
+ (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.Order
idOrder id.Order
idOrder id.Order
@@ -1632,29 +1645,17 @@ interactions:
id="attribute.products.category">CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Campaign
+ id="attribute.state.tags">CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.Campaign
channelsCampaign channels.Campaign channelsCampaign
channels.Campaign
@@ -1671,23 +1672,19 @@ interactions:
id="dataset.customers">CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
linesOrder lines.Order
linesOrder lines.Order
linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.DateDate.DateDate.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.SpendSpend.SpendSpend.Campaign channelsCampaign
channels.PricePrice.PricePrice.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
+ channels.Budget AggBudget
Agg.Campaign
@@ -1709,10 +1709,6 @@ interactions:
id="label.campaign_channels.category">CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1726,12 +1722,24 @@ interactions:
id="label.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
+ and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
+ id="label.region">RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.#
of Active Customers# of Active Customers.#
of Orders# of Orders.CategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -183,24 +192,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -215,28 +215,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -248,9 +248,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -643,24 +652,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -675,28 +675,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -708,9 +708,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1059,9 +1055,25 @@ interactions:
id="attribute.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year
+ (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.Order
idOrder id.Order
idOrder id.Order
@@ -1083,29 +1095,17 @@ interactions:
id="attribute.products.category">CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Campaign
+ id="attribute.state.tags">CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.Campaign
channelsCampaign channels.Campaign channelsCampaign
channels.Campaign
@@ -1122,28 +1122,28 @@ interactions:
id="dataset.customers">CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
linesOrder lines.Order
linesOrder lines.Order
linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.DateDate.DateDate.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.SpendSpend.SpendSpend.Campaign channelsCampaign
channels.PricePrice.PricePrice.Order linesOrder lines.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
+ channels.Budget
AggBudget Agg.Campaign
@@ -1156,9 +1156,6 @@ interactions:
id="label.campaign_channels.category">CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1172,12 +1169,24 @@ interactions:
id="label.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
+ and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
+ id="label.region">RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.#
of Active Customers# of Active Customers.#
of Orders# of Orders.CategoryCategory.Campaign
channelsCampaign channels.TypeType.TypeType.Campaign channelsCampaign
- channels.Campaign idCampaign
- id.Campaign
+ id="attribute.campaign_id">Campaign
+ idCampaign id.Campaign
idCampaign id.CampaignsCampaigns.Campaign
nameCampaign name.Campaign
@@ -1608,9 +1605,25 @@ interactions:
id="attribute.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year
+ (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.Order
idOrder id.Order
idOrder id.Order
@@ -1632,29 +1645,17 @@ interactions:
id="attribute.products.category">CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year
- (Q1/2020)Quarter and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Campaign
+ id="attribute.state.tags">CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.Campaign
channelsCampaign channels.Campaign channelsCampaign
channels.Campaign
@@ -1671,23 +1672,19 @@ interactions:
id="dataset.customers">CustomersCustomers.CustomersCustomers.CustomersCustomers.DateDate.DateDate.Order
linesOrder lines.Order
linesOrder lines.Order
linesOrder lines.ProductsProducts.ProductsProducts.ProductsProducts.DateDate.DateDate.ProductsProducts.BudgetBudget.BudgetBudget.Campaign channelsCampaign
- channels.SpendSpend.SpendSpend.Campaign channelsCampaign
channels.PricePrice.PricePrice.QuantityQuantity.QuantityQuantity.Order linesOrder
- lines.SpendSpend.SpendSpend.Campaign channelsCampaign
+ channels.Budget AggBudget
Agg.Campaign
@@ -1709,10 +1709,6 @@ interactions:
id="label.campaign_channels.category">CategoryCategory.CategoryCategory.Campaign channelsCampaign
- channels.TypeType.TypeType.Campaign channelsCampaign
channels.Campaign idCampaign
id.Campaign
@@ -1726,12 +1722,24 @@ interactions:
id="label.customer_name">Customer
nameCustomer name.Customer
nameCustomer name.CustomersCustomers.RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.Date
+ - DateDate - Date.DateDate.DateDate.Date
+ - Month/YearDate - Month/Year.Month and Year (12/2020)Month
+ and Year (12/2020).DateDate.Date
+ - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
+ and Year (Q1/2020).DateDate.Date
+ - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
+ and Year (W52/2020).DateDate.Date
+ - YearDate - Year.YearYear.DateDate.LocationLocation.LocationLocation.CustomersCustomers.CategoryCategory.CategoryCategory.ProductsProducts.Date
- - DateDate - Date.DateDate.DateDate.Date
- - Week/YearDate - Week/Year.Week and Year (W52/2020)Week
- and Year (W52/2020).DateDate.Date
- - Month/YearDate - Month/Year.Month and Year (12/2020)Month
- and Year (12/2020).DateDate.Date
- - Quarter/YearDate - Quarter/Year.Quarter and Year (Q1/2020)Quarter
- and Year (Q1/2020).DateDate.Date
- - YearDate - Year.YearYear.DateDate.#
+ id="label.region">RegionRegion.RegionRegion.CustomersCustomers.StateState.StateState.CustomersCustomers.TypeType.TypeType.Campaign channelsCampaign
+ channels.#
of Active Customers# of Active Customers.#
of Orders# of Orders.CategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -2176,24 +2185,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -2208,28 +2208,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -2241,9 +2241,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of Orders 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -502,7 +502,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -512,7 +512,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -521,7 +521,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -530,7 +530,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -540,7 +540,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -550,7 +550,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -560,7 +560,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -570,7 +570,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -580,7 +580,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -590,7 +590,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -600,7 +600,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -611,7 +611,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -621,7 +621,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -631,7 +631,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -641,7 +641,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -650,7 +650,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -659,7 +659,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -668,7 +668,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -677,7 +677,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -686,7 +686,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -695,7 +695,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -760,7 +760,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -836,7 +836,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -915,7 +915,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -974,7 +974,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1031,7 +1031,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1084,7 +1084,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1159,7 +1159,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1216,7 +1216,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1315,7 +1315,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1371,7 +1371,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1410,7 +1410,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1466,7 +1466,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1534,7 +1534,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1591,7 +1591,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1648,7 +1648,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2082,31 +2082,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: 1be2e06c39417a3bad03e1832e1dcc4b
+ traceId: c0269bf8ae237c9d90e40e9ea3a26b21
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo_clone?include=workspaces
@@ -2125,31 +2114,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: e65e2376d1685f81c09d08d5b1a0ccf9
+ traceId: 4486f9c0d871a3e559dd977079fc7340
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
@@ -2771,7 +2749,7 @@ interactions:
version: '2'
id: campaign
title: Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2814,7 +2792,7 @@ interactions:
version: '2'
id: dashboard_plugin
title: Dashboard plugin
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2964,7 +2942,7 @@ interactions:
version: '2'
id: product_and_category
title: Product & Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2977,7 +2955,7 @@ interactions:
version: '2'
id: dashboard_plugin_1
title: dashboard_plugin_1
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2987,7 +2965,7 @@ interactions:
version: '2'
id: dashboard_plugin_2
title: dashboard_plugin_2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3036,7 +3014,7 @@ interactions:
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
id: amount_of_active_customers
title: '# of Active Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3045,7 +3023,7 @@ interactions:
maql: SELECT COUNT({attribute/order_id})
id: amount_of_orders
title: '# of Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3055,7 +3033,7 @@ interactions:
BY {attribute/customer_id}) > 10000 '
id: amount_of_top_customers
title: '# of Top Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3065,7 +3043,7 @@ interactions:
IN ("Returned", "Canceled"))
id: amount_of_valid_orders
title: '# of Valid Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3075,7 +3053,7 @@ interactions:
maql: SELECT SUM({fact/spend})
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3084,7 +3062,7 @@ interactions:
maql: SELECT SUM({fact/price}*{fact/quantity})
id: order_amount
title: Order Amount
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3093,7 +3071,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/total_revenue}
id: percent_revenue
title: '% Revenue'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3103,7 +3081,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_customers
title: '% Revenue from Top 10 Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3113,7 +3091,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_customers
title: '% Revenue from Top 10% Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3123,7 +3101,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_products
title: '% Revenue from Top 10% Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3133,7 +3111,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_products
title: '% Revenue from Top 10 Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3143,7 +3121,7 @@ interactions:
ALL OTHER)
id: percent_revenue_in_category
title: '% Revenue in Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3152,7 +3130,7 @@ interactions:
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})
id: percent_revenue_per_product
title: '% Revenue per Product'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3162,7 +3140,7 @@ interactions:
IN ("Returned", "Canceled"))
id: revenue
title: Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3172,7 +3150,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
id: revenue-clothing
title: Revenue (Clothing)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3182,7 +3160,7 @@ interactions:
"Electronics")
id: revenue-electronic
title: Revenue (Electronic)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3191,7 +3169,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
id: revenue-home
title: Revenue (Home)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3200,7 +3178,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
id: revenue-outdoor
title: Revenue (Outdoor)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3209,7 +3187,7 @@ interactions:
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
id: revenue_per_customer
title: Revenue per Customer
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3218,7 +3196,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/campaign_spend}
id: revenue_per_dollar_spent
title: Revenue per Dollar Spent
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3227,7 +3205,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
id: revenue_top_10
title: Revenue / Top 10
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3236,7 +3214,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
id: revenue_top_10_percent
title: Revenue / Top 10%
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3245,7 +3223,7 @@ interactions:
maql: SELECT {metric/revenue} BY ALL OTHER
id: total_revenue
title: Total Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3254,7 +3232,7 @@ interactions:
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
id: total_revenue-no_filters
title: Total Revenue (No Filters)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3319,7 +3297,7 @@ interactions:
visualizationUrl: local:treemap
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3395,7 +3373,7 @@ interactions:
visualizationUrl: local:combo2
id: customers_trend
title: Customers Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3474,7 +3452,7 @@ interactions:
visualizationUrl: local:table
id: percent_revenue_per_product_by_customer_and_category
title: '% Revenue per Product by Customer and Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3533,7 +3511,7 @@ interactions:
visualizationUrl: local:area
id: percentage_of_customers_by_region
title: Percentage of Customers by Region
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3590,7 +3568,7 @@ interactions:
visualizationUrl: local:treemap
id: product_breakdown
title: Product Breakdown
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3643,7 +3621,7 @@ interactions:
visualizationUrl: local:donut
id: product_categories_pie_chart
title: Product Categories Pie Chart
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3718,7 +3696,7 @@ interactions:
visualizationUrl: local:column
id: product_revenue_comparison-over_previous_period
title: Product Revenue Comparison (over previous period)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3775,7 +3753,7 @@ interactions:
visualizationUrl: local:scatter
id: product_saleability
title: Product Saleability
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3874,7 +3852,7 @@ interactions:
visualizationUrl: local:table
id: revenue_and_quantity_by_product_and_category
title: Revenue and Quantity by Product and Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3930,7 +3908,7 @@ interactions:
visualizationUrl: local:line
id: revenue_by_category_trend
title: Revenue by Category Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3969,7 +3947,7 @@ interactions:
visualizationUrl: local:bar
id: revenue_by_product
title: Revenue by Product
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4025,7 +4003,7 @@ interactions:
visualizationUrl: local:scatter
id: revenue_per_usd_vs_spend_by_campaign
title: Revenue per $ vs Spend by Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4093,7 +4071,7 @@ interactions:
visualizationUrl: local:combo2
id: revenue_trend
title: Revenue Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4150,7 +4128,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_customers
title: Top 10 Customers
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4207,7 +4185,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_products
title: Top 10 Products
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4500,7 +4478,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4543,7 +4521,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4693,7 +4671,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4705,7 +4683,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4715,7 +4693,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4766,7 +4744,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4775,7 +4753,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4785,7 +4763,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4795,7 +4773,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4805,7 +4783,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4814,7 +4792,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4823,7 +4801,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4833,7 +4811,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4843,7 +4821,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4853,7 +4831,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4863,7 +4841,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4873,7 +4851,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4883,7 +4861,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4893,7 +4871,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4904,7 +4882,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4914,7 +4892,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4924,7 +4902,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4934,7 +4912,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4943,7 +4921,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4952,7 +4930,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4961,7 +4939,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4970,7 +4948,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4979,7 +4957,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4988,7 +4966,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5053,7 +5031,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5129,7 +5107,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5208,7 +5186,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5267,7 +5245,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5324,7 +5302,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5377,7 +5355,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5452,7 +5430,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5509,7 +5487,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5608,7 +5586,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5664,7 +5642,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5703,7 +5681,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5759,7 +5737,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5827,7 +5805,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5884,7 +5862,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5941,7 +5919,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6404,7 +6382,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6447,7 +6425,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6597,7 +6575,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6609,7 +6587,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6619,7 +6597,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6670,7 +6648,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6679,7 +6657,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6689,7 +6667,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6699,7 +6677,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6709,7 +6687,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6718,7 +6696,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6727,7 +6705,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6737,7 +6715,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6747,7 +6725,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6757,7 +6735,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6767,7 +6745,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6777,7 +6755,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6787,7 +6765,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6797,7 +6775,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6808,7 +6786,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6818,7 +6796,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6828,7 +6806,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6838,7 +6816,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6847,7 +6825,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6856,7 +6834,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6865,7 +6843,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6874,7 +6852,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6883,7 +6861,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6892,7 +6870,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6957,7 +6935,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7033,7 +7011,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7112,7 +7090,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7171,7 +7149,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7228,7 +7206,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7281,7 +7259,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7356,7 +7334,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7413,7 +7391,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7512,7 +7490,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7568,7 +7546,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7607,7 +7585,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7663,7 +7641,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7731,7 +7709,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7788,7 +7766,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -7845,7 +7823,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -8279,31 +8257,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: fa88fcfde20a53cf3bccaebdd6aa2d6a
+ traceId: 2d063a5fb90276040ae01af823ac5ae4
- request:
method: GET
uri: http://localhost:3000/api/v1/entities/workspaces/demo_jacek?include=workspaces
@@ -8322,31 +8289,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: 05bc40cd41464cfa475aceabf3db9c50
+ traceId: e3bbf07b80110df58a2050af71948090
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
@@ -8982,7 +8938,7 @@ interactions:
version: '2'
id: campaign
title: Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9025,7 +8981,7 @@ interactions:
version: '2'
id: dashboard_plugin
title: Dashboard plugin
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9175,7 +9131,7 @@ interactions:
version: '2'
id: product_and_category
title: Product & Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9188,7 +9144,7 @@ interactions:
version: '2'
id: dashboard_plugin_1
title: dashboard_plugin_1
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9198,7 +9154,7 @@ interactions:
version: '2'
id: dashboard_plugin_2
title: dashboard_plugin_2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9247,7 +9203,7 @@ interactions:
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
id: amount_of_active_customers
title: '# of Active Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9256,7 +9212,7 @@ interactions:
maql: SELECT COUNT({attribute/order_id})
id: amount_of_orders
title: '# of Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9266,7 +9222,7 @@ interactions:
BY {attribute/customer_id}) > 10000 '
id: amount_of_top_customers
title: '# of Top Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9276,7 +9232,7 @@ interactions:
IN ("Returned", "Canceled"))
id: amount_of_valid_orders
title: '# of Valid Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9286,7 +9242,7 @@ interactions:
maql: SELECT SUM({fact/spend})
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9295,7 +9251,7 @@ interactions:
maql: SELECT SUM({fact/price}*{fact/quantity})
id: order_amount
title: Order Amount
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9304,7 +9260,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/total_revenue}
id: percent_revenue
title: '% Revenue'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9314,7 +9270,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_customers
title: '% Revenue from Top 10 Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9324,7 +9280,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_customers
title: '% Revenue from Top 10% Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9334,7 +9290,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_products
title: '% Revenue from Top 10% Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9344,7 +9300,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_products
title: '% Revenue from Top 10 Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9354,7 +9310,7 @@ interactions:
ALL OTHER)
id: percent_revenue_in_category
title: '% Revenue in Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9363,7 +9319,7 @@ interactions:
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})
id: percent_revenue_per_product
title: '% Revenue per Product'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9373,7 +9329,7 @@ interactions:
IN ("Returned", "Canceled"))
id: revenue
title: Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9383,7 +9339,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
id: revenue-clothing
title: Revenue (Clothing)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9393,7 +9349,7 @@ interactions:
"Electronics")
id: revenue-electronic
title: Revenue (Electronic)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9402,7 +9358,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
id: revenue-home
title: Revenue (Home)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9411,7 +9367,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
id: revenue-outdoor
title: Revenue (Outdoor)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9420,7 +9376,7 @@ interactions:
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
id: revenue_per_customer
title: Revenue per Customer
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9429,7 +9385,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/campaign_spend}
id: revenue_per_dollar_spent
title: Revenue per Dollar Spent
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9438,7 +9394,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
id: revenue_top_10
title: Revenue / Top 10
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9447,7 +9403,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
id: revenue_top_10_percent
title: Revenue / Top 10%
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9456,7 +9412,7 @@ interactions:
maql: SELECT {metric/revenue} BY ALL OTHER
id: total_revenue
title: Total Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9465,7 +9421,7 @@ interactions:
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
id: total_revenue-no_filters
title: Total Revenue (No Filters)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9530,7 +9486,7 @@ interactions:
visualizationUrl: local:treemap
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9606,7 +9562,7 @@ interactions:
visualizationUrl: local:combo2
id: customers_trend
title: Customers Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9685,7 +9641,7 @@ interactions:
visualizationUrl: local:table
id: percent_revenue_per_product_by_customer_and_category
title: '% Revenue per Product by Customer and Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9744,7 +9700,7 @@ interactions:
visualizationUrl: local:area
id: percentage_of_customers_by_region
title: Percentage of Customers by Region
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9801,7 +9757,7 @@ interactions:
visualizationUrl: local:treemap
id: product_breakdown
title: Product Breakdown
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9854,7 +9810,7 @@ interactions:
visualizationUrl: local:donut
id: product_categories_pie_chart
title: Product Categories Pie Chart
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9929,7 +9885,7 @@ interactions:
visualizationUrl: local:column
id: product_revenue_comparison-over_previous_period
title: Product Revenue Comparison (over previous period)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -9986,7 +9942,7 @@ interactions:
visualizationUrl: local:scatter
id: product_saleability
title: Product Saleability
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10085,7 +10041,7 @@ interactions:
visualizationUrl: local:table
id: revenue_and_quantity_by_product_and_category
title: Revenue and Quantity by Product and Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10141,7 +10097,7 @@ interactions:
visualizationUrl: local:line
id: revenue_by_category_trend
title: Revenue by Category Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10180,7 +10136,7 @@ interactions:
visualizationUrl: local:bar
id: revenue_by_product
title: Revenue by Product
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10236,7 +10192,7 @@ interactions:
visualizationUrl: local:scatter
id: revenue_per_usd_vs_spend_by_campaign
title: Revenue per $ vs Spend by Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10304,7 +10260,7 @@ interactions:
visualizationUrl: local:combo2
id: revenue_trend
title: Revenue Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10361,7 +10317,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_customers
title: Top 10 Customers
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10418,7 +10374,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_products
title: Top 10 Products
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10831,7 +10787,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -10874,7 +10830,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11024,7 +10980,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11036,7 +10992,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11046,7 +11002,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11097,7 +11053,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11106,7 +11062,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11116,7 +11072,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11126,7 +11082,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11136,7 +11092,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11145,7 +11101,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11154,7 +11110,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11164,7 +11120,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11174,7 +11130,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11184,7 +11140,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11194,7 +11150,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11204,7 +11160,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11214,7 +11170,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11224,7 +11180,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11235,7 +11191,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11245,7 +11201,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11255,7 +11211,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11265,7 +11221,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11274,7 +11230,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11283,7 +11239,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11292,7 +11248,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11301,7 +11257,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11310,7 +11266,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11319,7 +11275,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11384,7 +11340,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11460,7 +11416,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11539,7 +11495,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11598,7 +11554,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11655,7 +11611,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11708,7 +11664,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11783,7 +11739,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11840,7 +11796,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11939,7 +11895,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -11995,7 +11951,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12034,7 +11990,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12090,7 +12046,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12158,7 +12114,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12215,7 +12171,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12272,7 +12228,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -12912,7 +12868,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: c0d943ac82fbddead598563f19800100
+ traceId: 0c596765e7a1a0ee3510757ba97b9a45
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
@@ -13548,7 +13504,7 @@ interactions:
version: '2'
id: campaign
title: Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13591,7 +13547,7 @@ interactions:
version: '2'
id: dashboard_plugin
title: Dashboard plugin
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13741,7 +13697,7 @@ interactions:
version: '2'
id: product_and_category
title: Product & Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13754,7 +13710,7 @@ interactions:
version: '2'
id: dashboard_plugin_1
title: dashboard_plugin_1
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13764,7 +13720,7 @@ interactions:
version: '2'
id: dashboard_plugin_2
title: dashboard_plugin_2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13813,7 +13769,7 @@ interactions:
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
id: amount_of_active_customers
title: '# of Active Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13822,7 +13778,7 @@ interactions:
maql: SELECT COUNT({attribute/order_id})
id: amount_of_orders
title: '# of Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13832,7 +13788,7 @@ interactions:
BY {attribute/customer_id}) > 10000 '
id: amount_of_top_customers
title: '# of Top Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13842,7 +13798,7 @@ interactions:
IN ("Returned", "Canceled"))
id: amount_of_valid_orders
title: '# of Valid Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13852,7 +13808,7 @@ interactions:
maql: SELECT SUM({fact/spend})
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13861,7 +13817,7 @@ interactions:
maql: SELECT SUM({fact/price}*{fact/quantity})
id: order_amount
title: Order Amount
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13870,7 +13826,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/total_revenue}
id: percent_revenue
title: '% Revenue'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13880,7 +13836,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_customers
title: '% Revenue from Top 10 Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13890,7 +13846,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_customers
title: '% Revenue from Top 10% Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13900,7 +13856,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_products
title: '% Revenue from Top 10% Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13910,7 +13866,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_products
title: '% Revenue from Top 10 Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13920,7 +13876,7 @@ interactions:
ALL OTHER)
id: percent_revenue_in_category
title: '% Revenue in Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13929,7 +13885,7 @@ interactions:
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})
id: percent_revenue_per_product
title: '% Revenue per Product'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13939,7 +13895,7 @@ interactions:
IN ("Returned", "Canceled"))
id: revenue
title: Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13949,7 +13905,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
id: revenue-clothing
title: Revenue (Clothing)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13959,7 +13915,7 @@ interactions:
"Electronics")
id: revenue-electronic
title: Revenue (Electronic)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13968,7 +13924,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
id: revenue-home
title: Revenue (Home)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13977,7 +13933,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
id: revenue-outdoor
title: Revenue (Outdoor)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13986,7 +13942,7 @@ interactions:
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
id: revenue_per_customer
title: Revenue per Customer
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -13995,7 +13951,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/campaign_spend}
id: revenue_per_dollar_spent
title: Revenue per Dollar Spent
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14004,7 +13960,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
id: revenue_top_10
title: Revenue / Top 10
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14013,7 +13969,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
id: revenue_top_10_percent
title: Revenue / Top 10%
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14022,7 +13978,7 @@ interactions:
maql: SELECT {metric/revenue} BY ALL OTHER
id: total_revenue
title: Total Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14031,7 +13987,7 @@ interactions:
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
id: total_revenue-no_filters
title: Total Revenue (No Filters)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14096,7 +14052,7 @@ interactions:
visualizationUrl: local:treemap
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14172,7 +14128,7 @@ interactions:
visualizationUrl: local:combo2
id: customers_trend
title: Customers Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14251,7 +14207,7 @@ interactions:
visualizationUrl: local:table
id: percent_revenue_per_product_by_customer_and_category
title: '% Revenue per Product by Customer and Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14310,7 +14266,7 @@ interactions:
visualizationUrl: local:area
id: percentage_of_customers_by_region
title: Percentage of Customers by Region
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14367,7 +14323,7 @@ interactions:
visualizationUrl: local:treemap
id: product_breakdown
title: Product Breakdown
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14420,7 +14376,7 @@ interactions:
visualizationUrl: local:donut
id: product_categories_pie_chart
title: Product Categories Pie Chart
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14495,7 +14451,7 @@ interactions:
visualizationUrl: local:column
id: product_revenue_comparison-over_previous_period
title: Product Revenue Comparison (over previous period)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14552,7 +14508,7 @@ interactions:
visualizationUrl: local:scatter
id: product_saleability
title: Product Saleability
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14651,7 +14607,7 @@ interactions:
visualizationUrl: local:table
id: revenue_and_quantity_by_product_and_category
title: Revenue and Quantity by Product and Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14707,7 +14663,7 @@ interactions:
visualizationUrl: local:line
id: revenue_by_category_trend
title: Revenue by Category Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14746,7 +14702,7 @@ interactions:
visualizationUrl: local:bar
id: revenue_by_product
title: Revenue by Product
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14802,7 +14758,7 @@ interactions:
visualizationUrl: local:scatter
id: revenue_per_usd_vs_spend_by_campaign
title: Revenue per $ vs Spend by Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14870,7 +14826,7 @@ interactions:
visualizationUrl: local:combo2
id: revenue_trend
title: Revenue Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14927,7 +14883,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_customers
title: Top 10 Customers
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -14984,7 +14940,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_products
title: Top 10 Products
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml
index 7cb626038..14904c554 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml
@@ -107,31 +107,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: 004a46aa7a196c26bbe8f35d524dc304
+ traceId: f41e843d52459fbc6c2fd95dd8dcec0e
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml
index 074fbfb01..954d8fc73 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml
@@ -19,32 +19,21 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: &id001
- PLACEHOLDER
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: a4266b9a45ab4b037659e653ae3bc4e4
+ traceId: 53534ca64c975eabed68e35bf7310ddf
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml
index 6f8a43c3f..915632c9c 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml
@@ -138,7 +138,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -181,7 +181,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -332,7 +332,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -344,7 +344,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -354,7 +354,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -405,7 +405,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -414,7 +414,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -424,7 +424,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -434,7 +434,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -444,7 +444,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -453,7 +453,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -462,7 +462,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -472,7 +472,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -482,7 +482,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -492,7 +492,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -502,7 +502,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -512,7 +512,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY
{attribute/products.category}, ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -522,7 +522,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY
ALL {attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -532,7 +532,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -543,7 +543,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -553,7 +553,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -563,7 +563,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -573,7 +573,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -582,7 +582,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -591,7 +591,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -600,7 +600,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -609,7 +609,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -618,7 +618,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -627,7 +627,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -692,7 +692,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -768,7 +768,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -847,7 +847,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -906,7 +906,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -963,7 +963,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1016,7 +1016,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1091,7 +1091,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1148,7 +1148,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1247,7 +1247,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1303,7 +1303,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1342,7 +1342,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1398,7 +1398,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1466,7 +1466,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1523,7 +1523,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1580,7 +1580,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2164,7 +2164,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2207,7 +2207,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2358,7 +2358,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2370,7 +2370,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2380,7 +2380,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2431,7 +2431,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2440,7 +2440,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2450,7 +2450,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2460,7 +2460,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2470,7 +2470,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2479,7 +2479,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2488,7 +2488,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2498,7 +2498,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2508,7 +2508,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2518,7 +2518,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2528,7 +2528,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2538,7 +2538,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY
{attribute/products.category}, ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2548,7 +2548,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY
ALL {attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2558,7 +2558,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2569,7 +2569,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2579,7 +2579,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2589,7 +2589,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2599,7 +2599,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category}
IN ("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2608,7 +2608,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2617,7 +2617,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2626,7 +2626,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2635,7 +2635,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2644,7 +2644,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2653,7 +2653,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2718,7 +2718,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2794,7 +2794,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2873,7 +2873,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2932,7 +2932,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2989,7 +2989,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3042,7 +3042,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3117,7 +3117,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3174,7 +3174,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3273,7 +3273,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3329,7 +3329,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3368,7 +3368,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3424,7 +3424,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3492,7 +3492,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3549,7 +3549,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3606,7 +3606,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml
index 8a81a3194..faec28805 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml
@@ -139,7 +139,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -182,7 +182,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -332,7 +332,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -344,7 +344,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -354,7 +354,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -405,7 +405,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -414,7 +414,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -424,7 +424,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -434,7 +434,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -444,7 +444,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -453,7 +453,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -462,7 +462,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -472,7 +472,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -482,7 +482,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -492,7 +492,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -502,7 +502,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -512,7 +512,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -522,7 +522,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -532,7 +532,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -543,7 +543,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -553,7 +553,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -563,7 +563,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -573,7 +573,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -582,7 +582,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -591,7 +591,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -600,7 +600,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -609,7 +609,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -618,7 +618,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -627,7 +627,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -692,7 +692,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -768,7 +768,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -847,7 +847,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -906,7 +906,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -963,7 +963,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1016,7 +1016,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1091,7 +1091,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1148,7 +1148,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1247,7 +1247,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1303,7 +1303,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1342,7 +1342,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1398,7 +1398,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1466,7 +1466,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1523,7 +1523,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -1580,7 +1580,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2189,7 +2189,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2232,7 +2232,7 @@ interactions:
type: dashboardPlugin
version: '2'
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2382,7 +2382,7 @@ interactions:
drills: []
properties: {}
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2394,7 +2394,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2404,7 +2404,7 @@ interactions:
- content:
url: https://www.example.com
version: '2'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2455,7 +2455,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2464,7 +2464,7 @@ interactions:
- content:
format: '#,##0'
maql: SELECT COUNT({attribute/order_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2474,7 +2474,7 @@ interactions:
format: '#,##0'
maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT
{metric/revenue} BY {attribute/customer_id}) > 10000 '
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2484,7 +2484,7 @@ interactions:
format: '#,##0.00'
maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2494,7 +2494,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/spend})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2503,7 +2503,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT SUM({fact/price}*{fact/quantity})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2512,7 +2512,7 @@ interactions:
- content:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / {metric/total_revenue}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2522,7 +2522,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2532,7 +2532,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2542,7 +2542,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2552,7 +2552,7 @@ interactions:
format: '#,##0.0%'
maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2562,7 +2562,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category},
ALL OTHER)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2572,7 +2572,7 @@ interactions:
format: '#,##0.0%'
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL
{attribute/product_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2582,7 +2582,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status}
IN ("Returned", "Canceled"))
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2593,7 +2593,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Clothing")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2603,7 +2603,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
( "Electronics")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2613,7 +2613,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Home")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2623,7 +2623,7 @@ interactions:
format: $#,##0
maql: SELECT {metric/revenue} WHERE {label/products.category} IN
("Outdoor")
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2632,7 +2632,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2641,7 +2641,7 @@ interactions:
- content:
format: $#,##0.0
maql: SELECT {metric/revenue} / {metric/campaign_spend}
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2650,7 +2650,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2659,7 +2659,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2668,7 +2668,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/revenue} BY ALL OTHER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2677,7 +2677,7 @@ interactions:
- content:
format: $#,##0
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2742,7 +2742,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2818,7 +2818,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2897,7 +2897,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -2956,7 +2956,7 @@ interactions:
stackMeasuresToPercent: true
version: '2'
visualizationUrl: local:area
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3013,7 +3013,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:treemap
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3066,7 +3066,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:donut
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3141,7 +3141,7 @@ interactions:
visible: false
version: '2'
visualizationUrl: local:column
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3198,7 +3198,7 @@ interactions:
enabled: true
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3297,7 +3297,7 @@ interactions:
direction: asc
version: '2'
visualizationUrl: local:table
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3353,7 +3353,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:line
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3392,7 +3392,7 @@ interactions:
properties: {}
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3448,7 +3448,7 @@ interactions:
min: '0'
version: '2'
visualizationUrl: local:scatter
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3516,7 +3516,7 @@ interactions:
rotation: auto
version: '2'
visualizationUrl: local:combo2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3573,7 +3573,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -3630,7 +3630,7 @@ interactions:
position: bottom
version: '2'
visualizationUrl: local:bar
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4019,31 +4019,20 @@ interactions:
code: 404
message: Not Found
headers:
- Cache-Control:
- - max-age=5, private
Content-Length:
- '172'
Content-Type:
- - application/problem+json
+ - application/json
DATE: *id001
- Referrer-Policy:
- - no-referrer
- Vary:
- - Origin
- - Access-Control-Request-Method
- - Access-Control-Request-Headers
X-Content-Type-Options:
- nosniff
- X-GDC-TRACE-ID: *id001
- X-Xss-Protection:
- - '0'
body:
string:
detail: The requested endpoint does not exist or you do not have permission
to access it.
status: 404
title: Not Found
- traceId: c9b8eaee39b82599cfa2765958882543
+ traceId: 6cbf44a67a3c1838eb72526254e4e595
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces
@@ -4665,7 +4654,7 @@ interactions:
version: '2'
id: campaign
title: Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4708,7 +4697,7 @@ interactions:
version: '2'
id: dashboard_plugin
title: Dashboard plugin
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4858,7 +4847,7 @@ interactions:
version: '2'
id: product_and_category
title: Product & Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4871,7 +4860,7 @@ interactions:
version: '2'
id: dashboard_plugin_1
title: dashboard_plugin_1
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4881,7 +4870,7 @@ interactions:
version: '2'
id: dashboard_plugin_2
title: dashboard_plugin_2
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4930,7 +4919,7 @@ interactions:
maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id})
id: amount_of_active_customers
title: '# of Active Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4939,7 +4928,7 @@ interactions:
maql: SELECT COUNT({attribute/order_id})
id: amount_of_orders
title: '# of Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4949,7 +4938,7 @@ interactions:
BY {attribute/customer_id}) > 10000 '
id: amount_of_top_customers
title: '# of Top Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4959,7 +4948,7 @@ interactions:
IN ("Returned", "Canceled"))
id: amount_of_valid_orders
title: '# of Valid Orders'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4969,7 +4958,7 @@ interactions:
maql: SELECT SUM({fact/spend})
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4978,7 +4967,7 @@ interactions:
maql: SELECT SUM({fact/price}*{fact/quantity})
id: order_amount
title: Order Amount
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4987,7 +4976,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/total_revenue}
id: percent_revenue
title: '% Revenue'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -4997,7 +4986,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_customers
title: '% Revenue from Top 10 Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5007,7 +4996,7 @@ interactions:
\ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_customers
title: '% Revenue from Top 10% Customers'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5017,7 +5006,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_percent_products
title: '% Revenue from Top 10% Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5027,7 +5016,7 @@ interactions:
\ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}"
id: percent_revenue_from_top_10_products
title: '% Revenue from Top 10 Products'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5037,7 +5026,7 @@ interactions:
ALL OTHER)
id: percent_revenue_in_category
title: '% Revenue in Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5046,7 +5035,7 @@ interactions:
maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})
id: percent_revenue_per_product
title: '% Revenue per Product'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5056,7 +5045,7 @@ interactions:
IN ("Returned", "Canceled"))
id: revenue
title: Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5066,7 +5055,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing")
id: revenue-clothing
title: Revenue (Clothing)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5076,7 +5065,7 @@ interactions:
"Electronics")
id: revenue-electronic
title: Revenue (Electronic)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5085,7 +5074,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home")
id: revenue-home
title: Revenue (Home)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5094,7 +5083,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor")
id: revenue-outdoor
title: Revenue (Outdoor)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5103,7 +5092,7 @@ interactions:
maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})
id: revenue_per_customer
title: Revenue per Customer
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5112,7 +5101,7 @@ interactions:
maql: SELECT {metric/revenue} / {metric/campaign_spend}
id: revenue_per_dollar_spent
title: Revenue per Dollar Spent
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5121,7 +5110,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})
id: revenue_top_10
title: Revenue / Top 10
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5130,7 +5119,7 @@ interactions:
maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})
id: revenue_top_10_percent
title: Revenue / Top 10%
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5139,7 +5128,7 @@ interactions:
maql: SELECT {metric/revenue} BY ALL OTHER
id: total_revenue
title: Total Revenue
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5148,7 +5137,7 @@ interactions:
maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER
id: total_revenue-no_filters
title: Total Revenue (No Filters)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5213,7 +5202,7 @@ interactions:
visualizationUrl: local:treemap
id: campaign_spend
title: Campaign Spend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5289,7 +5278,7 @@ interactions:
visualizationUrl: local:combo2
id: customers_trend
title: Customers Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5368,7 +5357,7 @@ interactions:
visualizationUrl: local:table
id: percent_revenue_per_product_by_customer_and_category
title: '% Revenue per Product by Customer and Category'
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5427,7 +5416,7 @@ interactions:
visualizationUrl: local:area
id: percentage_of_customers_by_region
title: Percentage of Customers by Region
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5484,7 +5473,7 @@ interactions:
visualizationUrl: local:treemap
id: product_breakdown
title: Product Breakdown
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5537,7 +5526,7 @@ interactions:
visualizationUrl: local:donut
id: product_categories_pie_chart
title: Product Categories Pie Chart
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5612,7 +5601,7 @@ interactions:
visualizationUrl: local:column
id: product_revenue_comparison-over_previous_period
title: Product Revenue Comparison (over previous period)
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5669,7 +5658,7 @@ interactions:
visualizationUrl: local:scatter
id: product_saleability
title: Product Saleability
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5768,7 +5757,7 @@ interactions:
visualizationUrl: local:table
id: revenue_and_quantity_by_product_and_category
title: Revenue and Quantity by Product and Category
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5824,7 +5813,7 @@ interactions:
visualizationUrl: local:line
id: revenue_by_category_trend
title: Revenue by Category Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5863,7 +5852,7 @@ interactions:
visualizationUrl: local:bar
id: revenue_by_product
title: Revenue by Product
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5919,7 +5908,7 @@ interactions:
visualizationUrl: local:scatter
id: revenue_per_usd_vs_spend_by_campaign
title: Revenue per $ vs Spend by Campaign
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -5987,7 +5976,7 @@ interactions:
visualizationUrl: local:combo2
id: revenue_trend
title: Revenue Trend
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6044,7 +6033,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_customers
title: Top 10 Customers
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6101,7 +6090,7 @@ interactions:
visualizationUrl: local:bar
id: top_10_products
title: Top 10 Products
- createdAt: 2026-02-16 15:25
+ createdAt: 2026-02-26 14:23
createdBy:
id: admin
type: user
@@ -6263,7 +6252,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 0c5342c4ac2b27be526c7167caa8a06e
+ traceId: e70e0f1560f5f1ebc2acd245491cf4a0
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings
@@ -6374,7 +6363,7 @@ interactions:
to access it.
status: 404
title: Not Found
- traceId: 97c69331b0fcd5a0bbe1efca101bcd8f
+ traceId: 61810ec0b6a95fd85336d2a746a2fa1c
- request:
method: POST
uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings
diff --git a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml
index ccc2239e8..4faee2665 100644
--- a/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml
+++ b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml
@@ -105,13 +105,10 @@ interactions:
id="attribute.campaign_channels.category.title">CategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -144,24 +153,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -176,28 +176,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -209,9 +209,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategoryCampaign
- channelsTypeTypeCampaign channelsCampaign
- idCampaign
- idCampaignsCampaign idCampaign idCampaignsCampaign
nameCampaign
nameCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -144,24 +153,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -176,28 +176,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -209,9 +209,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of OrdersCategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateOrder
idOrder
idOrder
@@ -561,24 +570,15 @@ interactions:
id="attribute.products.category">CategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersCustomersTypeTypeCampaign channelsCampaign
channelsCampaign
channelsCampaign
@@ -593,28 +593,28 @@ interactions:
id="dataset.customers">CustomersCustomersCustomersDateDateOrder
linesOrder
linesOrder
linesProductsProductsProductsDateDateProductsBudgetBudgetCampaign channelsSpendSpendCampaign channelsPricePriceOrder linesQuantityQuantityOrder linesOrder linesSpendSpendCampaign channelsBudget AggCampaign channels per
@@ -626,9 +626,6 @@ interactions:
id="label.campaign_channels.category.title">CategoryCategoryCampaign channelsTypeTypeCampaign channelsCampaign
idCampaign
idCampaignsCustomer
nameCustomer
nameCustomersRegionRegionCustomersStateStateCustomersDate
+ - DateDateDateDate
+ - Month/YearMonth
+ and Year (12/2020)DateDate
+ - Quarter/YearQuarter
+ and Year (Q1/2020)DateDate
+ - Week/YearWeek
+ and Year (W52/2020)DateDate
+ - YearYearDateLocationLocationCustomersCategoryCategoryProductsDate
- - DateDateDateDate
- - Week/YearWeek
- and Year (W52/2020)DateDate
- - Month/YearMonth
- and Year (12/2020)DateDate
- - Quarter/YearQuarter
- and Year (Q1/2020)DateDate
- - YearYearDateRegionRegionCustomersStateStateCustomersTypeTypeCampaign channels#
of Active Customers# of Orders /tmp/exports). Fix with: chmod -R 777 tests/export/exports/
import os
from pathlib import Path
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml
index 614103870..10113baeb 100644
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml
+++ b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml
@@ -68,7 +68,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - eaffc8a3-19d4-4023-b077-ae41849f5573
+ - f6586eb9-0798-4623-bddd-e72a70c02302
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -100,10 +100,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: a2d8464d407287fd60ff727efb9ca723313945cf:ea9fba1292fd7ba6b788ca0954035d1d611c306e013fc3da604b770acbe09075
+ executionResult: 5408f1f655c4875c281f1c3e6e71d40bb3ee0477:7b04404d9ea1df6fc812822821541706442f5cd24dff799e5ba0fc2cc1d4bcfc
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a2d8464d407287fd60ff727efb9ca723313945cf%3Aea9fba1292fd7ba6b788ca0954035d1d611c306e013fc3da604b770acbe09075?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5408f1f655c4875c281f1c3e6e71d40bb3ee0477%3A7b04404d9ea1df6fc812822821541706442f5cd24dff799e5ba0fc2cc1d4bcfc?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml
index 799c95426..dcb245b0f 100644
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml
+++ b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml
@@ -75,7 +75,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - f17594c2-da12-45ac-be1c-aacfd7cbab9a
+ - 5d44bc61-7fcb-4db7-a0fe-ae153ca48f76
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -107,10 +107,10 @@ interactions:
name: Order Amount
localIdentifier: dim_1
links:
- executionResult: 17b6b613f646288f55cc5eaa5eec93ebeec5d461:56db1c5b964178497c06a420ae7437d0c5ecfe36fc83b7a121de2627c54c8d44
+ executionResult: e2985459cb131f7c7d356b4094b5665e0dd68310:3a5aa5b3fc57c1f72de41866b00d2cc1add75bc752e001b6dc78d1c74a55a901
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/17b6b613f646288f55cc5eaa5eec93ebeec5d461%3A56db1c5b964178497c06a420ae7437d0c5ecfe36fc83b7a121de2627c54c8d44?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e2985459cb131f7c7d356b4094b5665e0dd68310%3A3a5aa5b3fc57c1f72de41866b00d2cc1add75bc752e001b6dc78d1c74a55a901?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml
index 5ff0c5c5c..d7528e2c9 100644
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml
+++ b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml
@@ -69,7 +69,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - b9709cbc-31cb-44ae-b28e-2afe30533527
+ - 7956b8b4-e13c-4e69-b4e0-797a1b53f200
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -103,10 +103,10 @@ interactions:
- localIdentifier: metric1
localIdentifier: dim_1
links:
- executionResult: e1399b10251cc48e94d47462743cd4f118e38c90:589f391bda047d0a1dc865c89b63cfed5f00a744330cf8c9b529cc8e9e7448da
+ executionResult: 91be15b027fa02f3119d9968d8820a1170609db3:716c66898addd719ebe544fd4202ce2548cc58249a7b9dd58975bf1362609525
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e1399b10251cc48e94d47462743cd4f118e38c90%3A589f391bda047d0a1dc865c89b63cfed5f00a744330cf8c9b529cc8e9e7448da?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/91be15b027fa02f3119d9968d8820a1170609db3%3A716c66898addd719ebe544fd4202ce2548cc58249a7b9dd58975bf1362609525?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
@@ -447,7 +447,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - f3d57fa0-ec0a-4d13-8a85-5588eca8007b
+ - 46323b5f-3f34-437a-bbd3-dc1875e9f410
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -481,10 +481,10 @@ interactions:
- localIdentifier: metric1
localIdentifier: dim_1
links:
- executionResult: 63167a5d97f5af0631a40023783f578442f9be73:736e93bf4015802d8509a9ea02e26cf6c80fe136f259497cbebb0440bb56c3bc
+ executionResult: b2f5e5bf97c867c22ae31ca478470adcc129c906:640997b31b142e80bea09ef6193940820a4ada24dbbe02005cf6911eed5c9de2
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/63167a5d97f5af0631a40023783f578442f9be73%3A736e93bf4015802d8509a9ea02e26cf6c80fe136f259497cbebb0440bb56c3bc?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b2f5e5bf97c867c22ae31ca478470adcc129c906%3A640997b31b142e80bea09ef6193940820a4ada24dbbe02005cf6911eed5c9de2?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
@@ -821,7 +821,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - ee021b3e-488b-4390-a24f-fbf719fb9f1b
+ - 99abd273-f953-4a94-a602-f4d2dd293fb5
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -855,10 +855,10 @@ interactions:
- localIdentifier: metric1
localIdentifier: dim_1
links:
- executionResult: 249df0aa9b4d81932bdd08da0e7c16d19ccb3ca2:60de10e7c49f01e98954bfc3bef2c974d3b82f878f1337ca76fd00ffb4ec3a84
+ executionResult: 39858c7efb40851b8f50bc9a3012c03c348d3a0a:c881753c77047679f9da7f39ea7b75f2a473178d0ee998c265cf0028dc5dd9ac
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/249df0aa9b4d81932bdd08da0e7c16d19ccb3ca2%3A60de10e7c49f01e98954bfc3bef2c974d3b82f878f1337ca76fd00ffb4ec3a84?offset=0%2C0&limit=512%2C256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/39858c7efb40851b8f50bc9a3012c03c348d3a0a%3Ac881753c77047679f9da7f39ea7b75f2a473178d0ee998c265cf0028dc5dd9ac?offset=0%2C0&limit=512%2C256
body: null
headers:
Accept:
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml
index 549dc30be..5c88b9dda 100644
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml
+++ b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml
@@ -56,7 +56,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - ac83933a-4b5f-4702-ae7a-bd3242051096
+ - 14358f29-e283-4119-a3d9-566d812d2b6f
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -82,10 +82,10 @@ interactions:
valueType: TEXT
localIdentifier: dim_0
links:
- executionResult: d1e3f057b6337dc974d1e6ffb5625fe678f191d4:f61992e426737f54bd3bcfeedbb28cbdfe27488edd6a2c3198d6f691403ad33d
+ executionResult: fc08106481e859ba38823a0d1fce0f2841ee96b1:4dbe3689160c97cb36b7a28309cae6b279e30d8eddb03c17b326d6941effcd8e
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d1e3f057b6337dc974d1e6ffb5625fe678f191d4%3Af61992e426737f54bd3bcfeedbb28cbdfe27488edd6a2c3198d6f691403ad33d?offset=0&limit=512
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/fc08106481e859ba38823a0d1fce0f2841ee96b1%3A4dbe3689160c97cb36b7a28309cae6b279e30d8eddb03c17b326d6941effcd8e?offset=0&limit=512
body: null
headers:
Accept:
diff --git a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml
index 98c13ec4b..68a9b7d52 100644
--- a/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml
+++ b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml
@@ -60,7 +60,7 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Gdc-Cancel-Token:
- - 29a6dbb7-b194-4349-8bcb-fd04e015c49a
+ - b5bca899-13f2-4bc3-a895-238fcd14786d
X-GDC-TRACE-ID: *id001
X-Xss-Protection:
- '0'
@@ -75,10 +75,10 @@ interactions:
name: Order Amount
localIdentifier: dim_0
links:
- executionResult: b31a6ecac937d8ff3984dd0be3e74740d0bb979b:ecc634f8b2815af4a9632add5e8fa7ed5a5b2edb78e08ae437d6039860ad2cb7
+ executionResult: 992af09d979e4fe9eb8da5a84b06c74e498c846d:b76292e2bc7789ad2d66956c84fbecaa20596d78cc3dbd8cf94605ee186c466c
- request:
method: GET
- uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b31a6ecac937d8ff3984dd0be3e74740d0bb979b%3Aecc634f8b2815af4a9632add5e8fa7ed5a5b2edb78e08ae437d6039860ad2cb7?offset=0&limit=256
+ uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/992af09d979e4fe9eb8da5a84b06c74e498c846d%3Ab76292e2bc7789ad2d66956c84fbecaa20596d78cc3dbd8cf94605ee186c466c?offset=0&limit=256
body: null
headers:
Accept:
diff --git a/schemas/gooddata-afm-client.json b/schemas/gooddata-afm-client.json
index 31dab5da5..f7d41eb58 100644
--- a/schemas/gooddata-afm-client.json
+++ b/schemas/gooddata-afm-client.json
@@ -25,6 +25,13 @@
},
"type": "array"
},
+ "measureDefinitionOverrides": {
+ "description": "(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.",
+ "items": {
+ "$ref": "#/components/schemas/MetricDefinitionOverride"
+ },
+ "type": "array"
+ },
"measures": {
"description": "Metrics to be computed.",
"items": {
@@ -76,9 +83,9 @@
}
},
"required": [
+ "dataset",
"from",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -598,6 +605,24 @@
],
"type": "object"
},
+ "AnomalyDetectionConfig": {
+ "description": "Anomaly detection configuration.",
+ "properties": {
+ "sensitivity": {
+ "description": "Outlier sensitivity level.",
+ "enum": [
+ "LOW",
+ "MEDIUM",
+ "HIGH"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "sensitivity"
+ ],
+ "type": "object"
+ },
"AnomalyDetectionRequest": {
"properties": {
"sensitivity": {
@@ -930,6 +955,146 @@
],
"type": "object"
},
+ "AwsBedrockAccessKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "accessKeyId": {
+ "description": "AWS Access Key ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "secretAccessKey": {
+ "description": "AWS Secret Access Key.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "sessionToken": {
+ "description": "AWS Session Token (for temporary credentials).",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "ACCESS_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AwsBedrockProviderConfig": {
+ "description": "Configuration for AWS Bedrock provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/BedrockProviderAuth"
+ },
+ "region": {
+ "description": "AWS region for Bedrock.",
+ "example": "us-east-1",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AWS_BEDROCK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "region",
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "Azure API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AzureFoundryApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderConfig": {
+ "description": "Configuration for Azure Foundry provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/AzureFoundryProviderAuth"
+ },
+ "endpoint": {
+ "description": "Azure AI inference endpoint URL.",
+ "example": "https://my-resource.services.ai.azure.com/models",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AZURE_FOUNDRY"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "endpoint",
+ "type"
+ ],
+ "type": "object"
+ },
+ "BedrockProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockAccessKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"BoundedFilter": {
"description": "Bounding filter for this relative date filter. This can be used to limit the range of the relative date filter to a specific date range.",
"properties": {
@@ -1427,6 +1592,26 @@
],
"type": "object"
},
+ "ClusteringConfig": {
+ "description": "Clustering configuration.",
+ "properties": {
+ "numberOfClusters": {
+ "description": "Number of clusters to create",
+ "format": "int32",
+ "type": "integer"
+ },
+ "threshold": {
+ "description": "Clustering algorithm threshold",
+ "format": "float",
+ "type": "number"
+ }
+ },
+ "required": [
+ "numberOfClusters",
+ "threshold"
+ ],
+ "type": "object"
+ },
"ClusteringRequest": {
"properties": {
"numberOfClusters": {
@@ -1580,9 +1765,9 @@
}
},
"required": [
+ "measure",
"operator",
- "value",
- "measure"
+ "value"
],
"type": "object"
}
@@ -1638,9 +1823,67 @@
],
"type": "object"
},
+ "CreateKnowledgeDocumentRequestDto": {
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageBoundaries": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "content",
+ "filename"
+ ],
+ "type": "object"
+ },
+ "CreateKnowledgeDocumentResponseDto": {
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "filename",
+ "message",
+ "numChunks",
+ "success"
+ ],
+ "type": "object"
+ },
"CreatedVisualization": {
"description": "List of created visualization objects",
"properties": {
+ "config": {
+ "$ref": "#/components/schemas/VisualizationConfig"
+ },
"dimensionality": {
"description": "List of attributes representing the dimensionality of the new visualization",
"items": {
@@ -1707,7 +1950,8 @@
"BAR",
"LINE",
"PIE",
- "COLUMN"
+ "COLUMN",
+ "SCATTER"
],
"example": "TABLE",
"type": "string"
@@ -1863,6 +2107,9 @@
},
{
"$ref": "#/components/schemas/RelativeDateFilter"
+ },
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
}
],
"type": "object"
@@ -1921,6 +2168,21 @@
],
"type": "object"
},
+ "DeleteKnowledgeDocumentResponseDto": {
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "message",
+ "success"
+ ],
+ "type": "object"
+ },
"DependsOn": {
"allOf": [
{
@@ -2523,10 +2785,10 @@
"$ref": "#/components/schemas/AbsoluteDateFilter"
},
{
- "$ref": "#/components/schemas/AllTimeDateFilter"
+ "$ref": "#/components/schemas/RelativeDateFilter"
},
{
- "$ref": "#/components/schemas/RelativeDateFilter"
+ "$ref": "#/components/schemas/AllTimeDateFilter"
},
{
"$ref": "#/components/schemas/NegativeAttributeFilter"
@@ -2552,6 +2814,31 @@
],
"type": "object"
},
+ "ForecastConfig": {
+ "description": "Forecast configuration.",
+ "properties": {
+ "confidenceLevel": {
+ "description": "Confidence interval boundary value.",
+ "format": "float",
+ "type": "number"
+ },
+ "forecastPeriod": {
+ "description": "Number of future periods that should be forecasted",
+ "format": "int32",
+ "type": "integer"
+ },
+ "seasonal": {
+ "description": "Whether the input data is seasonal",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "confidenceLevel",
+ "forecastPeriod",
+ "seasonal"
+ ],
+ "type": "object"
+ },
"ForecastRequest": {
"properties": {
"confidenceLevel": {
@@ -2647,6 +2934,80 @@
],
"type": "object"
},
+ "GenerateDescriptionRequest": {
+ "properties": {
+ "objectId": {
+ "description": "Identifier of the object to describe",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute",
+ "enum": [
+ "Visualization",
+ "Dashboard",
+ "Metric",
+ "Fact",
+ "Attribute"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId",
+ "objectType"
+ ],
+ "type": "object"
+ },
+ "GenerateDescriptionResponse": {
+ "properties": {
+ "description": {
+ "description": "Generated description of the requested object",
+ "type": "string"
+ },
+ "note": {
+ "description": "Additional note with details in case generation was not performed",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GenerateTitleRequest": {
+ "properties": {
+ "objectId": {
+ "description": "Identifier of the object to title",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the object to title. Matches chat-search object types.",
+ "enum": [
+ "Visualization",
+ "Dashboard",
+ "Metric",
+ "Fact",
+ "Attribute"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId",
+ "objectType"
+ ],
+ "type": "object"
+ },
+ "GenerateTitleResponse": {
+ "properties": {
+ "note": {
+ "description": "Additional note with details in case generation was not performed",
+ "type": "string"
+ },
+ "title": {
+ "description": "Generated title of the requested object",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"GeoAreaConfig": {
"description": "Configuration specific to geo area labels.",
"properties": {
@@ -2697,6 +3058,7 @@
"SYNCING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"NOT_FOUND",
"DISABLED"
],
@@ -2777,6 +3139,11 @@
],
"type": "object"
},
+ "JsonNode": {
+ "description": "The payload to pass to the command",
+ "nullable": true,
+ "type": "object"
+ },
"KeyDriversDimension": {
"properties": {
"attribute": {
@@ -2895,11 +3262,215 @@
],
"type": "object"
},
- "MatchAttributeFilter": {
- "description": "Filter via label with given match type and literal value.",
+ "KnowledgeDocumentMetadataDto": {
"properties": {
- "matchAttributeFilter": {
- "properties": {
+ "createdAt": {
+ "type": "string"
+ },
+ "createdBy": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "isDisabled": {
+ "type": "boolean"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updatedAt": {
+ "type": "string"
+ },
+ "updatedBy": {
+ "type": "string"
+ },
+ "workspaceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "createdAt",
+ "createdBy",
+ "filename",
+ "numChunks",
+ "scopes",
+ "updatedAt",
+ "updatedBy"
+ ],
+ "type": "object"
+ },
+ "KnowledgeSearchResultDto": {
+ "properties": {
+ "chunkIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageNumbers": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "score": {
+ "format": "float",
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ },
+ "totalChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workspaceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "chunkIndex",
+ "content",
+ "filename",
+ "pageNumbers",
+ "scopes",
+ "score",
+ "totalChunks"
+ ],
+ "type": "object"
+ },
+ "ListDatabaseInstancesResponse": {
+ "description": "Paged response for listing AI Lake database instances",
+ "properties": {
+ "databases": {
+ "description": "List of database instances",
+ "items": {
+ "$ref": "#/components/schemas/DatabaseInstance"
+ },
+ "type": "array"
+ },
+ "totalCount": {
+ "description": "Total count of items (only set when metaInclude=page)",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "databases"
+ ],
+ "type": "object"
+ },
+ "ListKnowledgeDocumentsResponseDto": {
+ "properties": {
+ "documents": {
+ "items": {
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "type": "string"
+ },
+ "totalCount": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "documents"
+ ],
+ "type": "object"
+ },
+ "ListServicesResponse": {
+ "description": "Paged response for listing AI Lake services",
+ "properties": {
+ "services": {
+ "description": "List of services",
+ "items": {
+ "$ref": "#/components/schemas/ServiceInfo"
+ },
+ "type": "array"
+ },
+ "totalCount": {
+ "description": "Total count of items (only set when metaInclude=page)",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "services"
+ ],
+ "type": "object"
+ },
+ "LlmModel": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "LlmProviderConfig": {
+ "description": "Provider configuration to test.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ },
+ "MatchAttributeFilter": {
+ "description": "Filter via label with given match type and literal value.",
+ "properties": {
+ "matchAttributeFilter": {
+ "properties": {
"applyOnResult": {
"type": "boolean"
},
@@ -2935,9 +3506,9 @@
}
},
"required": [
+ "label",
"literal",
- "matchType",
- "label"
+ "matchType"
],
"type": "object"
}
@@ -3154,6 +3725,22 @@
],
"type": "object"
},
+ "MetricDefinitionOverride": {
+ "description": "(EXPERIMENTAL) Override for a catalog metric definition.",
+ "properties": {
+ "definition": {
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
+ },
+ "item": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
+ }
+ },
+ "required": [
+ "definition",
+ "item"
+ ],
+ "type": "object"
+ },
"MetricValueChange": {
"description": "Individual change analysis data item",
"properties": {
@@ -3225,6 +3812,29 @@
],
"type": "object"
},
+ "ModelTestResult": {
+ "description": "Per-model test results.",
+ "properties": {
+ "message": {
+ "description": "Message about the model test result.",
+ "type": "string"
+ },
+ "modelId": {
+ "description": "The model ID that was tested.",
+ "type": "string"
+ },
+ "successful": {
+ "description": "Whether the model test was successful.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "message",
+ "modelId",
+ "successful"
+ ],
+ "type": "object"
+ },
"NegativeAttributeFilter": {
"description": "Filter able to limit element values by label and related selected negated elements.",
"properties": {
@@ -3244,8 +3854,8 @@
}
},
"required": [
- "notIn",
- "label"
+ "label",
+ "notIn"
],
"type": "object"
}
@@ -3255,6 +3865,75 @@
],
"type": "object"
},
+ "OpenAIProviderConfig": {
+ "description": "Configuration for OpenAI provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/OpenAiProviderAuth"
+ },
+ "baseUrl": {
+ "default": "https://api.openai.com",
+ "description": "Custom base URL for OpenAI API.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "organization": {
+ "description": "OpenAI organization ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "OPENAI"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "OpenAI API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/OpenAiApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"Operation": {
"description": "Represents a Long-Running Operation: a process that takes some time to complete.",
"discriminator": {
@@ -3271,10 +3950,11 @@
"type": "string"
},
"kind": {
- "description": "Type of the long-running operation. \n* `provision-database` — Provisioning of an AI Lake database. \n* `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.\n",
+ "description": "Type of the long-running operation.\n* `provision-database` — Provisioning of an AI Lake database.\n* `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.\n* `run-service-command` — Running a command in a particular AI Lake service.\n",
"enum": [
"provision-database",
- "deprovision-database"
+ "deprovision-database",
+ "run-service-command"
],
"type": "string"
},
@@ -3461,6 +4141,23 @@
],
"type": "object"
},
+ "PatchKnowledgeDocumentRequestDto": {
+ "properties": {
+ "isDisabled": {
+ "type": "boolean"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"PendingOperation": {
"allOf": [
{
@@ -3729,6 +4426,7 @@
"SYNCING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"NOT_FOUND",
"DISABLED"
],
@@ -3820,9 +4518,9 @@
},
"required": [
"from",
+ "measure",
"operator",
- "to",
- "measure"
+ "to"
],
"type": "object"
}
@@ -3993,10 +4691,10 @@
}
},
"required": [
+ "dataset",
"from",
"granularity",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -4162,6 +4860,25 @@
],
"type": "object"
},
+ "RunServiceCommandRequest": {
+ "description": "Request to run an AI Lake Service Command",
+ "properties": {
+ "context": {
+ "additionalProperties": {
+ "description": "The context to pass to the command",
+ "nullable": true,
+ "type": "string"
+ },
+ "description": "The context to pass to the command",
+ "nullable": true,
+ "type": "object"
+ },
+ "payload": {
+ "$ref": "#/components/schemas/JsonNode"
+ }
+ },
+ "type": "object"
+ },
"SavedVisualization": {
"description": "Created and saved visualization IDs.",
"properties": {
@@ -4180,13 +4897,31 @@
],
"type": "object"
},
- "SearchRelationshipObject": {
+ "SearchKnowledgeResponseDto": {
"properties": {
- "sourceObjectId": {
- "description": "Source object ID.",
- "type": "string"
- },
- "sourceObjectTitle": {
+ "results": {
+ "items": {
+ "$ref": "#/components/schemas/KnowledgeSearchResultDto"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/components/schemas/SearchStatisticsDto"
+ }
+ },
+ "required": [
+ "results",
+ "statistics"
+ ],
+ "type": "object"
+ },
+ "SearchRelationshipObject": {
+ "properties": {
+ "sourceObjectId": {
+ "description": "Source object ID.",
+ "type": "string"
+ },
+ "sourceObjectTitle": {
"description": "Source object title.",
"type": "string"
},
@@ -4417,9 +5152,44 @@
],
"type": "object"
},
+ "SearchStatisticsDto": {
+ "properties": {
+ "averageSimilarityScore": {
+ "format": "float",
+ "type": "number"
+ },
+ "totalResults": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "averageSimilarityScore",
+ "totalResults"
+ ],
+ "type": "object"
+ },
"ServerSentEventChatResult": {
"type": "object"
},
+ "ServiceInfo": {
+ "description": "Non-sensitive metadata for an AI Lake pipeline",
+ "properties": {
+ "name": {
+ "description": "Human-readable name of the service",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "Internal identifier for the service configuration (UUID)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "serviceId"
+ ],
+ "type": "object"
+ },
"SimpleMeasureDefinition": {
"description": "Metric defined by referencing a MAQL metric or an LDM fact object with aggregation.",
"properties": {
@@ -4634,6 +5404,59 @@
],
"type": "object"
},
+ "TestLlmProviderDefinitionRequest": {
+ "properties": {
+ "models": {
+ "description": "Models to test.",
+ "items": {
+ "$ref": "#/components/schemas/LlmModel"
+ },
+ "type": "array"
+ },
+ "providerConfig": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "TestLlmProviderResponse": {
+ "properties": {
+ "modelResults": {
+ "description": "Per-model test results.",
+ "items": {
+ "$ref": "#/components/schemas/ModelTestResult"
+ },
+ "type": "array"
+ },
+ "providerMessage": {
+ "description": "Message about the provider connectivity test.",
+ "type": "string"
+ },
+ "providerReachable": {
+ "description": "Whether the LLM provider is reachable.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "modelResults",
+ "providerMessage",
+ "providerReachable"
+ ],
+ "type": "object"
+ },
"Thought": {
"description": "Detailed thoughts/messages within this step.",
"properties": {
@@ -4749,6 +5572,7 @@
"RUNNING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"DISABLED"
],
"type": "string"
@@ -4763,6 +5587,61 @@
"Unit": {
"type": "object"
},
+ "UpsertKnowledgeDocumentRequestDto": {
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageBoundaries": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "content",
+ "filename"
+ ],
+ "type": "object"
+ },
+ "UpsertKnowledgeDocumentResponseDto": {
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "filename",
+ "message",
+ "numChunks",
+ "success"
+ ],
+ "type": "object"
+ },
"UserContext": {
"description": "User context, which can affect the behavior of the underlying AI features.",
"properties": {
@@ -4864,6 +5743,89 @@
"successful"
],
"type": "object"
+ },
+ "VisualizationConfig": {
+ "description": "Visualization config for smart-function rendering.",
+ "properties": {
+ "anomalyDetection": {
+ "$ref": "#/components/schemas/AnomalyDetectionConfig"
+ },
+ "clustering": {
+ "$ref": "#/components/schemas/ClusteringConfig"
+ },
+ "forecast": {
+ "$ref": "#/components/schemas/ForecastConfig"
+ },
+ "whatIf": {
+ "$ref": "#/components/schemas/WhatIfScenarioConfig"
+ }
+ },
+ "type": "object"
+ },
+ "WhatIfMeasureAdjustmentConfig": {
+ "description": "Measure adjustments for this scenario",
+ "properties": {
+ "metricId": {
+ "description": "ID of the metric or fact to adjust",
+ "type": "string"
+ },
+ "metricType": {
+ "description": "Type: metric or fact",
+ "type": "string"
+ },
+ "scenarioMaql": {
+ "description": "Alternative MAQL expression for this scenario",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metricId",
+ "metricType",
+ "scenarioMaql"
+ ],
+ "type": "object"
+ },
+ "WhatIfScenarioConfig": {
+ "description": "What-if scenario configuration.",
+ "properties": {
+ "includeBaseline": {
+ "description": "Whether baseline (unmodified) values are included",
+ "type": "boolean"
+ },
+ "scenarios": {
+ "description": "Scenarios with alternative measure calculations",
+ "items": {
+ "$ref": "#/components/schemas/WhatIfScenarioItem"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "includeBaseline",
+ "scenarios"
+ ],
+ "type": "object"
+ },
+ "WhatIfScenarioItem": {
+ "description": "Scenarios with alternative measure calculations",
+ "properties": {
+ "adjustments": {
+ "description": "Measure adjustments for this scenario",
+ "items": {
+ "$ref": "#/components/schemas/WhatIfMeasureAdjustmentConfig"
+ },
+ "type": "array"
+ },
+ "label": {
+ "description": "Human-readable scenario label",
+ "type": "string"
+ }
+ },
+ "required": [
+ "adjustments",
+ "label"
+ ],
+ "type": "object"
}
}
},
@@ -4948,18 +5910,49 @@
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy": {
- "get": {
- "description": "Returns a list of Users who created any object for this workspace",
- "operationId": "createdBy",
+ "/api/v1/actions/ai/llmProvider/test": {
+ "post": {
+ "description": "Tests LLM provider connectivity with a full definition.",
+ "operationId": "testLlmProvider",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TestLlmProviderDefinitionRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TestLlmProviderResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Test LLM Provider",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/ai/llmProvider/{llmProviderId}/test": {
+ "post": {
+ "description": "Tests an existing LLM provider connectivity by its ID.",
+ "operationId": "testLlmProviderById",
"parameters": [
{
- "description": "Workspace identifier",
"in": "path",
- "name": "workspaceId",
+ "name": "llmProviderId",
"required": true,
"schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
}
@@ -4969,24 +5962,24 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AnalyticsCatalogCreatedBy"
+ "$ref": "#/components/schemas/TestLlmProviderResponse"
}
}
},
"description": "OK"
}
},
- "summary": "Get Analytics Catalog CreatedBy Users",
+ "summary": "Test LLM Provider By Id",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags": {
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy": {
"get": {
- "description": "Returns a list of tags for this workspace",
- "operationId": "tags",
+ "description": "Returns a list of Users who created any object for this workspace",
+ "operationId": "createdBy",
"parameters": [
{
"description": "Workspace identifier",
@@ -5004,24 +5997,24 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AnalyticsCatalogTags"
+ "$ref": "#/components/schemas/AnalyticsCatalogCreatedBy"
}
}
},
"description": "OK"
}
},
- "summary": "Get Analytics Catalog Tags",
+ "summary": "Get Analytics Catalog CreatedBy Users",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/chat": {
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription": {
"post": {
- "description": "(BETA) Combines multiple use cases such as search, create visualizations, ...",
- "operationId": "aiChat",
+ "description": "Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed.",
+ "operationId": "generateDescription",
"parameters": [
{
"description": "Workspace identifier",
@@ -5038,7 +6031,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChatRequest"
+ "$ref": "#/components/schemas/GenerateDescriptionRequest"
}
}
},
@@ -5049,24 +6042,24 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChatResult"
+ "$ref": "#/components/schemas/GenerateDescriptionResponse"
}
}
},
"description": "OK"
}
},
- "summary": "(BETA) Chat with AI",
+ "summary": "Generate Description for Analytics Object",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/chatHistory": {
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle": {
"post": {
- "description": "(BETA) Post thread ID (and optionally interaction ID) to get full/partial chat history.",
- "operationId": "aiChatHistory",
+ "description": "Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed.",
+ "operationId": "generateTitle",
"parameters": [
{
"description": "Workspace identifier",
@@ -5083,7 +6076,7 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChatHistoryRequest"
+ "$ref": "#/components/schemas/GenerateTitleRequest"
}
}
},
@@ -5094,24 +6087,24 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChatHistoryResult"
+ "$ref": "#/components/schemas/GenerateTitleResponse"
}
}
},
"description": "OK"
}
},
- "summary": "(BETA) Get Chat History",
+ "summary": "Generate Title for Analytics Object",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/chatStream": {
- "post": {
- "description": "(BETA) Combines multiple use cases such as search, create visualizations, ...",
- "operationId": "aiChatStream",
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags": {
+ "get": {
+ "description": "Returns a list of tags for this workspace",
+ "operationId": "tags",
"parameters": [
{
"description": "Workspace identifier",
@@ -5124,50 +6117,479 @@
}
}
],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChatRequest"
- }
- }
- },
- "required": true
- },
"responses": {
"200": {
"content": {
- "text/event-stream": {
+ "application/json": {
"schema": {
- "items": {
- "$ref": "#/components/schemas/ServerSentEventChatResult"
- },
- "type": "array"
+ "$ref": "#/components/schemas/AnalyticsCatalogTags"
}
}
},
"description": "OK"
}
},
- "summary": "(BETA) Chat with AI",
+ "summary": "Get Analytics Catalog Tags",
"tags": [
"Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/chatUsage": {
- "get": {
- "description": "Returns usage statistics of chat for a user in a workspace.",
- "operationId": "aiChatUsage",
+ "/api/v1/actions/workspaces/{workspaceId}/ai/chat": {
+ "post": {
+ "description": "(BETA) Combines multiple use cases such as search, create visualizations, ...",
+ "operationId": "aiChat",
"parameters": [
{
"description": "Workspace identifier",
"in": "path",
- "name": "workspaceId",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatResult"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "(BETA) Chat with AI",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/chatHistory": {
+ "post": {
+ "description": "(BETA) Post thread ID (and optionally interaction ID) to get full/partial chat history.",
+ "operationId": "aiChatHistory",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatHistoryRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatHistoryResult"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "(BETA) Get Chat History",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/chatStream": {
+ "post": {
+ "description": "(BETA) Combines multiple use cases such as search, create visualizations, ...",
+ "operationId": "aiChatStream",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "text/event-stream": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/ServerSentEventChatResult"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "(BETA) Chat with AI",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/chatUsage": {
+ "get": {
+ "description": "Returns usage statistics of chat for a user in a workspace.",
+ "operationId": "aiChatUsage",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatUsageResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Get Chat Usage",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/issues": {
+ "get": {
+ "description": "Returns metadata quality issues detected by the platform linter.",
+ "operationId": "getQualityIssues",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetQualityIssuesResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Get Quality Issues",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/issues/status/{processId}": {
+ "get": {
+ "description": "Returns the status of a quality issues calculation process identified by process ID.",
+ "operationId": "getQualityIssuesCalculationStatus",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "processId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QualityIssuesCalculationStatusResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Get Quality Issues Calculation Status",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/issues/triggerCheck": {
+ "post": {
+ "description": "Triggers asynchronous calculation of metadata quality issues and returns a process ID for status tracking.",
+ "operationId": "triggerQualityIssuesCalculation",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TriggerQualityIssuesCalculationResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Trigger Quality Issues Calculation",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents": {
+ "get": {
+ "operationId": "listDocuments",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "scopes",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "pageToken",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListKnowledgeDocumentsResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "post": {
+ "operationId": "createDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateKnowledgeDocumentResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "put": {
+ "operationId": "upsertDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpsertKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpsertKnowledgeDocumentResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}": {
+ "delete": {
+ "operationId": "deleteDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "filename",
"required": true,
"schema": {
- "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
}
@@ -5177,24 +6599,19 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChatUsageResponse"
+ "$ref": "#/components/schemas/DeleteKnowledgeDocumentResponseDto"
}
}
},
"description": "OK"
}
},
- "summary": "Get Chat Usage",
"tags": [
- "Smart Functions",
"actions"
]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/issues": {
+ },
"get": {
- "description": "Returns metadata quality issues detected by the platform linter.",
- "operationId": "getQualityIssues",
+ "operationId": "getDocument",
"parameters": [
{
"description": "Workspace identifier",
@@ -5205,6 +6622,14 @@
"pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
+ },
+ {
+ "in": "path",
+ "name": "filename",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
],
"responses": {
@@ -5212,24 +6637,19 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/GetQualityIssuesResponse"
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
}
}
},
"description": "OK"
}
},
- "summary": "Get Quality Issues",
"tags": [
- "Smart Functions",
"actions"
]
- }
- },
- "/api/v1/actions/workspaces/{workspaceId}/ai/issues/status/{processId}": {
- "get": {
- "description": "Returns the status of a quality issues calculation process identified by process ID.",
- "operationId": "getQualityIssuesCalculationStatus",
+ },
+ "patch": {
+ "operationId": "patchDocument",
"parameters": [
{
"description": "Workspace identifier",
@@ -5243,36 +6663,43 @@
},
{
"in": "path",
- "name": "processId",
+ "name": "filename",
"required": true,
"schema": {
"type": "string"
}
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/QualityIssuesCalculationStatusResponse"
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
}
}
},
"description": "OK"
}
},
- "summary": "Get Quality Issues Calculation Status",
"tags": [
- "Smart Functions",
"actions"
]
}
},
- "/api/v1/actions/workspaces/{workspaceId}/ai/issues/triggerCheck": {
- "post": {
- "description": "Triggers asynchronous calculation of metadata quality issues and returns a process ID for status tracking.",
- "operationId": "triggerQualityIssuesCalculation",
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search": {
+ "get": {
+ "operationId": "searchKnowledge",
"parameters": [
{
"description": "Workspace identifier",
@@ -5283,6 +6710,45 @@
"pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
"type": "string"
}
+ },
+ {
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 10,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "minScore",
+ "required": false,
+ "schema": {
+ "default": 0.0,
+ "format": "double",
+ "type": "number"
+ }
+ },
+ {
+ "in": "query",
+ "name": "scopes",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
}
],
"responses": {
@@ -5290,16 +6756,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/TriggerQualityIssuesCalculationResponse"
+ "$ref": "#/components/schemas/SearchKnowledgeResponseDto"
}
}
},
"description": "OK"
}
},
- "summary": "Trigger Quality Issues Calculation",
"tags": [
- "Smart Functions",
"actions"
]
}
@@ -6689,7 +8153,67 @@
]
}
},
- "/api/v1/ailake/database/instance": {
+ "/api/v1/ailake/database/instances": {
+ "get": {
+ "description": "(BETA) Lists database instances in the organization's AI Lake. Supports paging via size and offset query parameters. Use metaInclude=page to get total count.",
+ "operationId": "listAiLakeDatabaseInstances",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListDatabaseInstancesResponse"
+ }
+ }
+ },
+ "description": "AI Lake database instances successfully retrieved"
+ }
+ },
+ "summary": "(BETA) List AI Lake Database instances",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to list AI Lake database instances.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ },
"post": {
"description": "(BETA) Creates a new database in the organization's AI Lake. Returns an operation-id in the operation-id header the client can use to poll for the progress.",
"operationId": "provisionAiLakeDatabaseInstance",
@@ -6735,7 +8259,7 @@
},
"operation-location": {
"description": "Operation location URL that can be used for polling.",
- "example": "/api/v1/ailake/operation/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
"required": true,
"schema": {
"type": "string"
@@ -6757,7 +8281,7 @@
}
}
},
- "/api/v1/ailake/database/instance/{instanceId}": {
+ "/api/v1/ailake/database/instances/{instanceId}": {
"delete": {
"description": "(BETA) Deletes an existing database in the organization's AI Lake. Returns an operation-id in the operation-id header the client can use to poll for the progress.",
"operationId": "deprovisionAiLakeDatabaseInstance",
@@ -6801,7 +8325,7 @@
},
"operation-location": {
"description": "Operation location URL that can be used for polling.",
- "example": "/api/v1/ailake/operation/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
"required": true,
"schema": {
"type": "string"
@@ -6859,7 +8383,7 @@
}
}
},
- "/api/v1/ailake/operation/{operationId}": {
+ "/api/v1/ailake/operations/{operationId}": {
"get": {
"description": "(BETA) Retrieves details of a Long Running Operation specified by the operation-id.",
"operationId": "getAiLakeOperation",
@@ -6908,6 +8432,152 @@
]
}
}
+ },
+ "/api/v1/ailake/services": {
+ "get": {
+ "description": "(BETA) Lists services configured for the organization's AI Lake. Returns only non-sensitive fields (id, name). Supports paging via size and offset query parameters. Use metaInclude=page to get total count.",
+ "operationId": "listAiLakeServices",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListServicesResponse"
+ }
+ }
+ },
+ "description": "AI Lake services successfully retrieved"
+ }
+ },
+ "summary": "(BETA) List AI Lake services",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to list AI Lake services.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
+ "/api/v1/ailake/services/{serviceId}/commands/{commandName}/run": {
+ "post": {
+ "description": "(BETA) Runs a specific AI Lake service command.",
+ "operationId": "runAiLakeServiceCommand",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "serviceId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "commandName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "operation-id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RunServiceCommandRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Unit"
+ }
+ }
+ },
+ "description": "Accepted",
+ "headers": {
+ "operation-id": {
+ "description": "Operation ID to use for polling.",
+ "example": "e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ "operation-location": {
+ "description": "Operation location URL that can be used for polling.",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ }
+ }
+ },
+ "summary": "(BETA) Run an AI Lake services command",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to run AI Lake service commands.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
}
},
"servers": [
diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json
index a0c3f679e..d3c38d784 100644
--- a/schemas/gooddata-api-client.json
+++ b/schemas/gooddata-api-client.json
@@ -81,6 +81,13 @@
},
"type": "array"
},
+ "measureDefinitionOverrides": {
+ "description": "(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.",
+ "items": {
+ "$ref": "#/components/schemas/MetricDefinitionOverride"
+ },
+ "type": "array"
+ },
"measures": {
"description": "Metrics to be computed.",
"items": {
@@ -4495,9 +4502,9 @@
}
},
"required": [
+ "dataset",
"from",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -4957,69 +4964,6 @@
],
"type": "object"
},
- "AllTimeDateFilter": {
- "description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
- "properties": {
- "allTimeDateFilter": {
- "properties": {
- "applyOnResult": {
- "type": "boolean"
- },
- "dataset": {
- "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
- },
- "emptyValueHandling": {
- "default": "INCLUDE",
- "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.",
- "enum": [
- "INCLUDE",
- "EXCLUDE",
- "ONLY"
- ],
- "type": "string"
- },
- "granularity": {
- "default": "DAY",
- "description": "Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.",
- "enum": [
- "MINUTE",
- "HOUR",
- "DAY",
- "WEEK",
- "MONTH",
- "QUARTER",
- "YEAR",
- "MINUTE_OF_HOUR",
- "HOUR_OF_DAY",
- "DAY_OF_WEEK",
- "DAY_OF_MONTH",
- "DAY_OF_QUARTER",
- "DAY_OF_YEAR",
- "WEEK_OF_YEAR",
- "MONTH_OF_YEAR",
- "QUARTER_OF_YEAR",
- "FISCAL_MONTH",
- "FISCAL_QUARTER",
- "FISCAL_YEAR"
- ],
- "example": "DAY",
- "type": "string"
- },
- "localIdentifier": {
- "type": "string"
- }
- },
- "required": [
- "dataset"
- ],
- "type": "object"
- }
- },
- "required": [
- "allTimeDateFilter"
- ],
- "type": "object"
- },
"AlertAfm": {
"properties": {
"attributes": {
@@ -5177,6 +5121,69 @@
},
"type": "object"
},
+ "AllTimeDateFilter": {
+ "description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
+ "properties": {
+ "allTimeDateFilter": {
+ "properties": {
+ "applyOnResult": {
+ "type": "boolean"
+ },
+ "dataset": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
+ },
+ "emptyValueHandling": {
+ "default": "INCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
+ "granularity": {
+ "default": "DAY",
+ "description": "Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.",
+ "enum": [
+ "MINUTE",
+ "HOUR",
+ "DAY",
+ "WEEK",
+ "MONTH",
+ "QUARTER",
+ "YEAR",
+ "MINUTE_OF_HOUR",
+ "HOUR_OF_DAY",
+ "DAY_OF_WEEK",
+ "DAY_OF_MONTH",
+ "DAY_OF_QUARTER",
+ "DAY_OF_YEAR",
+ "WEEK_OF_YEAR",
+ "MONTH_OF_YEAR",
+ "QUARTER_OF_YEAR",
+ "FISCAL_MONTH",
+ "FISCAL_QUARTER",
+ "FISCAL_YEAR"
+ ],
+ "example": "DAY",
+ "type": "string"
+ },
+ "localIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataset"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "allTimeDateFilter"
+ ],
+ "type": "object"
+ },
"AllowedRelationshipType": {
"description": "Allowed relationship type combination.",
"properties": {
@@ -5316,6 +5323,24 @@
],
"type": "object"
},
+ "AnomalyDetectionConfig": {
+ "description": "Anomaly detection configuration.",
+ "properties": {
+ "sensitivity": {
+ "description": "Outlier sensitivity level.",
+ "enum": [
+ "LOW",
+ "MEDIUM",
+ "HIGH"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "sensitivity"
+ ],
+ "type": "object"
+ },
"AnomalyDetectionRequest": {
"properties": {
"sensitivity": {
@@ -6065,6 +6090,146 @@
],
"type": "object"
},
+ "AwsBedrockAccessKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "accessKeyId": {
+ "description": "AWS Access Key ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "secretAccessKey": {
+ "description": "AWS Secret Access Key.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "sessionToken": {
+ "description": "AWS Session Token (for temporary credentials).",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "ACCESS_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AwsBedrockProviderConfig": {
+ "description": "Configuration for AWS Bedrock provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/BedrockProviderAuth"
+ },
+ "region": {
+ "description": "AWS region for Bedrock.",
+ "example": "us-east-1",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AWS_BEDROCK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "region",
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "Azure API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AzureFoundryApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderConfig": {
+ "description": "Configuration for Azure Foundry provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/AzureFoundryProviderAuth"
+ },
+ "endpoint": {
+ "description": "Azure AI inference endpoint URL.",
+ "example": "https://my-resource.services.ai.azure.com/models",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AZURE_FOUNDRY"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "endpoint",
+ "type"
+ ],
+ "type": "object"
+ },
+ "BedrockProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockAccessKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"BoundedFilter": {
"description": "Bounding filter for this relative date filter. This can be used to limit the range of the relative date filter to a specific date range.",
"properties": {
@@ -6562,6 +6727,26 @@
],
"type": "object"
},
+ "ClusteringConfig": {
+ "description": "Clustering configuration.",
+ "properties": {
+ "numberOfClusters": {
+ "description": "Number of clusters to create",
+ "format": "int32",
+ "type": "integer"
+ },
+ "threshold": {
+ "description": "Clustering algorithm threshold",
+ "format": "float",
+ "type": "number"
+ }
+ },
+ "required": [
+ "numberOfClusters",
+ "threshold"
+ ],
+ "type": "object"
+ },
"ClusteringRequest": {
"properties": {
"numberOfClusters": {
@@ -6917,9 +7102,9 @@
}
},
"required": [
+ "measure",
"operator",
- "value",
- "measure"
+ "value"
],
"type": "object"
}
@@ -7027,9 +7212,67 @@
},
"type": "object"
},
+ "CreateKnowledgeDocumentRequestDto": {
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageBoundaries": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "content",
+ "filename"
+ ],
+ "type": "object"
+ },
+ "CreateKnowledgeDocumentResponseDto": {
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "filename",
+ "message",
+ "numChunks",
+ "success"
+ ],
+ "type": "object"
+ },
"CreatedVisualization": {
"description": "List of created visualization objects",
"properties": {
+ "config": {
+ "$ref": "#/components/schemas/VisualizationConfig"
+ },
"dimensionality": {
"description": "List of attributes representing the dimensionality of the new visualization",
"items": {
@@ -7096,7 +7339,8 @@
"BAR",
"LINE",
"PIE",
- "COLUMN"
+ "COLUMN",
+ "SCATTER"
],
"example": "TABLE",
"type": "string"
@@ -7264,6 +7508,14 @@
"dataSet": {
"$ref": "#/components/schemas/IdentifierRef"
},
+ "emptyValueHandling": {
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"oneOf": [
{
@@ -7865,6 +8117,9 @@
},
{
"$ref": "#/components/schemas/RelativeDateFilter"
+ },
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
}
],
"type": "object"
@@ -8006,6 +8261,27 @@
},
"DeclarativeAnalyticalDashboard": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
@@ -8393,7 +8669,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8415,7 +8691,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8780,7 +9056,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8802,7 +9078,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -9270,7 +9546,7 @@
"properties": {
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -9292,7 +9568,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -9964,12 +10240,33 @@
},
"DeclarativeMetric": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -10001,7 +10298,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -10540,6 +10837,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -10582,7 +10880,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"example": "TIMEZONE",
"type": "string"
@@ -10608,6 +10907,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -11061,12 +11362,33 @@
},
"DeclarativeVisualizationObject": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -11093,7 +11415,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -11417,6 +11739,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -11533,6 +11857,21 @@
],
"type": "object"
},
+ "DeleteKnowledgeDocumentResponseDto": {
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "message",
+ "success"
+ ],
+ "type": "object"
+ },
"DependentEntitiesGraph": {
"properties": {
"edges": {
@@ -11602,6 +11941,15 @@
"$ref": "#/components/schemas/EntityIdentifier"
},
"type": "array"
+ },
+ "relation": {
+ "default": "DEPENDENTS",
+ "description": "Entity relation for graph traversal from the entry points. DEPENDENTS returns entities that depend on the entry points. DEPENDENCIES returns entities that the entry points depend on.",
+ "enum": [
+ "DEPENDENTS",
+ "DEPENDENCIES"
+ ],
+ "type": "string"
}
},
"required": [
@@ -12550,10 +12898,10 @@
"$ref": "#/components/schemas/AbsoluteDateFilter"
},
{
- "$ref": "#/components/schemas/AllTimeDateFilter"
+ "$ref": "#/components/schemas/RelativeDateFilter"
},
{
- "$ref": "#/components/schemas/RelativeDateFilter"
+ "$ref": "#/components/schemas/AllTimeDateFilter"
},
{
"$ref": "#/components/schemas/NegativeAttributeFilter"
@@ -12579,6 +12927,31 @@
],
"type": "object"
},
+ "ForecastConfig": {
+ "description": "Forecast configuration.",
+ "properties": {
+ "confidenceLevel": {
+ "description": "Confidence interval boundary value.",
+ "format": "float",
+ "type": "number"
+ },
+ "forecastPeriod": {
+ "description": "Number of future periods that should be forecasted",
+ "format": "int32",
+ "type": "integer"
+ },
+ "seasonal": {
+ "description": "Whether the input data is seasonal",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "confidenceLevel",
+ "forecastPeriod",
+ "seasonal"
+ ],
+ "type": "object"
+ },
"ForecastRequest": {
"properties": {
"confidenceLevel": {
@@ -12714,6 +13087,43 @@
},
"type": "object"
},
+ "GenerateDescriptionRequest": {
+ "properties": {
+ "objectId": {
+ "description": "Identifier of the object to describe",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute",
+ "enum": [
+ "Visualization",
+ "Dashboard",
+ "Metric",
+ "Fact",
+ "Attribute"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId",
+ "objectType"
+ ],
+ "type": "object"
+ },
+ "GenerateDescriptionResponse": {
+ "properties": {
+ "description": {
+ "description": "Generated description of the requested object",
+ "type": "string"
+ },
+ "note": {
+ "description": "Additional note with details in case generation was not performed",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"GenerateLdmRequest": {
"description": "A request containing all information needed for generation of logical model.",
"properties": {
@@ -12819,6 +13229,43 @@
},
"type": "object"
},
+ "GenerateTitleRequest": {
+ "properties": {
+ "objectId": {
+ "description": "Identifier of the object to title",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the object to title. Matches chat-search object types.",
+ "enum": [
+ "Visualization",
+ "Dashboard",
+ "Metric",
+ "Fact",
+ "Attribute"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId",
+ "objectType"
+ ],
+ "type": "object"
+ },
+ "GenerateTitleResponse": {
+ "properties": {
+ "note": {
+ "description": "Additional note with details in case generation was not performed",
+ "type": "string"
+ },
+ "title": {
+ "description": "Generated title of the requested object",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"GeoAreaConfig": {
"description": "Configuration specific to geo area labels.",
"properties": {
@@ -12869,6 +13316,7 @@
"SYNCING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"NOT_FOUND",
"DISABLED"
],
@@ -13621,6 +14069,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"description": "Free-form JSON content. Maximum supported length is 250000 characters.",
"example": {
@@ -13634,6 +14102,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -13645,6 +14114,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -13740,6 +14210,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -14353,6 +14834,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -14364,6 +14846,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -15376,6 +15859,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -15463,6 +15947,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -17362,6 +17847,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -17373,6 +17859,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -19076,6 +19563,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -19087,6 +19575,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -23047,6 +23536,369 @@
],
"type": "object"
},
+ "JsonApiLlmProviderIn": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "models",
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderInDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderIn"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOut": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "models",
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOut"
+ },
+ "links": {
+ "$ref": "#/components/schemas/ObjectLinks"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutList": {
+ "description": "A JSON:API document with a list of resources",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutWithLinks"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "links": {
+ "$ref": "#/components/schemas/ListLinks"
+ },
+ "meta": {
+ "properties": {
+ "page": {
+ "$ref": "#/components/schemas/PageMetadata"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutWithLinks": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOut"
+ },
+ {
+ "$ref": "#/components/schemas/ObjectLinksContainer"
+ }
+ ]
+ },
+ "JsonApiLlmProviderPatch": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderPatchDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatch"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"JsonApiMemoryItemIn": {
"description": "JSON:API representation of memoryItem entity.",
"properties": {
@@ -23143,6 +23995,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -23170,6 +24023,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -23629,6 +24483,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"properties": {
"format": {
@@ -23657,6 +24531,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -23674,6 +24549,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -23740,6 +24616,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -25076,6 +25963,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -25118,7 +26006,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -25173,6 +26062,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -25215,7 +26105,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -25310,6 +26201,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -25352,7 +26244,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26813,6 +27706,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26855,7 +27749,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26910,6 +27805,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26952,7 +27848,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -27149,6 +28046,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"description": "Free-form JSON content. Maximum supported length is 250000 characters.",
"example": {
@@ -27162,6 +28079,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -27176,6 +28094,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -27242,6 +28161,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -28888,6 +29818,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -29128,6 +30060,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -29170,7 +30103,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -29225,6 +30159,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -29267,7 +30202,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -29388,6 +30324,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -29430,7 +30367,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -29485,6 +30423,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -29527,7 +30466,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -29699,6 +30639,105 @@
],
"type": "object"
},
+ "KnowledgeDocumentMetadataDto": {
+ "properties": {
+ "createdAt": {
+ "type": "string"
+ },
+ "createdBy": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "isDisabled": {
+ "type": "boolean"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updatedAt": {
+ "type": "string"
+ },
+ "updatedBy": {
+ "type": "string"
+ },
+ "workspaceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "createdAt",
+ "createdBy",
+ "filename",
+ "numChunks",
+ "scopes",
+ "updatedAt",
+ "updatedBy"
+ ],
+ "type": "object"
+ },
+ "KnowledgeSearchResultDto": {
+ "properties": {
+ "chunkIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageNumbers": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "score": {
+ "format": "float",
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ },
+ "totalChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workspaceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "chunkIndex",
+ "content",
+ "filename",
+ "pageNumbers",
+ "scopes",
+ "score",
+ "totalChunks"
+ ],
+ "type": "object"
+ },
"LabelIdentifier": {
"description": "A label identifier.",
"properties": {
@@ -29723,6 +30762,48 @@
],
"type": "object"
},
+ "ListDatabaseInstancesResponse": {
+ "description": "Paged response for listing AI Lake database instances",
+ "properties": {
+ "databases": {
+ "description": "List of database instances",
+ "items": {
+ "$ref": "#/components/schemas/DatabaseInstance"
+ },
+ "type": "array"
+ },
+ "totalCount": {
+ "description": "Total count of items (only set when metaInclude=page)",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "databases"
+ ],
+ "type": "object"
+ },
+ "ListKnowledgeDocumentsResponseDto": {
+ "properties": {
+ "documents": {
+ "items": {
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
+ },
+ "type": "array"
+ },
+ "nextPageToken": {
+ "type": "string"
+ },
+ "totalCount": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "documents"
+ ],
+ "type": "object"
+ },
"ListLinks": {
"allOf": [
{
@@ -29740,6 +30821,80 @@
}
]
},
+ "ListServicesResponse": {
+ "description": "Paged response for listing AI Lake services",
+ "properties": {
+ "services": {
+ "description": "List of services",
+ "items": {
+ "$ref": "#/components/schemas/ServiceInfo"
+ },
+ "type": "array"
+ },
+ "totalCount": {
+ "description": "Total count of items (only set when metaInclude=page)",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "services"
+ ],
+ "type": "object"
+ },
+ "LlmModel": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "LlmProviderAuth": {
+ "properties": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "LlmProviderConfig": {
+ "description": "Provider configuration to test.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ },
"LocalIdentifier": {
"properties": {
"format": {
@@ -29821,9 +30976,9 @@
}
},
"required": [
+ "label",
"literal",
- "matchType",
- "label"
+ "matchType"
],
"type": "object"
}
@@ -30060,6 +31215,22 @@
],
"type": "object"
},
+ "MetricDefinitionOverride": {
+ "description": "(EXPERIMENTAL) Override for a catalog metric definition.",
+ "properties": {
+ "definition": {
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
+ },
+ "item": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
+ }
+ },
+ "required": [
+ "definition",
+ "item"
+ ],
+ "type": "object"
+ },
"MetricRecord": {
"properties": {
"formattedValue": {
@@ -30146,6 +31317,29 @@
],
"type": "object"
},
+ "ModelTestResult": {
+ "description": "Per-model test results.",
+ "properties": {
+ "message": {
+ "description": "Message about the model test result.",
+ "type": "string"
+ },
+ "modelId": {
+ "description": "The model ID that was tested.",
+ "type": "string"
+ },
+ "successful": {
+ "description": "Whether the model test was successful.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "message",
+ "modelId",
+ "successful"
+ ],
+ "type": "object"
+ },
"NegativeAttributeFilter": {
"description": "Filter able to limit element values by label and related selected negated elements.",
"properties": {
@@ -30165,8 +31359,8 @@
}
},
"required": [
- "notIn",
- "label"
+ "label",
+ "notIn"
],
"type": "object"
}
@@ -30377,6 +31571,75 @@
},
"type": "object"
},
+ "OpenAIProviderConfig": {
+ "description": "Configuration for OpenAI provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/OpenAiProviderAuth"
+ },
+ "baseUrl": {
+ "default": "https://api.openai.com",
+ "description": "Custom base URL for OpenAI API.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "organization": {
+ "description": "OpenAI organization ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "OPENAI"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "OpenAI API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/OpenAiApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"Operation": {
"description": "Represents a Long-Running Operation: a process that takes some time to complete.",
"discriminator": {
@@ -30393,10 +31656,11 @@
"type": "string"
},
"kind": {
- "description": "Type of the long-running operation. \n* `provision-database` — Provisioning of an AI Lake database. \n* `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.\n",
+ "description": "Type of the long-running operation.\n* `provision-database` — Provisioning of an AI Lake database.\n* `deprovision-database` — Deprovisioning (deletion) of an AI Lake database.\n* `run-service-command` — Running a command in a particular AI Lake service.\n",
"enum": [
"provision-database",
- "deprovision-database"
+ "deprovision-database",
+ "run-service-command"
],
"type": "string"
},
@@ -30690,6 +31954,23 @@
],
"type": "object"
},
+ "PatchKnowledgeDocumentRequestDto": {
+ "properties": {
+ "isDisabled": {
+ "type": "boolean"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"PdfTableStyle": {
"deprecated": true,
"description": "Custom CSS styles for the table. (PDF, HTML)",
@@ -31168,6 +32449,7 @@
"SYNCING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"NOT_FOUND",
"DISABLED"
],
@@ -31286,9 +32568,9 @@
},
"required": [
"from",
+ "measure",
"operator",
- "to",
- "measure"
+ "to"
],
"type": "object"
}
@@ -31732,10 +33014,10 @@
}
},
"required": [
+ "dataset",
"from",
"granularity",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -31824,6 +33106,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -31866,7 +33149,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"example": "TIMEZONE",
"type": "string"
@@ -32016,6 +33300,8 @@
"type": "string"
},
"kid": {
+ "maxLength": 255,
+ "pattern": "^[^.]",
"type": "string"
},
"kty": {
@@ -32074,6 +33360,25 @@
],
"type": "object"
},
+ "RunServiceCommandRequest": {
+ "description": "Request to run an AI Lake Service Command",
+ "properties": {
+ "context": {
+ "additionalProperties": {
+ "description": "The context to pass to the command",
+ "nullable": true,
+ "type": "string"
+ },
+ "description": "The context to pass to the command",
+ "nullable": true,
+ "type": "object"
+ },
+ "payload": {
+ "$ref": "#/components/schemas/JsonNode"
+ }
+ },
+ "type": "object"
+ },
"RunningSection": {
"description": "Footer section of the slide",
"nullable": true,
@@ -32216,6 +33521,24 @@
],
"type": "object"
},
+ "SearchKnowledgeResponseDto": {
+ "properties": {
+ "results": {
+ "items": {
+ "$ref": "#/components/schemas/KnowledgeSearchResultDto"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/components/schemas/SearchStatisticsDto"
+ }
+ },
+ "required": [
+ "results",
+ "statistics"
+ ],
+ "type": "object"
+ },
"SearchRelationshipObject": {
"properties": {
"sourceObjectId": {
@@ -32453,6 +33776,23 @@
],
"type": "object"
},
+ "SearchStatisticsDto": {
+ "properties": {
+ "averageSimilarityScore": {
+ "format": "float",
+ "type": "number"
+ },
+ "totalResults": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "averageSimilarityScore",
+ "totalResults"
+ ],
+ "type": "object"
+ },
"SectionSlideTemplate": {
"description": "Settings for section slide.",
"nullable": true,
@@ -32474,6 +33814,61 @@
"ServerSentEventChatResult": {
"type": "object"
},
+ "ServiceInfo": {
+ "description": "Non-sensitive metadata for an AI Lake pipeline",
+ "properties": {
+ "name": {
+ "description": "Human-readable name of the service",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "Internal identifier for the service configuration (UUID)",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "serviceId"
+ ],
+ "type": "object"
+ },
+ "SetCertificationRequest": {
+ "description": "Request to set or clear the certification of a workspace entity.",
+ "properties": {
+ "id": {
+ "description": "ID of the entity.",
+ "example": "total-sales",
+ "type": "string"
+ },
+ "message": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "status": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the entity.",
+ "enum": [
+ "metric",
+ "visualizationObject",
+ "analyticalDashboard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
"Settings": {
"description": "Additional settings.",
"properties": {
@@ -33268,6 +34663,59 @@
],
"type": "object"
},
+ "TestLlmProviderDefinitionRequest": {
+ "properties": {
+ "models": {
+ "description": "Models to test.",
+ "items": {
+ "$ref": "#/components/schemas/LlmModel"
+ },
+ "type": "array"
+ },
+ "providerConfig": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "TestLlmProviderResponse": {
+ "properties": {
+ "modelResults": {
+ "description": "Per-model test results.",
+ "items": {
+ "$ref": "#/components/schemas/ModelTestResult"
+ },
+ "type": "array"
+ },
+ "providerMessage": {
+ "description": "Message about the provider connectivity test.",
+ "type": "string"
+ },
+ "providerReachable": {
+ "description": "Whether the LLM provider is reachable.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "modelResults",
+ "providerMessage",
+ "providerReachable"
+ ],
+ "type": "object"
+ },
"TestNotification": {
"allOf": [
{
@@ -33508,6 +34956,7 @@
"RUNNING",
"COMPLETED",
"FAILED",
+ "CANCELLED",
"DISABLED"
],
"type": "string"
@@ -33522,6 +34971,61 @@
"Unit": {
"type": "object"
},
+ "UpsertKnowledgeDocumentRequestDto": {
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "filename": {
+ "type": "string"
+ },
+ "pageBoundaries": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "content",
+ "filename"
+ ],
+ "type": "object"
+ },
+ "UpsertKnowledgeDocumentResponseDto": {
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "numChunks": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "filename",
+ "message",
+ "numChunks",
+ "success"
+ ],
+ "type": "object"
+ },
"UserAssignee": {
"description": "List of users",
"properties": {
@@ -33836,6 +35340,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -33860,6 +35366,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -34048,6 +35556,24 @@
],
"type": "object"
},
+ "VisualizationConfig": {
+ "description": "Visualization config for smart-function rendering.",
+ "properties": {
+ "anomalyDetection": {
+ "$ref": "#/components/schemas/AnomalyDetectionConfig"
+ },
+ "clustering": {
+ "$ref": "#/components/schemas/ClusteringConfig"
+ },
+ "forecast": {
+ "$ref": "#/components/schemas/ForecastConfig"
+ },
+ "whatIf": {
+ "$ref": "#/components/schemas/WhatIfScenarioConfig"
+ }
+ },
+ "type": "object"
+ },
"Webhook": {
"allOf": [
{
@@ -34291,6 +35817,71 @@
],
"type": "object"
},
+ "WhatIfMeasureAdjustmentConfig": {
+ "description": "Measure adjustments for this scenario",
+ "properties": {
+ "metricId": {
+ "description": "ID of the metric or fact to adjust",
+ "type": "string"
+ },
+ "metricType": {
+ "description": "Type: metric or fact",
+ "type": "string"
+ },
+ "scenarioMaql": {
+ "description": "Alternative MAQL expression for this scenario",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metricId",
+ "metricType",
+ "scenarioMaql"
+ ],
+ "type": "object"
+ },
+ "WhatIfScenarioConfig": {
+ "description": "What-if scenario configuration.",
+ "properties": {
+ "includeBaseline": {
+ "description": "Whether baseline (unmodified) values are included",
+ "type": "boolean"
+ },
+ "scenarios": {
+ "description": "Scenarios with alternative measure calculations",
+ "items": {
+ "$ref": "#/components/schemas/WhatIfScenarioItem"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "includeBaseline",
+ "scenarios"
+ ],
+ "type": "object"
+ },
+ "WhatIfScenarioItem": {
+ "description": "Scenarios with alternative measure calculations",
+ "properties": {
+ "adjustments": {
+ "description": "Measure adjustments for this scenario",
+ "items": {
+ "$ref": "#/components/schemas/WhatIfMeasureAdjustmentConfig"
+ },
+ "type": "array"
+ },
+ "label": {
+ "description": "Human-readable scenario label",
+ "type": "string"
+ }
+ },
+ "required": [
+ "adjustments",
+ "label"
+ ],
+ "type": "object"
+ },
"WidgetSlidesTemplate": {
"description": "Template for widget slides export.\nAvailable variables: {{currentPageNumber}}, {{dashboardDateFilters}}, {{dashboardDescription}}, {{dashboardFilters}}, {{dashboardId}}, {{dashboardName}}, {{dashboardTags}}, {{dashboardUrl}}, {{exportedAt}}, {{exportedBy}}, {{logo}}, {{totalPages}}, {{workspaceId}}, {{workspaceName}}",
"nullable": true,
@@ -34409,6 +36000,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -34426,6 +36019,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -34811,6 +36406,72 @@
]
}
},
+ "/api/v1/actions/ai/llmProvider/test": {
+ "post": {
+ "description": "Tests LLM provider connectivity with a full definition.",
+ "operationId": "testLlmProvider",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TestLlmProviderDefinitionRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TestLlmProviderResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Test LLM Provider",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/ai/llmProvider/{llmProviderId}/test": {
+ "post": {
+ "description": "Tests an existing LLM provider connectivity by its ID.",
+ "operationId": "testLlmProviderById",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "llmProviderId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TestLlmProviderResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Test LLM Provider By Id",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
"/api/v1/actions/collectUsage": {
"get": {
"description": "Provides information about platform usage, like amount of users, workspaces, ...\n\n_NOTE_: The `admin` user is always excluded from this amount.",
@@ -36558,6 +38219,96 @@
]
}
},
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateDescription": {
+ "post": {
+ "description": "Generates a description for the specified analytics object. Returns description and a note with details if generation was not performed.",
+ "operationId": "generateDescription",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GenerateDescriptionRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GenerateDescriptionResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Generate Description for Analytics Object",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle": {
+ "post": {
+ "description": "Generates a title for the specified analytics object. Returns title and a note with details if generation was not performed.",
+ "operationId": "generateTitle",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GenerateTitleRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GenerateTitleResponse"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "summary": "Generate Title for Analytics Object",
+ "tags": [
+ "Smart Functions",
+ "actions"
+ ]
+ }
+ },
"/api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/tags": {
"get": {
"description": "Returns a list of tags for this workspace",
@@ -36879,6 +38630,352 @@
]
}
},
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents": {
+ "get": {
+ "operationId": "listDocuments",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "scopes",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "pageToken",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListKnowledgeDocumentsResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "post": {
+ "operationId": "createDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateKnowledgeDocumentResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "put": {
+ "operationId": "upsertDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpsertKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpsertKnowledgeDocumentResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/documents/{filename}": {
+ "delete": {
+ "operationId": "deleteDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "filename",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteKnowledgeDocumentResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "get": {
+ "operationId": "getDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "filename",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ },
+ "patch": {
+ "operationId": "patchDocument",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "filename",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchKnowledgeDocumentRequestDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KnowledgeDocumentMetadataDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ }
+ },
+ "/api/v1/actions/workspaces/{workspaceId}/ai/knowledge/search": {
+ "get": {
+ "operationId": "searchKnowledge",
+ "parameters": [
+ {
+ "description": "Workspace identifier",
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "default": 10,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "minScore",
+ "required": false,
+ "schema": {
+ "default": 0.0,
+ "format": "double",
+ "type": "number"
+ }
+ },
+ {
+ "in": "query",
+ "name": "scopes",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchKnowledgeResponseDto"
+ }
+ }
+ },
+ "description": "OK"
+ }
+ },
+ "tags": [
+ "actions"
+ ]
+ }
+ },
"/api/v1/actions/workspaces/{workspaceId}/ai/memory/createdBy": {
"get": {
"description": "Returns a list of Users who created any memory item for this workspace",
@@ -40106,6 +42203,48 @@
}
}
},
+ "/api/v1/actions/workspaces/{workspaceId}/setCertification": {
+ "post": {
+ "description": "Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission.",
+ "operationId": "setCertification",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetCertificationRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "summary": "Set Certification",
+ "tags": [
+ "actions",
+ "Certification"
+ ],
+ "x-gdc-security-info": {
+ "description": "Minimal permission required to use this endpoint.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
"/api/v1/actions/workspaces/{workspaceId}/translations": {
"get": {
"description": "Provides a list of effective translation tags.",
@@ -40417,7 +42556,67 @@
]
}
},
- "/api/v1/ailake/database/instance": {
+ "/api/v1/ailake/database/instances": {
+ "get": {
+ "description": "(BETA) Lists database instances in the organization's AI Lake. Supports paging via size and offset query parameters. Use metaInclude=page to get total count.",
+ "operationId": "listAiLakeDatabaseInstances",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListDatabaseInstancesResponse"
+ }
+ }
+ },
+ "description": "AI Lake database instances successfully retrieved"
+ }
+ },
+ "summary": "(BETA) List AI Lake Database instances",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to list AI Lake database instances.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ },
"post": {
"description": "(BETA) Creates a new database in the organization's AI Lake. Returns an operation-id in the operation-id header the client can use to poll for the progress.",
"operationId": "provisionAiLakeDatabaseInstance",
@@ -40463,7 +42662,7 @@
},
"operation-location": {
"description": "Operation location URL that can be used for polling.",
- "example": "/api/v1/ailake/operation/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
"required": true,
"schema": {
"type": "string"
@@ -40485,7 +42684,7 @@
}
}
},
- "/api/v1/ailake/database/instance/{instanceId}": {
+ "/api/v1/ailake/database/instances/{instanceId}": {
"delete": {
"description": "(BETA) Deletes an existing database in the organization's AI Lake. Returns an operation-id in the operation-id header the client can use to poll for the progress.",
"operationId": "deprovisionAiLakeDatabaseInstance",
@@ -40529,7 +42728,239 @@
},
"operation-location": {
"description": "Operation location URL that can be used for polling.",
- "example": "/api/v1/ailake/operation/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ }
+ }
+ },
+ "summary": "(BETA) Delete an existing AILake Database instance",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to provision an AI Lake database instance.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ },
+ "get": {
+ "description": "(BETA) Retrieve details of the specified AI Lake database instance in the organization's AI Lake.",
+ "operationId": "getAiLakeDatabaseInstance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "instanceId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DatabaseInstance"
+ }
+ }
+ },
+ "description": "AI Lake database instance successfully retrieved"
+ }
+ },
+ "summary": "(BETA) Get the specified AILake Database instance",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to get an AI Lake database instance.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
+ "/api/v1/ailake/operations/{operationId}": {
+ "get": {
+ "description": "(BETA) Retrieves details of a Long Running Operation specified by the operation-id.",
+ "operationId": "getAiLakeOperation",
+ "parameters": [
+ {
+ "description": "Operation ID",
+ "example": "e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "in": "path",
+ "name": "operationId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FailedOperation"
+ },
+ {
+ "$ref": "#/components/schemas/PendingOperation"
+ },
+ {
+ "$ref": "#/components/schemas/SucceededOperation"
+ }
+ ]
+ }
+ }
+ },
+ "description": "AI Lake Long Running Operation details successfully retrieved"
+ }
+ },
+ "summary": "(BETA) Get Long Running Operation details",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to get details of a Long Running Operation.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
+ "/api/v1/ailake/services": {
+ "get": {
+ "description": "(BETA) Lists services configured for the organization's AI Lake. Returns only non-sensitive fields (id, name). Supports paging via size and offset query parameters. Use metaInclude=page to get total count.",
+ "operationId": "listAiLakeServices",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "size",
+ "required": false,
+ "schema": {
+ "default": 50,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "default": 0,
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ListServicesResponse"
+ }
+ }
+ },
+ "description": "AI Lake services successfully retrieved"
+ }
+ },
+ "summary": "(BETA) List AI Lake services",
+ "tags": [
+ "AI Lake"
+ ],
+ "x-gdc-security-info": {
+ "description": "Permissions required to list AI Lake services.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
+ "/api/v1/ailake/services/{serviceId}/commands/{commandName}/run": {
+ "post": {
+ "description": "(BETA) Runs a specific AI Lake service command.",
+ "operationId": "runAiLakeServiceCommand",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "serviceId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "commandName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "header",
+ "name": "operation-id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RunServiceCommandRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Unit"
+ }
+ }
+ },
+ "description": "Accepted",
+ "headers": {
+ "operation-id": {
+ "description": "Operation ID to use for polling.",
+ "example": "e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ "operation-location": {
+ "description": "Operation location URL that can be used for polling.",
+ "example": "/api/v1/ailake/operations/e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
"required": true,
"schema": {
"type": "string"
@@ -40539,98 +42970,12 @@
}
}
},
- "summary": "(BETA) Delete an existing AILake Database instance",
+ "summary": "(BETA) Run an AI Lake services command",
"tags": [
"AI Lake"
],
"x-gdc-security-info": {
- "description": "Permissions required to provision an AI Lake database instance.",
- "permissions": [
- "MANAGE"
- ]
- }
- },
- "get": {
- "description": "(BETA) Retrieve details of the specified AI Lake database instance in the organization's AI Lake.",
- "operationId": "getAiLakeDatabaseInstance",
- "parameters": [
- {
- "in": "path",
- "name": "instanceId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DatabaseInstance"
- }
- }
- },
- "description": "AI Lake database instance successfully retrieved"
- }
- },
- "summary": "(BETA) Get the specified AILake Database instance",
- "tags": [
- "AI Lake"
- ],
- "x-gdc-security-info": {
- "description": "Permissions required to get an AI Lake database instance.",
- "permissions": [
- "MANAGE"
- ]
- }
- }
- },
- "/api/v1/ailake/operation/{operationId}": {
- "get": {
- "description": "(BETA) Retrieves details of a Long Running Operation specified by the operation-id.",
- "operationId": "getAiLakeOperation",
- "parameters": [
- {
- "description": "Operation ID",
- "example": "e9fd5d74-8a1b-46bd-ac60-bd91e9206897",
- "in": "path",
- "name": "operationId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FailedOperation"
- },
- {
- "$ref": "#/components/schemas/PendingOperation"
- },
- {
- "$ref": "#/components/schemas/SucceededOperation"
- }
- ]
- }
- }
- },
- "description": "AI Lake Long Running Operation details successfully retrieved"
- }
- },
- "summary": "(BETA) Get Long Running Operation details",
- "tags": [
- "AI Lake"
- ],
- "x-gdc-security-info": {
- "description": "Permissions required to get details of a Long Running Operation.",
+ "description": "Permissions required to run AI Lake service commands.",
"permissions": [
"MANAGE"
]
@@ -43524,7 +45869,7 @@
"parameters": [
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -43638,7 +45983,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -43665,7 +46010,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -43705,7 +46050,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -43760,7 +46105,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -43808,6 +46153,298 @@
]
}
},
+ "/api/v1/entities/llmProviders": {
+ "get": {
+ "operationId": "getAllEntities@LlmProviders",
+ "parameters": [
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "#/components/parameters/page"
+ },
+ {
+ "$ref": "#/components/parameters/size"
+ },
+ {
+ "$ref": "#/components/parameters/sort"
+ },
+ {
+ "description": "Include Meta objects.",
+ "example": "metaInclude=page,all",
+ "explode": false,
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "description": "Included meta objects",
+ "items": {
+ "enum": [
+ "page",
+ "all",
+ "ALL"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "style": "form"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutList"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutList"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Get all LLM Provider entities",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "post": {
+ "description": "LLM Provider - connection configuration for LLM services",
+ "operationId": "createEntity@LlmProviders",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Post LLM Provider entities",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ }
+ },
+ "/api/v1/entities/llmProviders/{id}": {
+ "delete": {
+ "operationId": "deleteEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "$ref": "#/components/responses/Deleted"
+ }
+ },
+ "summary": "Delete LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "get": {
+ "operationId": "getEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Get LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "patch": {
+ "operationId": "patchEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatchDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatchDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Patch LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "put": {
+ "operationId": "updateEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "PUT LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ }
+ },
"/api/v1/entities/notificationChannelIdentifiers": {
"get": {
"operationId": "getAllEntities@NotificationChannelIdentifiers",
@@ -47310,7 +49947,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -47328,6 +49965,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47423,7 +50061,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -47441,6 +50079,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47677,7 +50316,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -47695,6 +50334,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47797,7 +50437,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -47815,6 +50455,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47899,7 +50540,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -47917,6 +50558,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -55457,7 +58099,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -55473,6 +58115,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -55566,7 +58209,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -55582,6 +58225,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -55816,7 +58460,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -55832,6 +58476,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -55932,7 +58577,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -55948,6 +58593,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -56032,7 +58678,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -56048,6 +58694,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -56788,7 +59435,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -56804,6 +59451,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -56897,7 +59545,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -56913,6 +59561,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -57147,7 +59796,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -57163,6 +59812,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -57263,7 +59913,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -57279,6 +59929,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -57363,7 +60014,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -57379,6 +60030,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
diff --git a/schemas/gooddata-automation-client.json b/schemas/gooddata-automation-client.json
index 6c6a5a1de..cb4e6ec33 100644
--- a/schemas/gooddata-automation-client.json
+++ b/schemas/gooddata-automation-client.json
@@ -35,6 +35,13 @@
},
"type": "array"
},
+ "measureDefinitionOverrides": {
+ "description": "(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.",
+ "items": {
+ "$ref": "#/components/schemas/MetricDefinitionOverride"
+ },
+ "type": "array"
+ },
"measures": {
"description": "Metrics to be computed.",
"items": {
@@ -61,6 +68,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"example": "2020-07-01 18:23",
"pattern": "^\\d{4}-\\d{1,2}-\\d{1,2}( \\d{1,2}:\\d{1,2})?$",
@@ -76,9 +93,9 @@
}
},
"required": [
+ "dataset",
"from",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -548,6 +565,69 @@
},
"type": "object"
},
+ "AllTimeDateFilter": {
+ "description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
+ "properties": {
+ "allTimeDateFilter": {
+ "properties": {
+ "applyOnResult": {
+ "type": "boolean"
+ },
+ "dataset": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
+ },
+ "emptyValueHandling": {
+ "default": "INCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
+ "granularity": {
+ "default": "DAY",
+ "description": "Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.",
+ "enum": [
+ "MINUTE",
+ "HOUR",
+ "DAY",
+ "WEEK",
+ "MONTH",
+ "QUARTER",
+ "YEAR",
+ "MINUTE_OF_HOUR",
+ "HOUR_OF_DAY",
+ "DAY_OF_WEEK",
+ "DAY_OF_MONTH",
+ "DAY_OF_QUARTER",
+ "DAY_OF_YEAR",
+ "WEEK_OF_YEAR",
+ "MONTH_OF_YEAR",
+ "QUARTER_OF_YEAR",
+ "FISCAL_MONTH",
+ "FISCAL_QUARTER",
+ "FISCAL_YEAR"
+ ],
+ "example": "DAY",
+ "type": "string"
+ },
+ "localIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataset"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "allTimeDateFilter"
+ ],
+ "type": "object"
+ },
"AnomalyDetection": {
"properties": {
"dataset": {
@@ -1110,9 +1190,9 @@
}
},
"required": [
+ "measure",
"operator",
- "value",
- "measure"
+ "value"
],
"type": "object"
}
@@ -1301,6 +1381,14 @@
"dataSet": {
"$ref": "#/components/schemas/IdentifierRef"
},
+ "emptyValueHandling": {
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"oneOf": [
{
@@ -1492,6 +1580,9 @@
},
{
"$ref": "#/components/schemas/RelativeDateFilter"
+ },
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
}
],
"type": "object"
@@ -1696,6 +1787,9 @@
{
"$ref": "#/components/schemas/RelativeDateFilter"
},
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
+ },
{
"$ref": "#/components/schemas/NegativeAttributeFilter"
},
@@ -1949,9 +2043,9 @@
}
},
"required": [
+ "label",
"literal",
- "matchType",
- "label"
+ "matchType"
],
"type": "object"
}
@@ -2044,6 +2138,22 @@
],
"type": "object"
},
+ "MetricDefinitionOverride": {
+ "description": "(EXPERIMENTAL) Override for a catalog metric definition.",
+ "properties": {
+ "definition": {
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
+ },
+ "item": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
+ }
+ },
+ "required": [
+ "definition",
+ "item"
+ ],
+ "type": "object"
+ },
"MetricRecord": {
"properties": {
"formattedValue": {
@@ -2078,8 +2188,8 @@
}
},
"required": [
- "notIn",
- "label"
+ "label",
+ "notIn"
],
"type": "object"
}
@@ -2533,9 +2643,9 @@
},
"required": [
"from",
+ "measure",
"operator",
- "to",
- "measure"
+ "to"
],
"type": "object"
}
@@ -2786,6 +2896,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"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,
@@ -2829,10 +2949,10 @@
}
},
"required": [
+ "dataset",
"from",
"granularity",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
diff --git a/schemas/gooddata-export-client.json b/schemas/gooddata-export-client.json
index 9180ea1f8..59f86d5ed 100644
--- a/schemas/gooddata-export-client.json
+++ b/schemas/gooddata-export-client.json
@@ -25,6 +25,13 @@
},
"type": "array"
},
+ "measureDefinitionOverrides": {
+ "description": "(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.",
+ "items": {
+ "$ref": "#/components/schemas/MetricDefinitionOverride"
+ },
+ "type": "array"
+ },
"measures": {
"description": "Metrics to be computed.",
"items": {
@@ -51,6 +58,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"example": "2020-07-01 18:23",
"pattern": "^\\d{4}-\\d{1,2}-\\d{1,2}( \\d{1,2}:\\d{1,2})?$",
@@ -66,9 +83,9 @@
}
},
"required": [
+ "dataset",
"from",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -277,6 +294,69 @@
],
"type": "object"
},
+ "AllTimeDateFilter": {
+ "description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
+ "properties": {
+ "allTimeDateFilter": {
+ "properties": {
+ "applyOnResult": {
+ "type": "boolean"
+ },
+ "dataset": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
+ },
+ "emptyValueHandling": {
+ "default": "INCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
+ "granularity": {
+ "default": "DAY",
+ "description": "Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.",
+ "enum": [
+ "MINUTE",
+ "HOUR",
+ "DAY",
+ "WEEK",
+ "MONTH",
+ "QUARTER",
+ "YEAR",
+ "MINUTE_OF_HOUR",
+ "HOUR_OF_DAY",
+ "DAY_OF_WEEK",
+ "DAY_OF_MONTH",
+ "DAY_OF_QUARTER",
+ "DAY_OF_YEAR",
+ "WEEK_OF_YEAR",
+ "MONTH_OF_YEAR",
+ "QUARTER_OF_YEAR",
+ "FISCAL_MONTH",
+ "FISCAL_QUARTER",
+ "FISCAL_YEAR"
+ ],
+ "example": "DAY",
+ "type": "string"
+ },
+ "localIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataset"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "allTimeDateFilter"
+ ],
+ "type": "object"
+ },
"ArithmeticMeasureDefinition": {
"description": "Metric representing arithmetics between other metrics.",
"properties": {
@@ -574,9 +654,9 @@
}
},
"required": [
+ "measure",
"operator",
- "value",
- "measure"
+ "value"
],
"type": "object"
}
@@ -754,6 +834,14 @@
"dataSet": {
"$ref": "#/components/schemas/IdentifierRef"
},
+ "emptyValueHandling": {
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"oneOf": [
{
@@ -939,6 +1027,9 @@
},
{
"$ref": "#/components/schemas/RelativeDateFilter"
+ },
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
}
],
"type": "object"
@@ -1009,6 +1100,9 @@
{
"$ref": "#/components/schemas/RelativeDateFilter"
},
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
+ },
{
"$ref": "#/components/schemas/NegativeAttributeFilter"
},
@@ -1218,9 +1312,9 @@
}
},
"required": [
+ "label",
"literal",
- "matchType",
- "label"
+ "matchType"
],
"type": "object"
}
@@ -1294,6 +1388,22 @@
],
"type": "object"
},
+ "MetricDefinitionOverride": {
+ "description": "(EXPERIMENTAL) Override for a catalog metric definition.",
+ "properties": {
+ "definition": {
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
+ },
+ "item": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
+ }
+ },
+ "required": [
+ "definition",
+ "item"
+ ],
+ "type": "object"
+ },
"NegativeAttributeFilter": {
"description": "Filter able to limit element values by label and related selected negated elements.",
"properties": {
@@ -1313,8 +1423,8 @@
}
},
"required": [
- "notIn",
- "label"
+ "label",
+ "notIn"
],
"type": "object"
}
@@ -1603,9 +1713,9 @@
},
"required": [
"from",
+ "measure",
"operator",
- "to",
- "measure"
+ "to"
],
"type": "object"
}
@@ -1817,6 +1927,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"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,
@@ -1860,10 +1980,10 @@
}
},
"required": [
+ "dataset",
"from",
"granularity",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json
index 9597ef2a6..baaa8cc58 100644
--- a/schemas/gooddata-metadata-client.json
+++ b/schemas/gooddata-metadata-client.json
@@ -70,6 +70,13 @@
},
"type": "array"
},
+ "measureDefinitionOverrides": {
+ "description": "(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.",
+ "items": {
+ "$ref": "#/components/schemas/MetricDefinitionOverride"
+ },
+ "type": "array"
+ },
"measures": {
"description": "Metrics to be computed.",
"items": {
@@ -4459,6 +4466,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"example": "2020-07-01 18:23",
"pattern": "^\\d{4}-\\d{1,2}-\\d{1,2}( \\d{1,2}:\\d{1,2})?$",
@@ -4474,9 +4491,9 @@
}
},
"required": [
+ "dataset",
"from",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -4755,6 +4772,69 @@
],
"type": "object"
},
+ "AllTimeDateFilter": {
+ "description": "An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.",
+ "properties": {
+ "allTimeDateFilter": {
+ "properties": {
+ "applyOnResult": {
+ "type": "boolean"
+ },
+ "dataset": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierDataset"
+ },
+ "emptyValueHandling": {
+ "default": "INCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE means no filtering effect (default), EXCLUDE removes rows with null dates, ONLY keeps only rows with null dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
+ "granularity": {
+ "default": "DAY",
+ "description": "Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.",
+ "enum": [
+ "MINUTE",
+ "HOUR",
+ "DAY",
+ "WEEK",
+ "MONTH",
+ "QUARTER",
+ "YEAR",
+ "MINUTE_OF_HOUR",
+ "HOUR_OF_DAY",
+ "DAY_OF_WEEK",
+ "DAY_OF_MONTH",
+ "DAY_OF_QUARTER",
+ "DAY_OF_YEAR",
+ "WEEK_OF_YEAR",
+ "MONTH_OF_YEAR",
+ "QUARTER_OF_YEAR",
+ "FISCAL_MONTH",
+ "FISCAL_QUARTER",
+ "FISCAL_YEAR"
+ ],
+ "example": "DAY",
+ "type": "string"
+ },
+ "localIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataset"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "allTimeDateFilter"
+ ],
+ "type": "object"
+ },
"AnomalyDetection": {
"properties": {
"dataset": {
@@ -5288,6 +5368,146 @@
],
"type": "object"
},
+ "AwsBedrockAccessKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "accessKeyId": {
+ "description": "AWS Access Key ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "secretAccessKey": {
+ "description": "AWS Secret Access Key.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "sessionToken": {
+ "description": "AWS Session Token (for temporary credentials).",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "ACCESS_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AwsBedrockProviderConfig": {
+ "description": "Configuration for AWS Bedrock provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/BedrockProviderAuth"
+ },
+ "region": {
+ "description": "AWS region for Bedrock.",
+ "example": "us-east-1",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AWS_BEDROCK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "region",
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "Azure API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AzureFoundryApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
+ "AzureFoundryProviderConfig": {
+ "description": "Configuration for Azure Foundry provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/AzureFoundryProviderAuth"
+ },
+ "endpoint": {
+ "description": "Azure AI inference endpoint URL.",
+ "example": "https://my-resource.services.ai.azure.com/models",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "AZURE_FOUNDRY"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "endpoint",
+ "type"
+ ],
+ "type": "object"
+ },
+ "BedrockProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockAccessKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"BoundedFilter": {
"description": "Bounding filter for this relative date filter. This can be used to limit the range of the relative date filter to a specific date range.",
"properties": {
@@ -5484,9 +5704,9 @@
}
},
"required": [
+ "measure",
"operator",
- "value",
- "measure"
+ "value"
],
"type": "object"
}
@@ -5716,6 +5936,14 @@
"dataSet": {
"$ref": "#/components/schemas/IdentifierRef"
},
+ "emptyValueHandling": {
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"from": {
"oneOf": [
{
@@ -6129,6 +6357,9 @@
},
{
"$ref": "#/components/schemas/RelativeDateFilter"
+ },
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
}
],
"type": "object"
@@ -6216,6 +6447,27 @@
},
"DeclarativeAnalyticalDashboard": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
@@ -6603,7 +6855,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -6625,7 +6877,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -6991,7 +7243,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -7013,7 +7265,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -7481,7 +7733,7 @@
"properties": {
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -7503,7 +7755,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8175,12 +8427,33 @@
},
"DeclarativeMetric": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8212,7 +8485,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -8751,6 +9024,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -8793,7 +9067,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"example": "TIMEZONE",
"type": "string"
@@ -8819,6 +9094,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -9256,12 +9533,33 @@
},
"DeclarativeVisualizationObject": {
"properties": {
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
+ "certifiedBy": {
+ "$ref": "#/components/schemas/DeclarativeUserIdentifier"
+ },
"content": {
"$ref": "#/components/schemas/JsonNode"
},
"createdAt": {
"description": "Time of the entity creation.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -9288,7 +9586,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
- "example": "[\"2023-07-20 12:30\"]",
+ "example": "2023-07-20 12:30",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
"type": "string"
@@ -9612,6 +9910,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -9777,6 +10077,15 @@
"$ref": "#/components/schemas/EntityIdentifier"
},
"type": "array"
+ },
+ "relation": {
+ "default": "DEPENDENTS",
+ "description": "Entity relation for graph traversal from the entry points. DEPENDENTS returns entities that depend on the entry points. DEPENDENCIES returns entities that the entry points depend on.",
+ "enum": [
+ "DEPENDENTS",
+ "DEPENDENCIES"
+ ],
+ "type": "string"
}
},
"required": [
@@ -10110,6 +10419,9 @@
{
"$ref": "#/components/schemas/RelativeDateFilter"
},
+ {
+ "$ref": "#/components/schemas/AllTimeDateFilter"
+ },
{
"$ref": "#/components/schemas/NegativeAttributeFilter"
},
@@ -10936,6 +11248,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"description": "Free-form JSON content. Maximum supported length is 250000 characters.",
"example": {
@@ -10949,6 +11281,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -10960,6 +11293,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -11055,6 +11389,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -11668,6 +12013,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -11679,6 +12025,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -12691,6 +13038,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -12778,6 +13126,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -14677,6 +15026,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -14688,6 +15038,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -16391,6 +16742,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -16402,6 +16754,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -20362,6 +20715,369 @@
],
"type": "object"
},
+ "JsonApiLlmProviderIn": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "models",
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderInDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderIn"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOut": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "required": [
+ "models",
+ "providerConfig"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOut"
+ },
+ "links": {
+ "$ref": "#/components/schemas/ObjectLinks"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutList": {
+ "description": "A JSON:API document with a list of resources",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutWithLinks"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "links": {
+ "$ref": "#/components/schemas/ListLinks"
+ },
+ "meta": {
+ "properties": {
+ "page": {
+ "$ref": "#/components/schemas/PageMetadata"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderOutWithLinks": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOut"
+ },
+ {
+ "$ref": "#/components/schemas/ObjectLinksContainer"
+ }
+ ]
+ },
+ "JsonApiLlmProviderPatch": {
+ "description": "LLM Provider configuration for connecting to LLM services.",
+ "properties": {
+ "attributes": {
+ "properties": {
+ "defaultModelId": {
+ "description": "ID of the default model to use from the models list.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the LLM Provider.",
+ "maxLength": 10000,
+ "nullable": true,
+ "type": "string"
+ },
+ "models": {
+ "description": "List of LLM models available for this provider.",
+ "items": {
+ "description": "LLM Model configuration (id, family) within a provider.",
+ "properties": {
+ "family": {
+ "description": "Family of LLM models.",
+ "enum": [
+ "OPENAI",
+ "ANTHROPIC",
+ "META",
+ "MISTRAL",
+ "AMAZON",
+ "GOOGLE",
+ "COHERE"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the model (e.g., gpt-5.3, claude-4.6).",
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "family",
+ "id"
+ ],
+ "type": "object"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "name": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "providerConfig": {
+ "description": "Provider-specific configuration including authentication.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/AwsBedrockProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/AzureFoundryProviderConfig"
+ },
+ {
+ "$ref": "#/components/schemas/OpenAIProviderConfig"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "API identifier of an object",
+ "example": "id1",
+ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object type",
+ "enum": [
+ "llmProvider"
+ ],
+ "example": "llmProvider",
+ "type": "string"
+ }
+ },
+ "required": [
+ "attributes",
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "JsonApiLlmProviderPatchDocument": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatch"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"JsonApiMemoryItemIn": {
"description": "JSON:API representation of memoryItem entity.",
"properties": {
@@ -20458,6 +21174,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -20485,6 +21202,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -20944,6 +21662,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"properties": {
"format": {
@@ -20972,6 +21710,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -20989,6 +21728,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -21055,6 +21795,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -22391,6 +23142,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -22433,7 +23185,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -22488,6 +23241,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -22530,7 +23284,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -22625,6 +23380,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -22667,7 +23423,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -24128,6 +24885,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -24170,7 +24928,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -24225,6 +24984,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -24267,7 +25027,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -24464,6 +25225,26 @@
"areRelationsValid": {
"type": "boolean"
},
+ "certification": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "type": "string"
+ },
+ "certificationMessage": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "certifiedAt": {
+ "description": "Time when the certification was set.",
+ "example": "2023-07-20 12:30",
+ "format": "date-time",
+ "nullable": true,
+ "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
+ "type": "string"
+ },
"content": {
"description": "Free-form JSON content. Maximum supported length is 250000 characters.",
"example": {
@@ -24477,6 +25258,7 @@
},
"createdAt": {
"description": "Time of the entity creation.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -24491,6 +25273,7 @@
},
"modifiedAt": {
"description": "Time of the last entity modification.",
+ "example": "2023-07-20 12:30",
"format": "date-time",
"nullable": true,
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}",
@@ -24557,6 +25340,17 @@
],
"type": "object"
},
+ "certifiedBy": {
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+ },
"createdBy": {
"properties": {
"data": {
@@ -26203,6 +26997,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -26443,6 +27239,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26485,7 +27282,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26540,6 +27338,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26582,7 +27381,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26703,6 +27503,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26745,7 +27546,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26800,6 +27602,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -26842,7 +27645,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"type": "string"
}
@@ -26937,6 +27741,17 @@
}
]
},
+ "LlmProviderAuth": {
+ "properties": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
"LocalIdentifier": {
"properties": {
"format": {
@@ -27018,9 +27833,9 @@
}
},
"required": [
+ "label",
"literal",
- "matchType",
- "label"
+ "matchType"
],
"type": "object"
}
@@ -27094,6 +27909,22 @@
],
"type": "object"
},
+ "MetricDefinitionOverride": {
+ "description": "(EXPERIMENTAL) Override for a catalog metric definition.",
+ "properties": {
+ "definition": {
+ "$ref": "#/components/schemas/InlineMeasureDefinition"
+ },
+ "item": {
+ "$ref": "#/components/schemas/AfmObjectIdentifierCore"
+ }
+ },
+ "required": [
+ "definition",
+ "item"
+ ],
+ "type": "object"
+ },
"NegativeAttributeFilter": {
"description": "Filter able to limit element values by label and related selected negated elements.",
"properties": {
@@ -27113,8 +27944,8 @@
}
},
"required": [
- "notIn",
- "label"
+ "label",
+ "notIn"
],
"type": "object"
}
@@ -27212,6 +28043,75 @@
},
"type": "object"
},
+ "OpenAIProviderConfig": {
+ "description": "Configuration for OpenAI provider.",
+ "properties": {
+ "auth": {
+ "$ref": "#/components/schemas/OpenAiProviderAuth"
+ },
+ "baseUrl": {
+ "default": "https://api.openai.com",
+ "description": "Custom base URL for OpenAI API.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "organization": {
+ "description": "OpenAI organization ID.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Provider type.",
+ "enum": [
+ "OPENAI"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "auth",
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiApiKeyAuth": {
+ "allOf": [
+ {
+ "properties": {
+ "apiKey": {
+ "description": "OpenAI API key.",
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string",
+ "writeOnly": true
+ },
+ "type": {
+ "description": "Authentication type.",
+ "enum": [
+ "API_KEY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ ],
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "OpenAiProviderAuth": {
+ "description": "Authentication configuration.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/OpenAiApiKeyAuth"
+ }
+ ],
+ "type": "object"
+ },
"OrganizationAutomationIdentifier": {
"properties": {
"id": {
@@ -27771,9 +28671,9 @@
},
"required": [
"from",
+ "measure",
"operator",
- "to",
- "measure"
+ "to"
],
"type": "object"
}
@@ -28081,6 +28981,16 @@
"dataset": {
"$ref": "#/components/schemas/AfmObjectIdentifierDataset"
},
+ "emptyValueHandling": {
+ "default": "EXCLUDE",
+ "description": "Specifies how rows with empty (null/missing) date values should be handled. INCLUDE includes empty dates in addition to the date range restriction, EXCLUDE removes rows with empty dates (default), ONLY keeps only rows with empty dates.",
+ "enum": [
+ "INCLUDE",
+ "EXCLUDE",
+ "ONLY"
+ ],
+ "type": "string"
+ },
"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,
@@ -28124,10 +29034,10 @@
}
},
"required": [
+ "dataset",
"from",
"granularity",
- "to",
- "dataset"
+ "to"
],
"type": "object"
}
@@ -28185,6 +29095,7 @@
"ACTIVE_THEME",
"ACTIVE_COLOR_PALETTE",
"ACTIVE_LLM_ENDPOINT",
+ "ACTIVE_LLM_PROVIDER",
"ACTIVE_CALENDARS",
"WHITE_LABELING",
"LOCALE",
@@ -28227,7 +29138,8 @@
"ENABLE_NULL_JOINS",
"EXPORT_CSV_CUSTOM_DELIMITER",
"ENABLE_QUERY_TAGS",
- "RESTRICT_BASE_UI"
+ "RESTRICT_BASE_UI",
+ "CERTIFY_PARENT_OBJECTS"
],
"example": "TIMEZONE",
"type": "string"
@@ -28252,6 +29164,8 @@
"type": "string"
},
"kid": {
+ "maxLength": 255,
+ "pattern": "^[^.]",
"type": "string"
},
"kty": {
@@ -28345,6 +29259,43 @@
},
"type": "object"
},
+ "SetCertificationRequest": {
+ "description": "Request to set or clear the certification of a workspace entity.",
+ "properties": {
+ "id": {
+ "description": "ID of the entity.",
+ "example": "total-sales",
+ "type": "string"
+ },
+ "message": {
+ "description": "Optional message associated with the certification.",
+ "nullable": true,
+ "type": "string"
+ },
+ "status": {
+ "description": "Certification status of the entity.",
+ "enum": [
+ "CERTIFIED"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the entity.",
+ "enum": [
+ "metric",
+ "visualizationObject",
+ "analyticalDashboard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
"Settings": {
"description": "Additional settings.",
"properties": {
@@ -29039,6 +29990,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -29063,6 +30016,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -29337,6 +30292,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -29354,6 +30311,8 @@
"EXPORT_PDF",
"CREATE_AUTOMATION",
"USE_AI_ASSISTANT",
+ "WRITE_KNOWLEDGE_DOCUMENTS",
+ "READ_KNOWLEDGE_DOCUMENTS",
"CREATE_FILTER_VIEW",
"VIEW"
],
@@ -31506,6 +32465,48 @@
}
}
},
+ "/api/v1/actions/workspaces/{workspaceId}/setCertification": {
+ "post": {
+ "description": "Set or clear the certification (e.g. CERTIFIED) of a workspace entity. Requires MANAGE permission.",
+ "operationId": "setCertification",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SetCertificationRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "summary": "Set Certification",
+ "tags": [
+ "actions",
+ "Certification"
+ ],
+ "x-gdc-security-info": {
+ "description": "Minimal permission required to use this endpoint.",
+ "permissions": [
+ "MANAGE"
+ ]
+ }
+ }
+ },
"/api/v1/actions/workspaces/{workspaceId}/translations": {
"get": {
"description": "Provides a list of effective translation tags.",
@@ -34704,7 +35705,7 @@
"parameters": [
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -34818,7 +35819,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -34845,7 +35846,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -34885,7 +35886,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -34940,7 +35941,7 @@
},
{
"description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
- "example": "title==someString;provider==LLMProviderValue",
+ "example": "title==someString;provider==LlmEndpointProviderValue",
"in": "query",
"name": "filter",
"schema": {
@@ -34988,6 +35989,298 @@
]
}
},
+ "/api/v1/entities/llmProviders": {
+ "get": {
+ "operationId": "getAllEntities@LlmProviders",
+ "parameters": [
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "$ref": "#/components/parameters/page"
+ },
+ {
+ "$ref": "#/components/parameters/size"
+ },
+ {
+ "$ref": "#/components/parameters/sort"
+ },
+ {
+ "description": "Include Meta objects.",
+ "example": "metaInclude=page,all",
+ "explode": false,
+ "in": "query",
+ "name": "metaInclude",
+ "required": false,
+ "schema": {
+ "description": "Included meta objects",
+ "items": {
+ "enum": [
+ "page",
+ "all",
+ "ALL"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "style": "form"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutList"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutList"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Get all LLM Provider entities",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "post": {
+ "description": "LLM Provider - connection configuration for LLM services",
+ "operationId": "createEntity@LlmProviders",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Post LLM Provider entities",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ }
+ },
+ "/api/v1/entities/llmProviders/{id}": {
+ "delete": {
+ "operationId": "deleteEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "$ref": "#/components/responses/Deleted"
+ }
+ },
+ "summary": "Delete LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "get": {
+ "operationId": "getEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Get LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "patch": {
+ "operationId": "patchEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatchDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderPatchDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "Patch LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ },
+ "put": {
+ "operationId": "updateEntity@LlmProviders",
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/idPathParameter"
+ },
+ {
+ "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').",
+ "example": "name==someString;description==someString",
+ "in": "query",
+ "name": "filter",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderInDocument"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ },
+ "application/vnd.gooddata.api+json": {
+ "schema": {
+ "$ref": "#/components/schemas/JsonApiLlmProviderOutDocument"
+ }
+ }
+ },
+ "description": "Request successfully processed"
+ }
+ },
+ "summary": "PUT LLM Provider entity",
+ "tags": [
+ "LLM Providers",
+ "entities",
+ "organization-model-controller"
+ ]
+ }
+ },
"/api/v1/entities/notificationChannelIdentifiers": {
"get": {
"operationId": "getAllEntities@NotificationChannelIdentifiers",
@@ -38490,7 +39783,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -38508,6 +39801,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -38603,7 +39897,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -38621,6 +39915,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -38857,7 +40152,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -38875,6 +40170,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -38977,7 +40273,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -38995,6 +40291,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -39079,7 +40376,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
+ "example": "createdBy,modifiedBy,certifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins",
"explode": false,
"in": "query",
"name": "include",
@@ -39097,6 +40394,7 @@
"dashboardPlugins",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -46637,7 +47935,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -46653,6 +47951,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -46746,7 +48045,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -46762,6 +48061,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -46996,7 +48296,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -47012,6 +48312,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47112,7 +48413,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -47128,6 +48429,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47212,7 +48514,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -47228,6 +48530,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -47968,7 +49271,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -47984,6 +49287,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -48077,7 +49381,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -48093,6 +49397,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -48327,7 +49632,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -48343,6 +49648,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -48443,7 +49749,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -48459,6 +49765,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
@@ -48543,7 +49850,7 @@
},
{
"description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.",
- "example": "createdBy,modifiedBy,facts,attributes,labels,metrics,datasets",
+ "example": "createdBy,modifiedBy,certifiedBy,facts,attributes,labels,metrics,datasets",
"explode": false,
"in": "query",
"name": "include",
@@ -48559,6 +49866,7 @@
"datasets",
"createdBy",
"modifiedBy",
+ "certifiedBy",
"ALL"
],
"type": "string"
diff --git a/scripts/generate_client.sh b/scripts/generate_client.sh
index a83274fa7..f3ea6e587 100755
--- a/scripts/generate_client.sh
+++ b/scripts/generate_client.sh
@@ -127,7 +127,7 @@ docker run --rm \
-v "${ROOT_DIR}:/local" \
-u $(id -u ${USER}):$(id -g ${USER}) \
${CONN_NETWORK_ARG} \
- openapitools/openapi-generator-cli:v6.0.1 generate \
+ openapitools/openapi-generator-cli:v6.6.0 generate \
-c "/local/.openapi-generator/configs/${GD_API_CLIENT}.yaml" \
-i "${GD_API_URI_PATH}" \
-o "/local/${GD_API_CLIENT}"