diff --git a/Makefile b/Makefile
index bbb2f2c6c..307575326 100644
--- a/Makefile
+++ b/Makefile
@@ -58,6 +58,11 @@ api-client: download
rm -f schemas/gooddata-api-client.json
cat schemas/gooddata-*.json | jq -S -s 'reduce .[] as $$item ({}; . * $$item) + { tags : ( reduce .[].tags as $$item (null; . + $$item) | unique_by(.name) ) }' | sed '/\u0000/d' > "schemas/gooddata-api-client.json"
$(call generate_client,api)
+ # OpenAPI Generator drops the \x00 literal from regex patterns like ^[^\x00]*$,
+ # producing the invalid Python regex ^[^]*$. Restore the null-byte escape.
+ find gooddata-api-client/gooddata_api_client -name '*.py' -exec \
+ sed -i.bak 's/\^\[\^\]\*\$$/^[^\\x00]*$$/g' {} + && \
+ find gooddata-api-client/gooddata_api_client -name '*.py.bak' -delete
.PHONY: download
download:
@@ -66,6 +71,7 @@ download:
$(call download_client,scan)
$(call download_client,"export")
$(call download_client,automation)
+ $(call download_client,result)
.PHONY: type-check
type-check:
diff --git a/docs/content/en/latest/data/data-source/_index.md b/docs/content/en/latest/data/data-source/_index.md
index 9a8829d31..4a493c7ec 100644
--- a/docs/content/en/latest/data/data-source/_index.md
+++ b/docs/content/en/latest/data/data-source/_index.md
@@ -37,6 +37,14 @@ See [Connect Data](https://www.gooddata.com/docs/cloud/connect-data/) to learn h
* [scan_schemata](./scan_schemata/)
* [scan_sql](./scan_sql/)
+### CSV Upload Methods
+
+* [staging_upload](./staging_upload/)
+* [analyze_csv](./analyze_csv/)
+* [import_csv](./import_csv/)
+* [delete_csv_files](./delete_csv_files/)
+* [upload_csv](./upload_csv/)
+
## Example
diff --git a/docs/content/en/latest/data/data-source/analyze_csv.md b/docs/content/en/latest/data/data-source/analyze_csv.md
new file mode 100644
index 000000000..4219f51fc
--- /dev/null
+++ b/docs/content/en/latest/data/data-source/analyze_csv.md
@@ -0,0 +1,37 @@
+---
+title: "analyze_csv"
+linkTitle: "analyze_csv"
+weight: 191
+superheading: "catalog_data_source."
+---
+
+
+
+``analyze_csv(location: str)``
+
+Analyzes an uploaded CSV file in the staging area. Returns column metadata, detected types, preview data, and a config object that can be passed to import_csv.
+
+{{% parameters-block title="Parameters"%}}
+
+{{< parameter p_name="location" p_type="string" >}}
+Location string returned by staging_upload.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+{{% parameters-block title="Returns"%}}
+
+{{< parameter p_type="AnalyzeCsvResponse" >}}
+Analysis result with columns, preview data, and config.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+## Example
+
+```python
+# Analyze a previously uploaded CSV file
+analysis = sdk.catalog_data_source.analyze_csv(location="staging/some-location")
+for col in analysis["columns"]:
+ print(f"{col['name']}: {col['type']}")
+```
diff --git a/docs/content/en/latest/data/data-source/delete_csv_files.md b/docs/content/en/latest/data/data-source/delete_csv_files.md
new file mode 100644
index 000000000..d8ce004f3
--- /dev/null
+++ b/docs/content/en/latest/data/data-source/delete_csv_files.md
@@ -0,0 +1,37 @@
+---
+title: "delete_csv_files"
+linkTitle: "delete_csv_files"
+weight: 193
+superheading: "catalog_data_source."
+---
+
+
+
+``delete_csv_files(data_source_id: str, file_names: list[str])``
+
+Deletes files from a GDSTORAGE data source.
+
+{{% parameters-block title="Parameters"%}}
+
+{{< parameter p_name="data_source_id" p_type="string" >}}
+Data source identification string.
+{{< /parameter >}}
+
+{{< parameter p_name="file_names" p_type="list[string]" >}}
+List of file names to delete.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+{{% parameters-block title="Returns" None="yes"%}}
+{{% /parameters-block %}}
+
+## Example
+
+```python
+# Delete specific files from a GDSTORAGE data source
+sdk.catalog_data_source.delete_csv_files(
+ data_source_id="my-gdstorage-ds",
+ file_names=["my_table.csv"],
+)
+```
diff --git a/docs/content/en/latest/data/data-source/import_csv.md b/docs/content/en/latest/data/data-source/import_csv.md
new file mode 100644
index 000000000..1b0bcf41e
--- /dev/null
+++ b/docs/content/en/latest/data/data-source/import_csv.md
@@ -0,0 +1,49 @@
+---
+title: "import_csv"
+linkTitle: "import_csv"
+weight: 192
+superheading: "catalog_data_source."
+---
+
+
+
+``import_csv(data_source_id: str, table_name: str, location: str, config: Optional[dict] = None)``
+
+Imports a CSV file from the staging area into a GDSTORAGE data source.
+
+{{% parameters-block title="Parameters"%}}
+
+{{< parameter p_name="data_source_id" p_type="string" >}}
+Data source identification string.
+{{< /parameter >}}
+
+{{< parameter p_name="table_name" p_type="string" >}}
+Name for the table to create or replace.
+{{< /parameter >}}
+
+{{< parameter p_name="location" p_type="string" >}}
+Location string returned by staging_upload.
+{{< /parameter >}}
+
+{{< parameter p_name="config" p_type="Optional[dict]" >}}
+Source config dict, typically from analyze_csv response. Optional.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+{{% parameters-block title="Returns" None="yes"%}}
+{{% /parameters-block %}}
+
+## Example
+
+```python
+# Import a CSV into a GDSTORAGE data source using config from analysis
+analysis = sdk.catalog_data_source.analyze_csv(location=location)
+config = analysis.to_dict().get("config")
+sdk.catalog_data_source.import_csv(
+ data_source_id="my-gdstorage-ds",
+ table_name="my_table",
+ location=location,
+ config=config,
+)
+```
diff --git a/docs/content/en/latest/data/data-source/staging_upload.md b/docs/content/en/latest/data/data-source/staging_upload.md
new file mode 100644
index 000000000..27ef32105
--- /dev/null
+++ b/docs/content/en/latest/data/data-source/staging_upload.md
@@ -0,0 +1,37 @@
+---
+title: "staging_upload"
+linkTitle: "staging_upload"
+weight: 190
+superheading: "catalog_data_source."
+---
+
+
+
+``staging_upload(csv_file: Path)``
+
+Uploads a CSV file to the staging area and returns a location string that can be used in subsequent calls to analyze_csv and import_csv.
+
+{{% parameters-block title="Parameters"%}}
+
+{{< parameter p_name="csv_file" p_type="Path" >}}
+Path to the CSV file to upload.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+{{% parameters-block title="Returns"%}}
+
+{{< parameter p_type="string" >}}
+Location string referencing the uploaded file in staging.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+## Example
+
+```python
+from pathlib import Path
+
+# Upload a CSV file to staging
+location = sdk.catalog_data_source.staging_upload(csv_file=Path("data.csv"))
+```
diff --git a/docs/content/en/latest/data/data-source/upload_csv.md b/docs/content/en/latest/data/data-source/upload_csv.md
new file mode 100644
index 000000000..96a105d57
--- /dev/null
+++ b/docs/content/en/latest/data/data-source/upload_csv.md
@@ -0,0 +1,44 @@
+---
+title: "upload_csv"
+linkTitle: "upload_csv"
+weight: 194
+superheading: "catalog_data_source."
+---
+
+
+
+``upload_csv(data_source_id: str, csv_file: Path, table_name: str)``
+
+Convenience method that uploads a CSV file and imports it into a GDSTORAGE data source in a single call. Orchestrates the full flow: staging_upload → analyze_csv → import_csv → register_upload_notification.
+
+{{% parameters-block title="Parameters"%}}
+
+{{< parameter p_name="data_source_id" p_type="string" >}}
+Data source identification string for a GDSTORAGE data source.
+{{< /parameter >}}
+
+{{< parameter p_name="csv_file" p_type="Path" >}}
+Path to the CSV file to upload.
+{{< /parameter >}}
+
+{{< parameter p_name="table_name" p_type="string" >}}
+Name for the table to create or replace in the data source.
+{{< /parameter >}}
+
+{{% /parameters-block %}}
+
+{{% parameters-block title="Returns" None="yes"%}}
+{{% /parameters-block %}}
+
+## Example
+
+```python
+from pathlib import Path
+
+# Upload a CSV file end-to-end in a single call
+sdk.catalog_data_source.upload_csv(
+ data_source_id="my-gdstorage-ds",
+ csv_file=Path("data.csv"),
+ table_name="my_table",
+)
+```
diff --git a/gooddata-api-client/.github/workflows/python.yml b/gooddata-api-client/.github/workflows/python.yml
new file mode 100644
index 000000000..b6615b3eb
--- /dev/null
+++ b/gooddata-api-client/.github/workflows/python.yml
@@ -0,0 +1,31 @@
+# NOTE: This file is auto generated by OpenAPI Generator.
+# URL: https://openapi-generator.tech
+#
+# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
+
+name: gooddata_api_client Python package
+
+on: [push, pull_request]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install -r requirements.txt
+ pip install -r test-requirements.txt
+ - name: Test with pytest
+ run: |
+ pytest --cov=gooddata_api_client
diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES
index 07aa05f83..5a0352f58 100644
--- a/gooddata-api-client/.openapi-generator/FILES
+++ b/gooddata-api-client/.openapi-generator/FILES
@@ -91,6 +91,12 @@ docs/AnalyticsCatalogCreatedBy.md
docs/AnalyticsCatalogTags.md
docs/AnalyticsCatalogUser.md
docs/AnalyticsModelApi.md
+docs/AnalyzeCsvRequest.md
+docs/AnalyzeCsvRequestItem.md
+docs/AnalyzeCsvRequestItemConfig.md
+docs/AnalyzeCsvResponse.md
+docs/AnalyzeCsvResponseColumn.md
+docs/AnalyzeCsvResponseConfig.md
docs/AnomalyDetection.md
docs/AnomalyDetectionConfig.md
docs/AnomalyDetectionRequest.md
@@ -150,6 +156,9 @@ docs/AzureFoundryProviderConfig.md
docs/BedrockProviderAuth.md
docs/BoundedFilter.md
docs/CSPDirectivesApi.md
+docs/CacheRemovalInterval.md
+docs/CacheUsageApi.md
+docs/CacheUsageData.md
docs/CertificationApi.md
docs/ChangeAnalysisParams.md
docs/ChangeAnalysisParamsFiltersInner.md
@@ -183,6 +192,8 @@ docs/CompoundMeasureValueFilter.md
docs/CompoundMeasureValueFilterCompoundMeasureValueFilter.md
docs/ComputationApi.md
docs/ContentSlideTemplate.md
+docs/ConvertGeoFileRequest.md
+docs/ConvertGeoFileResponse.md
docs/CookieSecurityConfigurationApi.md
docs/CoverSlideTemplate.md
docs/CreateKnowledgeDocumentRequestDto.md
@@ -190,6 +201,11 @@ docs/CreateKnowledgeDocumentResponseDto.md
docs/CreatedVisualization.md
docs/CreatedVisualizationFiltersInner.md
docs/CreatedVisualizations.md
+docs/CsvConvertOptions.md
+docs/CsvConvertOptionsColumnType.md
+docs/CsvManifestBody.md
+docs/CsvParseOptions.md
+docs/CsvReadOptions.md
docs/CustomLabel.md
docs/CustomMetric.md
docs/CustomOverride.md
@@ -210,9 +226,15 @@ docs/DataColumnLocators.md
docs/DataFiltersApi.md
docs/DataSourceDeclarativeAPIsApi.md
docs/DataSourceEntityAPIsApi.md
+docs/DataSourceFilesAnalysisApi.md
+docs/DataSourceFilesDeletionApi.md
+docs/DataSourceFilesImportApi.md
+docs/DataSourceFilesListingApi.md
+docs/DataSourceFilesManifestReadApi.md
docs/DataSourceParameter.md
docs/DataSourcePermissionAssignment.md
docs/DataSourceSchemata.md
+docs/DataSourceStagingLocationApi.md
docs/DataSourceTableIdentifier.md
docs/DatabaseInstance.md
docs/DatasetGrain.md
@@ -315,6 +337,7 @@ docs/DeclarativeWorkspacePermissions.md
docs/DeclarativeWorkspaces.md
docs/DefaultSmtp.md
docs/DefaultSmtpAllOf.md
+docs/DeleteFilesRequest.md
docs/DeleteKnowledgeDocumentResponseDto.md
docs/DependencyGraphApi.md
docs/DependentEntitiesGraph.md
@@ -372,6 +395,7 @@ docs/FoundObjects.md
docs/Frequency.md
docs/FrequencyBucket.md
docs/FrequencyProperties.md
+docs/GdStorageFile.md
docs/GenerateDescriptionRequest.md
docs/GenerateDescriptionResponse.md
docs/GenerateLdmRequest.md
@@ -380,6 +404,9 @@ docs/GenerateTitleRequest.md
docs/GenerateTitleResponse.md
docs/GeoAreaConfig.md
docs/GeoCollectionIdentifier.md
+docs/GeoJsonFeature.md
+docs/GeoJsonFeatureCollection.md
+docs/GeoJsonGeometry.md
docs/GeographicDataApi.md
docs/GetAiLakeOperation200Response.md
docs/GetImageExport202ResponseInner.md
@@ -399,6 +426,13 @@ docs/IdentifierRefIdentifier.md
docs/IdentityProvidersApi.md
docs/ImageExportApi.md
docs/ImageExportRequest.md
+docs/ImportCsvRequest.md
+docs/ImportCsvRequestTable.md
+docs/ImportCsvRequestTableSource.md
+docs/ImportCsvRequestTableSourceConfig.md
+docs/ImportCsvResponse.md
+docs/ImportGeoCollectionRequest.md
+docs/ImportGeoCollectionResponse.md
docs/InPlatform.md
docs/InPlatformAllOf.md
docs/InlineFilterDefinition.md
@@ -1056,6 +1090,7 @@ docs/NotificationFilter.md
docs/Notifications.md
docs/NotificationsMeta.md
docs/NotificationsMetaTotal.md
+docs/OGCAPIFeaturesApi.md
docs/ObjectLinks.md
docs/ObjectLinksContainer.md
docs/OpenAIProviderConfig.md
@@ -1068,7 +1103,10 @@ docs/OptionsApi.md
docs/OrganizationApi.md
docs/OrganizationAutomationIdentifier.md
docs/OrganizationAutomationManagementBulkRequest.md
+docs/OrganizationCacheSettings.md
+docs/OrganizationCacheUsage.md
docs/OrganizationControllerApi.md
+docs/OrganizationCurrentCacheUsage.md
docs/OrganizationDeclarativeAPIsApi.md
docs/OrganizationEntityAPIsApi.md
docs/OrganizationModelControllerApi.md
@@ -1121,6 +1159,9 @@ docs/RawCustomOverride.md
docs/RawExportApi.md
docs/RawExportAutomationRequest.md
docs/RawExportRequest.md
+docs/ReadCsvFileManifestsRequest.md
+docs/ReadCsvFileManifestsRequestItem.md
+docs/ReadCsvFileManifestsResponse.md
docs/Reasoning.md
docs/ReasoningStep.md
docs/ReferenceIdentifier.md
@@ -1209,6 +1250,8 @@ docs/TotalResultHeader.md
docs/TranslationsApi.md
docs/TriggerAutomationRequest.md
docs/TriggerQualityIssuesCalculationResponse.md
+docs/UploadFileResponse.md
+docs/UploadGeoCollectionFileResponse.md
docs/UpsertKnowledgeDocumentRequestDto.md
docs/UpsertKnowledgeDocumentResponseDto.md
docs/UsageApi.md
@@ -1258,6 +1301,9 @@ docs/WhatIfScenarioItem.md
docs/WidgetSlidesTemplate.md
docs/WorkspaceAutomationIdentifier.md
docs/WorkspaceAutomationManagementBulkRequest.md
+docs/WorkspaceCacheSettings.md
+docs/WorkspaceCacheUsage.md
+docs/WorkspaceCurrentCacheUsage.md
docs/WorkspaceDataSource.md
docs/WorkspaceIdentifier.md
docs/WorkspaceObjectControllerApi.md
@@ -1286,6 +1332,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/cache_usage_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
@@ -1294,6 +1341,12 @@ gooddata_api_client/api/dashboards_api.py
gooddata_api_client/api/data_filters_api.py
gooddata_api_client/api/data_source_declarative_apis_api.py
gooddata_api_client/api/data_source_entity_apis_api.py
+gooddata_api_client/api/data_source_files_analysis_api.py
+gooddata_api_client/api/data_source_files_deletion_api.py
+gooddata_api_client/api/data_source_files_import_api.py
+gooddata_api_client/api/data_source_files_listing_api.py
+gooddata_api_client/api/data_source_files_manifest_read_api.py
+gooddata_api_client/api/data_source_staging_location_api.py
gooddata_api_client/api/datasets_api.py
gooddata_api_client/api/dependency_graph_api.py
gooddata_api_client/api/entities_api.py
@@ -1320,6 +1373,7 @@ gooddata_api_client/api/metadata_check_api.py
gooddata_api_client/api/metadata_sync_api.py
gooddata_api_client/api/metrics_api.py
gooddata_api_client/api/notification_channels_api.py
+gooddata_api_client/api/ogcapi_features_api.py
gooddata_api_client/api/options_api.py
gooddata_api_client/api/organization_api.py
gooddata_api_client/api/organization_controller_api.py
@@ -1440,6 +1494,12 @@ 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/analyze_csv_request.py
+gooddata_api_client/model/analyze_csv_request_item.py
+gooddata_api_client/model/analyze_csv_request_item_config.py
+gooddata_api_client/model/analyze_csv_response.py
+gooddata_api_client/model/analyze_csv_response_column.py
+gooddata_api_client/model/analyze_csv_response_config.py
gooddata_api_client/model/anomaly_detection.py
gooddata_api_client/model/anomaly_detection_config.py
gooddata_api_client/model/anomaly_detection_request.py
@@ -1492,6 +1552,8 @@ 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/cache_removal_interval.py
+gooddata_api_client/model/cache_usage_data.py
gooddata_api_client/model/change_analysis_params.py
gooddata_api_client/model/change_analysis_params_filters_inner.py
gooddata_api_client/model/change_analysis_request.py
@@ -1523,12 +1585,19 @@ gooddata_api_client/model/comparison_wrapper.py
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/convert_geo_file_request.py
+gooddata_api_client/model/convert_geo_file_response.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
+gooddata_api_client/model/csv_convert_options.py
+gooddata_api_client/model/csv_convert_options_column_type.py
+gooddata_api_client/model/csv_manifest_body.py
+gooddata_api_client/model/csv_parse_options.py
+gooddata_api_client/model/csv_read_options.py
gooddata_api_client/model/custom_label.py
gooddata_api_client/model/custom_metric.py
gooddata_api_client/model/custom_override.py
@@ -1649,6 +1718,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_files_request.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
@@ -1698,6 +1768,7 @@ 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/gd_storage_file.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
@@ -1705,6 +1776,9 @@ 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/geo_json_feature.py
+gooddata_api_client/model/geo_json_feature_collection.py
+gooddata_api_client/model/geo_json_geometry.py
gooddata_api_client/model/get_ai_lake_operation200_response.py
gooddata_api_client/model/get_image_export202_response_inner.py
gooddata_api_client/model/get_quality_issues_response.py
@@ -1720,6 +1794,13 @@ gooddata_api_client/model/identifier_duplications.py
gooddata_api_client/model/identifier_ref.py
gooddata_api_client/model/identifier_ref_identifier.py
gooddata_api_client/model/image_export_request.py
+gooddata_api_client/model/import_csv_request.py
+gooddata_api_client/model/import_csv_request_table.py
+gooddata_api_client/model/import_csv_request_table_source.py
+gooddata_api_client/model/import_csv_request_table_source_config.py
+gooddata_api_client/model/import_csv_response.py
+gooddata_api_client/model/import_geo_collection_request.py
+gooddata_api_client/model/import_geo_collection_response.py
gooddata_api_client/model/in_platform.py
gooddata_api_client/model/in_platform_all_of.py
gooddata_api_client/model/inline_filter_definition.py
@@ -2375,6 +2456,9 @@ gooddata_api_client/model/operation.py
gooddata_api_client/model/operation_error.py
gooddata_api_client/model/organization_automation_identifier.py
gooddata_api_client/model/organization_automation_management_bulk_request.py
+gooddata_api_client/model/organization_cache_settings.py
+gooddata_api_client/model/organization_cache_usage.py
+gooddata_api_client/model/organization_current_cache_usage.py
gooddata_api_client/model/organization_permission_assignment.py
gooddata_api_client/model/outlier_detection_request.py
gooddata_api_client/model/outlier_detection_response.py
@@ -2421,6 +2505,9 @@ gooddata_api_client/model/raw_custom_metric.py
gooddata_api_client/model/raw_custom_override.py
gooddata_api_client/model/raw_export_automation_request.py
gooddata_api_client/model/raw_export_request.py
+gooddata_api_client/model/read_csv_file_manifests_request.py
+gooddata_api_client/model/read_csv_file_manifests_request_item.py
+gooddata_api_client/model/read_csv_file_manifests_response.py
gooddata_api_client/model/reasoning.py
gooddata_api_client/model/reasoning_step.py
gooddata_api_client/model/reference_identifier.py
@@ -2502,6 +2589,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/upload_file_response.py
+gooddata_api_client/model/upload_geo_collection_file_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
@@ -2539,6 +2628,9 @@ 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
+gooddata_api_client/model/workspace_cache_settings.py
+gooddata_api_client/model/workspace_cache_usage.py
+gooddata_api_client/model/workspace_current_cache_usage.py
gooddata_api_client/model/workspace_data_source.py
gooddata_api_client/model/workspace_identifier.py
gooddata_api_client/model/workspace_permission_assignment.py
diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md
index 097ee2f03..faf0f09a1 100644
--- a/gooddata-api-client/README.md
+++ b/gooddata-api-client/README.md
@@ -170,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
+*CacheUsageApi* | [**collect_cache_usage**](docs/CacheUsageApi.md#collect_cache_usage) | **GET** /api/v1/actions/collectCacheUsage | Collect data about the current cache usage
*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
@@ -229,6 +230,12 @@ Class | Method | HTTP request | Description
*DataSourceEntityAPIsApi* | [**get_entity_data_sources**](docs/DataSourceEntityAPIsApi.md#get_entity_data_sources) | **GET** /api/v1/entities/dataSources/{id} | Get Data Source entity
*DataSourceEntityAPIsApi* | [**patch_entity_data_sources**](docs/DataSourceEntityAPIsApi.md#patch_entity_data_sources) | **PATCH** /api/v1/entities/dataSources/{id} | Patch Data Source entity
*DataSourceEntityAPIsApi* | [**update_entity_data_sources**](docs/DataSourceEntityAPIsApi.md#update_entity_data_sources) | **PUT** /api/v1/entities/dataSources/{id} | Put Data Source entity
+*DataSourceFilesAnalysisApi* | [**analyze_csv**](docs/DataSourceFilesAnalysisApi.md#analyze_csv) | **POST** /api/v1/actions/fileStorage/staging/analyzeCsv | Analyze CSV
+*DataSourceFilesDeletionApi* | [**delete_files**](docs/DataSourceFilesDeletionApi.md#delete_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles | Delete datasource files
+*DataSourceFilesImportApi* | [**import_csv**](docs/DataSourceFilesImportApi.md#import_csv) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv | Import CSV
+*DataSourceFilesListingApi* | [**list_files**](docs/DataSourceFilesListingApi.md#list_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles | List datasource files
+*DataSourceFilesManifestReadApi* | [**read_csv_file_manifests**](docs/DataSourceFilesManifestReadApi.md#read_csv_file_manifests) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests | Read CSV file manifests
+*DataSourceStagingLocationApi* | [**staging_upload**](docs/DataSourceStagingLocationApi.md#staging_upload) | **POST** /api/v1/actions/fileStorage/staging/upload | Upload a file to the staging area
*DatasetsApi* | [**get_all_entities_datasets**](docs/DatasetsApi.md#get_all_entities_datasets) | **GET** /api/v1/entities/workspaces/{workspaceId}/datasets | Get all Datasets
*DatasetsApi* | [**get_entity_datasets**](docs/DatasetsApi.md#get_entity_datasets) | **GET** /api/v1/entities/workspaces/{workspaceId}/datasets/{objectId} | Get a Dataset
*DatasetsApi* | [**patch_entity_datasets**](docs/DatasetsApi.md#patch_entity_datasets) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/datasets/{objectId} | Patch a Dataset (beta)
@@ -353,6 +360,8 @@ Class | Method | HTTP request | Description
*NotificationChannelsApi* | [**test_existing_notification_channel**](docs/NotificationChannelsApi.md#test_existing_notification_channel) | **POST** /api/v1/actions/notificationChannels/{notificationChannelId}/test | Test existing notification channel.
*NotificationChannelsApi* | [**test_notification_channel**](docs/NotificationChannelsApi.md#test_notification_channel) | **POST** /api/v1/actions/notificationChannels/test | Test notification channel.
*NotificationChannelsApi* | [**update_entity_notification_channels**](docs/NotificationChannelsApi.md#update_entity_notification_channels) | **PUT** /api/v1/entities/notificationChannels/{id} | Put Notification Channel entity
+*OGCAPIFeaturesApi* | [**get_collection_items**](docs/OGCAPIFeaturesApi.md#get_collection_items) | **GET** /api/v1/location/collections/{collectionId}/items | Get collection features
+*OGCAPIFeaturesApi* | [**get_custom_collection_items**](docs/OGCAPIFeaturesApi.md#get_custom_collection_items) | **GET** /api/v1/location/custom/collections/{collectionId}/items | Get custom collection features
*OptionsApi* | [**get_all_options**](docs/OptionsApi.md#get_all_options) | **GET** /api/v1/options | Links for all configuration options
*OrganizationApi* | [**switch_active_identity_provider**](docs/OrganizationApi.md#switch_active_identity_provider) | **POST** /api/v1/actions/organization/switchActiveIdentityProvider | Switch Active Identity Provider
*OrganizationDeclarativeAPIsApi* | [**get_custom_geo_collections_layout**](docs/OrganizationDeclarativeAPIsApi.md#get_custom_geo_collections_layout) | **GET** /api/v1/layout/customGeoCollections | Get all custom geo collections layout
@@ -522,6 +531,7 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**ai_chat_usage**](docs/ActionsApi.md#ai_chat_usage) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/chatUsage | Get Chat Usage
*ActionsApi* | [**ai_search**](docs/ActionsApi.md#ai_search) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/search | (BETA) Semantic Search in Metadata
*ActionsApi* | [**all_platform_usage**](docs/ActionsApi.md#all_platform_usage) | **GET** /api/v1/actions/collectUsage | Info about the platform usage.
+*ActionsApi* | [**analyze_csv**](docs/ActionsApi.md#analyze_csv) | **POST** /api/v1/actions/fileStorage/staging/analyzeCsv | Analyze CSV
*ActionsApi* | [**anomaly_detection**](docs/ActionsApi.md#anomaly_detection) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/{resultId} | (EXPERIMENTAL) Smart functions - Anomaly Detection
*ActionsApi* | [**anomaly_detection_result**](docs/ActionsApi.md#anomaly_detection_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/result/{resultId} | (EXPERIMENTAL) Smart functions - Anomaly Detection Result
*ActionsApi* | [**available_assignees**](docs/ActionsApi.md#available_assignees) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/availableAssignees | Get Available Assignees
@@ -532,11 +542,13 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**clean_translations**](docs/ActionsApi.md#clean_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/clean | Cleans up translations.
*ActionsApi* | [**clustering**](docs/ActionsApi.md#clustering) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/clustering/{resultId} | (EXPERIMENTAL) Smart functions - Clustering
*ActionsApi* | [**clustering_result**](docs/ActionsApi.md#clustering_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/clustering/result/{resultId} | (EXPERIMENTAL) Smart functions - Clustering Result
+*ActionsApi* | [**collect_cache_usage**](docs/ActionsApi.md#collect_cache_usage) | **GET** /api/v1/actions/collectCacheUsage | Collect data about the current cache usage
*ActionsApi* | [**column_statistics**](docs/ActionsApi.md#column_statistics) | **POST** /api/v1/actions/dataSources/{dataSourceId}/computeColumnStatistics | (EXPERIMENTAL) Compute column statistics
*ActionsApi* | [**compute_label_elements_post**](docs/ActionsApi.md#compute_label_elements_post) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/collectLabelElements | Listing of label values. The resulting data are limited by the static platform limit to the maximum of 10000 rows.
*ActionsApi* | [**compute_report**](docs/ActionsApi.md#compute_report) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/execute | Executes analytical request and returns link to the result
*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* | [**convert_geo_file**](docs/ActionsApi.md#convert_geo_file) | **POST** /api/v1/actions/customGeoCollection/convert | Convert a geo file to GeoParquet format
*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
@@ -545,8 +557,10 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**create_slides_export**](docs/ActionsApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request
*ActionsApi* | [**create_tabular_export**](docs/ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request
*ActionsApi* | [**created_by**](docs/ActionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
+*ActionsApi* | [**custom_geo_collection_staging_upload**](docs/ActionsApi.md#custom_geo_collection_staging_upload) | **POST** /api/v1/actions/customGeoCollection/staging/upload | Upload a geo collection file to the staging area
*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_files**](docs/ActionsApi.md#delete_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles | Delete datasource files
*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.
@@ -572,11 +586,14 @@ Class | Method | HTTP request | Description
*ActionsApi* | [**get_slides_export_metadata**](docs/ActionsApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context
*ActionsApi* | [**get_tabular_export**](docs/ActionsApi.md#get_tabular_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/tabular/{exportId} | Retrieve exported files
*ActionsApi* | [**get_translation_tags**](docs/ActionsApi.md#get_translation_tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/translations | Get translation tags.
+*ActionsApi* | [**import_csv**](docs/ActionsApi.md#import_csv) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv | Import CSV
+*ActionsApi* | [**import_custom_geo_collection**](docs/ActionsApi.md#import_custom_geo_collection) | **POST** /api/v1/actions/customGeoCollection/{collectionId}/import | Import custom geo collection
*ActionsApi* | [**inherited_entity_conflicts**](docs/ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds identifier conflicts in workspace hierarchy.
*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_files**](docs/ActionsApi.md#list_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles | List datasource files
*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
@@ -596,6 +613,7 @@ Class | Method | HTTP request | Description
*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* | [**read_csv_file_manifests**](docs/ActionsApi.md#read_csv_file_manifests) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests | Read CSV file manifests
*ActionsApi* | [**register_upload_notification**](docs/ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification
*ActionsApi* | [**resolve_all_entitlements**](docs/ActionsApi.md#resolve_all_entitlements) | **GET** /api/v1/actions/resolveEntitlements | Values for all public entitlements.
*ActionsApi* | [**resolve_all_settings_without_workspace**](docs/ActionsApi.md#resolve_all_settings_without_workspace) | **GET** /api/v1/actions/resolveSettings | Values for all settings without workspace.
@@ -610,6 +628,7 @@ Class | Method | HTTP request | Description
*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* | [**staging_upload**](docs/ActionsApi.md#staging_upload) | **POST** /api/v1/actions/fileStorage/staging/upload | Upload a file to the staging area
*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
@@ -1259,6 +1278,12 @@ Class | Method | HTTP request | Description
- [AnalyticsCatalogCreatedBy](docs/AnalyticsCatalogCreatedBy.md)
- [AnalyticsCatalogTags](docs/AnalyticsCatalogTags.md)
- [AnalyticsCatalogUser](docs/AnalyticsCatalogUser.md)
+ - [AnalyzeCsvRequest](docs/AnalyzeCsvRequest.md)
+ - [AnalyzeCsvRequestItem](docs/AnalyzeCsvRequestItem.md)
+ - [AnalyzeCsvRequestItemConfig](docs/AnalyzeCsvRequestItemConfig.md)
+ - [AnalyzeCsvResponse](docs/AnalyzeCsvResponse.md)
+ - [AnalyzeCsvResponseColumn](docs/AnalyzeCsvResponseColumn.md)
+ - [AnalyzeCsvResponseConfig](docs/AnalyzeCsvResponseConfig.md)
- [AnomalyDetection](docs/AnomalyDetection.md)
- [AnomalyDetectionConfig](docs/AnomalyDetectionConfig.md)
- [AnomalyDetectionRequest](docs/AnomalyDetectionRequest.md)
@@ -1311,6 +1336,8 @@ Class | Method | HTTP request | Description
- [AzureFoundryProviderConfig](docs/AzureFoundryProviderConfig.md)
- [BedrockProviderAuth](docs/BedrockProviderAuth.md)
- [BoundedFilter](docs/BoundedFilter.md)
+ - [CacheRemovalInterval](docs/CacheRemovalInterval.md)
+ - [CacheUsageData](docs/CacheUsageData.md)
- [ChangeAnalysisParams](docs/ChangeAnalysisParams.md)
- [ChangeAnalysisParamsFiltersInner](docs/ChangeAnalysisParamsFiltersInner.md)
- [ChangeAnalysisRequest](docs/ChangeAnalysisRequest.md)
@@ -1342,12 +1369,19 @@ Class | Method | HTTP request | Description
- [CompoundMeasureValueFilter](docs/CompoundMeasureValueFilter.md)
- [CompoundMeasureValueFilterCompoundMeasureValueFilter](docs/CompoundMeasureValueFilterCompoundMeasureValueFilter.md)
- [ContentSlideTemplate](docs/ContentSlideTemplate.md)
+ - [ConvertGeoFileRequest](docs/ConvertGeoFileRequest.md)
+ - [ConvertGeoFileResponse](docs/ConvertGeoFileResponse.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)
+ - [CsvConvertOptions](docs/CsvConvertOptions.md)
+ - [CsvConvertOptionsColumnType](docs/CsvConvertOptionsColumnType.md)
+ - [CsvManifestBody](docs/CsvManifestBody.md)
+ - [CsvParseOptions](docs/CsvParseOptions.md)
+ - [CsvReadOptions](docs/CsvReadOptions.md)
- [CustomLabel](docs/CustomLabel.md)
- [CustomMetric](docs/CustomMetric.md)
- [CustomOverride](docs/CustomOverride.md)
@@ -1468,6 +1502,7 @@ Class | Method | HTTP request | Description
- [DeclarativeWorkspaces](docs/DeclarativeWorkspaces.md)
- [DefaultSmtp](docs/DefaultSmtp.md)
- [DefaultSmtpAllOf](docs/DefaultSmtpAllOf.md)
+ - [DeleteFilesRequest](docs/DeleteFilesRequest.md)
- [DeleteKnowledgeDocumentResponseDto](docs/DeleteKnowledgeDocumentResponseDto.md)
- [DependentEntitiesGraph](docs/DependentEntitiesGraph.md)
- [DependentEntitiesNode](docs/DependentEntitiesNode.md)
@@ -1517,6 +1552,7 @@ Class | Method | HTTP request | Description
- [Frequency](docs/Frequency.md)
- [FrequencyBucket](docs/FrequencyBucket.md)
- [FrequencyProperties](docs/FrequencyProperties.md)
+ - [GdStorageFile](docs/GdStorageFile.md)
- [GenerateDescriptionRequest](docs/GenerateDescriptionRequest.md)
- [GenerateDescriptionResponse](docs/GenerateDescriptionResponse.md)
- [GenerateLdmRequest](docs/GenerateLdmRequest.md)
@@ -1524,6 +1560,9 @@ Class | Method | HTTP request | Description
- [GenerateTitleResponse](docs/GenerateTitleResponse.md)
- [GeoAreaConfig](docs/GeoAreaConfig.md)
- [GeoCollectionIdentifier](docs/GeoCollectionIdentifier.md)
+ - [GeoJsonFeature](docs/GeoJsonFeature.md)
+ - [GeoJsonFeatureCollection](docs/GeoJsonFeatureCollection.md)
+ - [GeoJsonGeometry](docs/GeoJsonGeometry.md)
- [GetAiLakeOperation200Response](docs/GetAiLakeOperation200Response.md)
- [GetImageExport202ResponseInner](docs/GetImageExport202ResponseInner.md)
- [GetQualityIssuesResponse](docs/GetQualityIssuesResponse.md)
@@ -1539,6 +1578,13 @@ Class | Method | HTTP request | Description
- [IdentifierRef](docs/IdentifierRef.md)
- [IdentifierRefIdentifier](docs/IdentifierRefIdentifier.md)
- [ImageExportRequest](docs/ImageExportRequest.md)
+ - [ImportCsvRequest](docs/ImportCsvRequest.md)
+ - [ImportCsvRequestTable](docs/ImportCsvRequestTable.md)
+ - [ImportCsvRequestTableSource](docs/ImportCsvRequestTableSource.md)
+ - [ImportCsvRequestTableSourceConfig](docs/ImportCsvRequestTableSourceConfig.md)
+ - [ImportCsvResponse](docs/ImportCsvResponse.md)
+ - [ImportGeoCollectionRequest](docs/ImportGeoCollectionRequest.md)
+ - [ImportGeoCollectionResponse](docs/ImportGeoCollectionResponse.md)
- [InPlatform](docs/InPlatform.md)
- [InPlatformAllOf](docs/InPlatformAllOf.md)
- [InlineFilterDefinition](docs/InlineFilterDefinition.md)
@@ -2194,6 +2240,9 @@ Class | Method | HTTP request | Description
- [OperationError](docs/OperationError.md)
- [OrganizationAutomationIdentifier](docs/OrganizationAutomationIdentifier.md)
- [OrganizationAutomationManagementBulkRequest](docs/OrganizationAutomationManagementBulkRequest.md)
+ - [OrganizationCacheSettings](docs/OrganizationCacheSettings.md)
+ - [OrganizationCacheUsage](docs/OrganizationCacheUsage.md)
+ - [OrganizationCurrentCacheUsage](docs/OrganizationCurrentCacheUsage.md)
- [OrganizationPermissionAssignment](docs/OrganizationPermissionAssignment.md)
- [OutlierDetectionRequest](docs/OutlierDetectionRequest.md)
- [OutlierDetectionResponse](docs/OutlierDetectionResponse.md)
@@ -2240,6 +2289,9 @@ Class | Method | HTTP request | Description
- [RawCustomOverride](docs/RawCustomOverride.md)
- [RawExportAutomationRequest](docs/RawExportAutomationRequest.md)
- [RawExportRequest](docs/RawExportRequest.md)
+ - [ReadCsvFileManifestsRequest](docs/ReadCsvFileManifestsRequest.md)
+ - [ReadCsvFileManifestsRequestItem](docs/ReadCsvFileManifestsRequestItem.md)
+ - [ReadCsvFileManifestsResponse](docs/ReadCsvFileManifestsResponse.md)
- [Reasoning](docs/Reasoning.md)
- [ReasoningStep](docs/ReasoningStep.md)
- [ReferenceIdentifier](docs/ReferenceIdentifier.md)
@@ -2321,6 +2373,8 @@ Class | Method | HTTP request | Description
- [TotalResultHeader](docs/TotalResultHeader.md)
- [TriggerAutomationRequest](docs/TriggerAutomationRequest.md)
- [TriggerQualityIssuesCalculationResponse](docs/TriggerQualityIssuesCalculationResponse.md)
+ - [UploadFileResponse](docs/UploadFileResponse.md)
+ - [UploadGeoCollectionFileResponse](docs/UploadGeoCollectionFileResponse.md)
- [UpsertKnowledgeDocumentRequestDto](docs/UpsertKnowledgeDocumentRequestDto.md)
- [UpsertKnowledgeDocumentResponseDto](docs/UpsertKnowledgeDocumentResponseDto.md)
- [UserAssignee](docs/UserAssignee.md)
@@ -2358,6 +2412,9 @@ Class | Method | HTTP request | Description
- [WidgetSlidesTemplate](docs/WidgetSlidesTemplate.md)
- [WorkspaceAutomationIdentifier](docs/WorkspaceAutomationIdentifier.md)
- [WorkspaceAutomationManagementBulkRequest](docs/WorkspaceAutomationManagementBulkRequest.md)
+ - [WorkspaceCacheSettings](docs/WorkspaceCacheSettings.md)
+ - [WorkspaceCacheUsage](docs/WorkspaceCacheUsage.md)
+ - [WorkspaceCurrentCacheUsage](docs/WorkspaceCurrentCacheUsage.md)
- [WorkspaceDataSource](docs/WorkspaceDataSource.md)
- [WorkspaceIdentifier](docs/WorkspaceIdentifier.md)
- [WorkspacePermissionAssignment](docs/WorkspacePermissionAssignment.md)
diff --git a/gooddata-api-client/docs/AacContainerWidgetAllOfDescription.md b/gooddata-api-client/docs/AacContainerWidgetAllOfDescription.md
new file mode 100644
index 000000000..2262792ca
--- /dev/null
+++ b/gooddata-api-client/docs/AacContainerWidgetAllOfDescription.md
@@ -0,0 +1,28 @@
+# AacContainerWidgetAllOfDescription
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_container_widget_all_of_description import AacContainerWidgetAllOfDescription
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacContainerWidgetAllOfDescription from a JSON string
+aac_container_widget_all_of_description_instance = AacContainerWidgetAllOfDescription.from_json(json)
+# print the JSON string representation of the object
+print(AacContainerWidgetAllOfDescription.to_json())
+
+# convert the object into a dict
+aac_container_widget_all_of_description_dict = aac_container_widget_all_of_description_instance.to_dict()
+# create an instance of AacContainerWidgetAllOfDescription from a dict
+aac_container_widget_all_of_description_from_dict = AacContainerWidgetAllOfDescription.from_dict(aac_container_widget_all_of_description_dict)
+```
+[[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/AacContainerWidgetAllOfTitle.md b/gooddata-api-client/docs/AacContainerWidgetAllOfTitle.md
new file mode 100644
index 000000000..ada3e71fb
--- /dev/null
+++ b/gooddata-api-client/docs/AacContainerWidgetAllOfTitle.md
@@ -0,0 +1,28 @@
+# AacContainerWidgetAllOfTitle
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_container_widget_all_of_title import AacContainerWidgetAllOfTitle
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacContainerWidgetAllOfTitle from a JSON string
+aac_container_widget_all_of_title_instance = AacContainerWidgetAllOfTitle.from_json(json)
+# print the JSON string representation of the object
+print(AacContainerWidgetAllOfTitle.to_json())
+
+# convert the object into a dict
+aac_container_widget_all_of_title_dict = aac_container_widget_all_of_title_instance.to_dict()
+# create an instance of AacContainerWidgetAllOfTitle from a dict
+aac_container_widget_all_of_title_from_dict = AacContainerWidgetAllOfTitle.from_dict(aac_container_widget_all_of_title_dict)
+```
+[[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/AacDashboardWithTabsAllOfPlugins.md b/gooddata-api-client/docs/AacDashboardWithTabsAllOfPlugins.md
new file mode 100644
index 000000000..347b275ed
--- /dev/null
+++ b/gooddata-api-client/docs/AacDashboardWithTabsAllOfPlugins.md
@@ -0,0 +1,30 @@
+# AacDashboardWithTabsAllOfPlugins
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Plugin ID. |
+**parameters** | **object** | Free-form JSON object | [optional]
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_dashboard_with_tabs_all_of_plugins import AacDashboardWithTabsAllOfPlugins
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacDashboardWithTabsAllOfPlugins from a JSON string
+aac_dashboard_with_tabs_all_of_plugins_instance = AacDashboardWithTabsAllOfPlugins.from_json(json)
+# print the JSON string representation of the object
+print(AacDashboardWithTabsAllOfPlugins.to_json())
+
+# convert the object into a dict
+aac_dashboard_with_tabs_all_of_plugins_dict = aac_dashboard_with_tabs_all_of_plugins_instance.to_dict()
+# create an instance of AacDashboardWithTabsAllOfPlugins from a dict
+aac_dashboard_with_tabs_all_of_plugins_from_dict = AacDashboardWithTabsAllOfPlugins.from_dict(aac_dashboard_with_tabs_all_of_plugins_dict)
+```
+[[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/AacDashboardWithoutTabsAllOfPlugins.md b/gooddata-api-client/docs/AacDashboardWithoutTabsAllOfPlugins.md
new file mode 100644
index 000000000..7a8f40134
--- /dev/null
+++ b/gooddata-api-client/docs/AacDashboardWithoutTabsAllOfPlugins.md
@@ -0,0 +1,30 @@
+# AacDashboardWithoutTabsAllOfPlugins
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Plugin ID. |
+**parameters** | **object** | Free-form JSON object | [optional]
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_dashboard_without_tabs_all_of_plugins import AacDashboardWithoutTabsAllOfPlugins
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacDashboardWithoutTabsAllOfPlugins from a JSON string
+aac_dashboard_without_tabs_all_of_plugins_instance = AacDashboardWithoutTabsAllOfPlugins.from_json(json)
+# print the JSON string representation of the object
+print(AacDashboardWithoutTabsAllOfPlugins.to_json())
+
+# convert the object into a dict
+aac_dashboard_without_tabs_all_of_plugins_dict = aac_dashboard_without_tabs_all_of_plugins_instance.to_dict()
+# create an instance of AacDashboardWithoutTabsAllOfPlugins from a dict
+aac_dashboard_without_tabs_all_of_plugins_from_dict = AacDashboardWithoutTabsAllOfPlugins.from_dict(aac_dashboard_without_tabs_all_of_plugins_dict)
+```
+[[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/AacRichTextWidgetAllOfDescription.md b/gooddata-api-client/docs/AacRichTextWidgetAllOfDescription.md
new file mode 100644
index 000000000..1c20931f9
--- /dev/null
+++ b/gooddata-api-client/docs/AacRichTextWidgetAllOfDescription.md
@@ -0,0 +1,28 @@
+# AacRichTextWidgetAllOfDescription
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_rich_text_widget_all_of_description import AacRichTextWidgetAllOfDescription
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacRichTextWidgetAllOfDescription from a JSON string
+aac_rich_text_widget_all_of_description_instance = AacRichTextWidgetAllOfDescription.from_json(json)
+# print the JSON string representation of the object
+print(AacRichTextWidgetAllOfDescription.to_json())
+
+# convert the object into a dict
+aac_rich_text_widget_all_of_description_dict = aac_rich_text_widget_all_of_description_instance.to_dict()
+# create an instance of AacRichTextWidgetAllOfDescription from a dict
+aac_rich_text_widget_all_of_description_from_dict = AacRichTextWidgetAllOfDescription.from_dict(aac_rich_text_widget_all_of_description_dict)
+```
+[[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/AacRichTextWidgetAllOfTitle.md b/gooddata-api-client/docs/AacRichTextWidgetAllOfTitle.md
new file mode 100644
index 000000000..010336cf3
--- /dev/null
+++ b/gooddata-api-client/docs/AacRichTextWidgetAllOfTitle.md
@@ -0,0 +1,28 @@
+# AacRichTextWidgetAllOfTitle
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_rich_text_widget_all_of_title import AacRichTextWidgetAllOfTitle
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacRichTextWidgetAllOfTitle from a JSON string
+aac_rich_text_widget_all_of_title_instance = AacRichTextWidgetAllOfTitle.from_json(json)
+# print the JSON string representation of the object
+print(AacRichTextWidgetAllOfTitle.to_json())
+
+# convert the object into a dict
+aac_rich_text_widget_all_of_title_dict = aac_rich_text_widget_all_of_title_instance.to_dict()
+# create an instance of AacRichTextWidgetAllOfTitle from a dict
+aac_rich_text_widget_all_of_title_from_dict = AacRichTextWidgetAllOfTitle.from_dict(aac_rich_text_widget_all_of_title_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfAttributes.md
new file mode 100644
index 000000000..0949b80f8
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_attributes import AacVisualizationBasicBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfAttributes from a JSON string
+aac_visualization_basic_buckets_all_of_attributes_instance = AacVisualizationBasicBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_attributes_dict = aac_visualization_basic_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfAttributes from a dict
+aac_visualization_basic_buckets_all_of_attributes_from_dict = AacVisualizationBasicBucketsAllOfAttributes.from_dict(aac_visualization_basic_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfColumns.md
new file mode 100644
index 000000000..845e832f0
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_columns import AacVisualizationBasicBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfColumns from a JSON string
+aac_visualization_basic_buckets_all_of_columns_instance = AacVisualizationBasicBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_columns_dict = aac_visualization_basic_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfColumns from a dict
+aac_visualization_basic_buckets_all_of_columns_from_dict = AacVisualizationBasicBucketsAllOfColumns.from_dict(aac_visualization_basic_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfMetrics.md
new file mode 100644
index 000000000..b84c91db5
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_metrics import AacVisualizationBasicBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfMetrics from a JSON string
+aac_visualization_basic_buckets_all_of_metrics_instance = AacVisualizationBasicBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_metrics_dict = aac_visualization_basic_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfMetrics from a dict
+aac_visualization_basic_buckets_all_of_metrics_from_dict = AacVisualizationBasicBucketsAllOfMetrics.from_dict(aac_visualization_basic_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfRows.md
new file mode 100644
index 000000000..3bed9cbf1
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_rows import AacVisualizationBasicBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfRows from a JSON string
+aac_visualization_basic_buckets_all_of_rows_instance = AacVisualizationBasicBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_rows_dict = aac_visualization_basic_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfRows from a dict
+aac_visualization_basic_buckets_all_of_rows_from_dict = AacVisualizationBasicBucketsAllOfRows.from_dict(aac_visualization_basic_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..cd5902d1c
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_segment_by import AacVisualizationBasicBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfSegmentBy from a JSON string
+aac_visualization_basic_buckets_all_of_segment_by_instance = AacVisualizationBasicBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_segment_by_dict = aac_visualization_basic_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfSegmentBy from a dict
+aac_visualization_basic_buckets_all_of_segment_by_from_dict = AacVisualizationBasicBucketsAllOfSegmentBy.from_dict(aac_visualization_basic_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..1a11f9912
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_size_by import AacVisualizationBasicBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfSizeBy from a JSON string
+aac_visualization_basic_buckets_all_of_size_by_instance = AacVisualizationBasicBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_size_by_dict = aac_visualization_basic_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfSizeBy from a dict
+aac_visualization_basic_buckets_all_of_size_by_from_dict = AacVisualizationBasicBucketsAllOfSizeBy.from_dict(aac_visualization_basic_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfStackBy.md
new file mode 100644
index 000000000..849355aa1
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_stack_by import AacVisualizationBasicBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfStackBy from a JSON string
+aac_visualization_basic_buckets_all_of_stack_by_instance = AacVisualizationBasicBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_stack_by_dict = aac_visualization_basic_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfStackBy from a dict
+aac_visualization_basic_buckets_all_of_stack_by_from_dict = AacVisualizationBasicBucketsAllOfStackBy.from_dict(aac_visualization_basic_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..218b9d4a9
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_trend_by import AacVisualizationBasicBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfTrendBy from a JSON string
+aac_visualization_basic_buckets_all_of_trend_by_instance = AacVisualizationBasicBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_trend_by_dict = aac_visualization_basic_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfTrendBy from a dict
+aac_visualization_basic_buckets_all_of_trend_by_from_dict = AacVisualizationBasicBucketsAllOfTrendBy.from_dict(aac_visualization_basic_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationBasicBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfViewBy.md
new file mode 100644
index 000000000..99b52d7e3
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBasicBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBasicBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_basic_buckets_all_of_view_by import AacVisualizationBasicBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBasicBucketsAllOfViewBy from a JSON string
+aac_visualization_basic_buckets_all_of_view_by_instance = AacVisualizationBasicBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBasicBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_basic_buckets_all_of_view_by_dict = aac_visualization_basic_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationBasicBucketsAllOfViewBy from a dict
+aac_visualization_basic_buckets_all_of_view_by_from_dict = AacVisualizationBasicBucketsAllOfViewBy.from_dict(aac_visualization_basic_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfAttributes.md
new file mode 100644
index 000000000..a9c3d0921
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_attributes import AacVisualizationBubbleBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfAttributes from a JSON string
+aac_visualization_bubble_buckets_all_of_attributes_instance = AacVisualizationBubbleBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_attributes_dict = aac_visualization_bubble_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfAttributes from a dict
+aac_visualization_bubble_buckets_all_of_attributes_from_dict = AacVisualizationBubbleBucketsAllOfAttributes.from_dict(aac_visualization_bubble_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfColumns.md
new file mode 100644
index 000000000..5baa54ab5
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_columns import AacVisualizationBubbleBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfColumns from a JSON string
+aac_visualization_bubble_buckets_all_of_columns_instance = AacVisualizationBubbleBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_columns_dict = aac_visualization_bubble_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfColumns from a dict
+aac_visualization_bubble_buckets_all_of_columns_from_dict = AacVisualizationBubbleBucketsAllOfColumns.from_dict(aac_visualization_bubble_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfMetrics.md
new file mode 100644
index 000000000..4035ad860
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_metrics import AacVisualizationBubbleBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfMetrics from a JSON string
+aac_visualization_bubble_buckets_all_of_metrics_instance = AacVisualizationBubbleBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_metrics_dict = aac_visualization_bubble_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfMetrics from a dict
+aac_visualization_bubble_buckets_all_of_metrics_from_dict = AacVisualizationBubbleBucketsAllOfMetrics.from_dict(aac_visualization_bubble_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfRows.md
new file mode 100644
index 000000000..a9cd5f4e1
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_rows import AacVisualizationBubbleBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfRows from a JSON string
+aac_visualization_bubble_buckets_all_of_rows_instance = AacVisualizationBubbleBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_rows_dict = aac_visualization_bubble_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfRows from a dict
+aac_visualization_bubble_buckets_all_of_rows_from_dict = AacVisualizationBubbleBucketsAllOfRows.from_dict(aac_visualization_bubble_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..6fd7e028f
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_segment_by import AacVisualizationBubbleBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfSegmentBy from a JSON string
+aac_visualization_bubble_buckets_all_of_segment_by_instance = AacVisualizationBubbleBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_segment_by_dict = aac_visualization_bubble_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfSegmentBy from a dict
+aac_visualization_bubble_buckets_all_of_segment_by_from_dict = AacVisualizationBubbleBucketsAllOfSegmentBy.from_dict(aac_visualization_bubble_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..5018db803
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_size_by import AacVisualizationBubbleBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfSizeBy from a JSON string
+aac_visualization_bubble_buckets_all_of_size_by_instance = AacVisualizationBubbleBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_size_by_dict = aac_visualization_bubble_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfSizeBy from a dict
+aac_visualization_bubble_buckets_all_of_size_by_from_dict = AacVisualizationBubbleBucketsAllOfSizeBy.from_dict(aac_visualization_bubble_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfStackBy.md
new file mode 100644
index 000000000..a5064ff89
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_stack_by import AacVisualizationBubbleBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfStackBy from a JSON string
+aac_visualization_bubble_buckets_all_of_stack_by_instance = AacVisualizationBubbleBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_stack_by_dict = aac_visualization_bubble_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfStackBy from a dict
+aac_visualization_bubble_buckets_all_of_stack_by_from_dict = AacVisualizationBubbleBucketsAllOfStackBy.from_dict(aac_visualization_bubble_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..f742ce183
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_trend_by import AacVisualizationBubbleBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfTrendBy from a JSON string
+aac_visualization_bubble_buckets_all_of_trend_by_instance = AacVisualizationBubbleBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_trend_by_dict = aac_visualization_bubble_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfTrendBy from a dict
+aac_visualization_bubble_buckets_all_of_trend_by_from_dict = AacVisualizationBubbleBucketsAllOfTrendBy.from_dict(aac_visualization_bubble_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationBubbleBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfViewBy.md
new file mode 100644
index 000000000..f9066fdd6
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationBubbleBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationBubbleBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_bubble_buckets_all_of_view_by import AacVisualizationBubbleBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationBubbleBucketsAllOfViewBy from a JSON string
+aac_visualization_bubble_buckets_all_of_view_by_instance = AacVisualizationBubbleBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationBubbleBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_bubble_buckets_all_of_view_by_dict = aac_visualization_bubble_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationBubbleBucketsAllOfViewBy from a dict
+aac_visualization_bubble_buckets_all_of_view_by_from_dict = AacVisualizationBubbleBucketsAllOfViewBy.from_dict(aac_visualization_bubble_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfAttributes.md
new file mode 100644
index 000000000..7b7ef70a7
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_attributes import AacVisualizationDependencyBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfAttributes from a JSON string
+aac_visualization_dependency_buckets_all_of_attributes_instance = AacVisualizationDependencyBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_attributes_dict = aac_visualization_dependency_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfAttributes from a dict
+aac_visualization_dependency_buckets_all_of_attributes_from_dict = AacVisualizationDependencyBucketsAllOfAttributes.from_dict(aac_visualization_dependency_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfColumns.md
new file mode 100644
index 000000000..999893d21
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_columns import AacVisualizationDependencyBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfColumns from a JSON string
+aac_visualization_dependency_buckets_all_of_columns_instance = AacVisualizationDependencyBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_columns_dict = aac_visualization_dependency_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfColumns from a dict
+aac_visualization_dependency_buckets_all_of_columns_from_dict = AacVisualizationDependencyBucketsAllOfColumns.from_dict(aac_visualization_dependency_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfMetrics.md
new file mode 100644
index 000000000..20f7b9355
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_metrics import AacVisualizationDependencyBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfMetrics from a JSON string
+aac_visualization_dependency_buckets_all_of_metrics_instance = AacVisualizationDependencyBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_metrics_dict = aac_visualization_dependency_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfMetrics from a dict
+aac_visualization_dependency_buckets_all_of_metrics_from_dict = AacVisualizationDependencyBucketsAllOfMetrics.from_dict(aac_visualization_dependency_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfRows.md
new file mode 100644
index 000000000..b7f3f64e3
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_rows import AacVisualizationDependencyBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfRows from a JSON string
+aac_visualization_dependency_buckets_all_of_rows_instance = AacVisualizationDependencyBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_rows_dict = aac_visualization_dependency_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfRows from a dict
+aac_visualization_dependency_buckets_all_of_rows_from_dict = AacVisualizationDependencyBucketsAllOfRows.from_dict(aac_visualization_dependency_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..b49ac1de4
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_segment_by import AacVisualizationDependencyBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfSegmentBy from a JSON string
+aac_visualization_dependency_buckets_all_of_segment_by_instance = AacVisualizationDependencyBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_segment_by_dict = aac_visualization_dependency_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfSegmentBy from a dict
+aac_visualization_dependency_buckets_all_of_segment_by_from_dict = AacVisualizationDependencyBucketsAllOfSegmentBy.from_dict(aac_visualization_dependency_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..270a0f6df
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_size_by import AacVisualizationDependencyBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfSizeBy from a JSON string
+aac_visualization_dependency_buckets_all_of_size_by_instance = AacVisualizationDependencyBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_size_by_dict = aac_visualization_dependency_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfSizeBy from a dict
+aac_visualization_dependency_buckets_all_of_size_by_from_dict = AacVisualizationDependencyBucketsAllOfSizeBy.from_dict(aac_visualization_dependency_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfStackBy.md
new file mode 100644
index 000000000..bc109043b
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_stack_by import AacVisualizationDependencyBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfStackBy from a JSON string
+aac_visualization_dependency_buckets_all_of_stack_by_instance = AacVisualizationDependencyBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_stack_by_dict = aac_visualization_dependency_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfStackBy from a dict
+aac_visualization_dependency_buckets_all_of_stack_by_from_dict = AacVisualizationDependencyBucketsAllOfStackBy.from_dict(aac_visualization_dependency_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..389e42bf3
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_trend_by import AacVisualizationDependencyBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfTrendBy from a JSON string
+aac_visualization_dependency_buckets_all_of_trend_by_instance = AacVisualizationDependencyBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_trend_by_dict = aac_visualization_dependency_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfTrendBy from a dict
+aac_visualization_dependency_buckets_all_of_trend_by_from_dict = AacVisualizationDependencyBucketsAllOfTrendBy.from_dict(aac_visualization_dependency_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationDependencyBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfViewBy.md
new file mode 100644
index 000000000..3051c079a
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationDependencyBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationDependencyBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_dependency_buckets_all_of_view_by import AacVisualizationDependencyBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationDependencyBucketsAllOfViewBy from a JSON string
+aac_visualization_dependency_buckets_all_of_view_by_instance = AacVisualizationDependencyBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationDependencyBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_dependency_buckets_all_of_view_by_dict = aac_visualization_dependency_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationDependencyBucketsAllOfViewBy from a dict
+aac_visualization_dependency_buckets_all_of_view_by_from_dict = AacVisualizationDependencyBucketsAllOfViewBy.from_dict(aac_visualization_dependency_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfAttributes.md
new file mode 100644
index 000000000..f54de3ab7
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_attributes import AacVisualizationGeoBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfAttributes from a JSON string
+aac_visualization_geo_buckets_all_of_attributes_instance = AacVisualizationGeoBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_attributes_dict = aac_visualization_geo_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfAttributes from a dict
+aac_visualization_geo_buckets_all_of_attributes_from_dict = AacVisualizationGeoBucketsAllOfAttributes.from_dict(aac_visualization_geo_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfColumns.md
new file mode 100644
index 000000000..ab39ed32b
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_columns import AacVisualizationGeoBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfColumns from a JSON string
+aac_visualization_geo_buckets_all_of_columns_instance = AacVisualizationGeoBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_columns_dict = aac_visualization_geo_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfColumns from a dict
+aac_visualization_geo_buckets_all_of_columns_from_dict = AacVisualizationGeoBucketsAllOfColumns.from_dict(aac_visualization_geo_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfMetrics.md
new file mode 100644
index 000000000..db6769026
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_metrics import AacVisualizationGeoBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfMetrics from a JSON string
+aac_visualization_geo_buckets_all_of_metrics_instance = AacVisualizationGeoBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_metrics_dict = aac_visualization_geo_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfMetrics from a dict
+aac_visualization_geo_buckets_all_of_metrics_from_dict = AacVisualizationGeoBucketsAllOfMetrics.from_dict(aac_visualization_geo_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfRows.md
new file mode 100644
index 000000000..0e32edb47
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_rows import AacVisualizationGeoBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfRows from a JSON string
+aac_visualization_geo_buckets_all_of_rows_instance = AacVisualizationGeoBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_rows_dict = aac_visualization_geo_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfRows from a dict
+aac_visualization_geo_buckets_all_of_rows_from_dict = AacVisualizationGeoBucketsAllOfRows.from_dict(aac_visualization_geo_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..06ba51839
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_segment_by import AacVisualizationGeoBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfSegmentBy from a JSON string
+aac_visualization_geo_buckets_all_of_segment_by_instance = AacVisualizationGeoBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_segment_by_dict = aac_visualization_geo_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfSegmentBy from a dict
+aac_visualization_geo_buckets_all_of_segment_by_from_dict = AacVisualizationGeoBucketsAllOfSegmentBy.from_dict(aac_visualization_geo_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..f9059acfa
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_size_by import AacVisualizationGeoBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfSizeBy from a JSON string
+aac_visualization_geo_buckets_all_of_size_by_instance = AacVisualizationGeoBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_size_by_dict = aac_visualization_geo_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfSizeBy from a dict
+aac_visualization_geo_buckets_all_of_size_by_from_dict = AacVisualizationGeoBucketsAllOfSizeBy.from_dict(aac_visualization_geo_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfStackBy.md
new file mode 100644
index 000000000..25edfc423
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_stack_by import AacVisualizationGeoBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfStackBy from a JSON string
+aac_visualization_geo_buckets_all_of_stack_by_instance = AacVisualizationGeoBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_stack_by_dict = aac_visualization_geo_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfStackBy from a dict
+aac_visualization_geo_buckets_all_of_stack_by_from_dict = AacVisualizationGeoBucketsAllOfStackBy.from_dict(aac_visualization_geo_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..66b853fba
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_trend_by import AacVisualizationGeoBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfTrendBy from a JSON string
+aac_visualization_geo_buckets_all_of_trend_by_instance = AacVisualizationGeoBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_trend_by_dict = aac_visualization_geo_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfTrendBy from a dict
+aac_visualization_geo_buckets_all_of_trend_by_from_dict = AacVisualizationGeoBucketsAllOfTrendBy.from_dict(aac_visualization_geo_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationGeoBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfViewBy.md
new file mode 100644
index 000000000..f7207781d
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationGeoBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationGeoBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_geo_buckets_all_of_view_by import AacVisualizationGeoBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationGeoBucketsAllOfViewBy from a JSON string
+aac_visualization_geo_buckets_all_of_view_by_instance = AacVisualizationGeoBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationGeoBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_geo_buckets_all_of_view_by_dict = aac_visualization_geo_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationGeoBucketsAllOfViewBy from a dict
+aac_visualization_geo_buckets_all_of_view_by_from_dict = AacVisualizationGeoBucketsAllOfViewBy.from_dict(aac_visualization_geo_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfAttributes.md
new file mode 100644
index 000000000..95d98d11f
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_attributes import AacVisualizationScatterBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfAttributes from a JSON string
+aac_visualization_scatter_buckets_all_of_attributes_instance = AacVisualizationScatterBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_attributes_dict = aac_visualization_scatter_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfAttributes from a dict
+aac_visualization_scatter_buckets_all_of_attributes_from_dict = AacVisualizationScatterBucketsAllOfAttributes.from_dict(aac_visualization_scatter_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfColumns.md
new file mode 100644
index 000000000..ea94aee06
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_columns import AacVisualizationScatterBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfColumns from a JSON string
+aac_visualization_scatter_buckets_all_of_columns_instance = AacVisualizationScatterBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_columns_dict = aac_visualization_scatter_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfColumns from a dict
+aac_visualization_scatter_buckets_all_of_columns_from_dict = AacVisualizationScatterBucketsAllOfColumns.from_dict(aac_visualization_scatter_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfMetrics.md
new file mode 100644
index 000000000..75868df5b
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_metrics import AacVisualizationScatterBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfMetrics from a JSON string
+aac_visualization_scatter_buckets_all_of_metrics_instance = AacVisualizationScatterBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_metrics_dict = aac_visualization_scatter_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfMetrics from a dict
+aac_visualization_scatter_buckets_all_of_metrics_from_dict = AacVisualizationScatterBucketsAllOfMetrics.from_dict(aac_visualization_scatter_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfRows.md
new file mode 100644
index 000000000..2749ccb1b
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_rows import AacVisualizationScatterBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfRows from a JSON string
+aac_visualization_scatter_buckets_all_of_rows_instance = AacVisualizationScatterBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_rows_dict = aac_visualization_scatter_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfRows from a dict
+aac_visualization_scatter_buckets_all_of_rows_from_dict = AacVisualizationScatterBucketsAllOfRows.from_dict(aac_visualization_scatter_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..5b4bab3d8
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_segment_by import AacVisualizationScatterBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfSegmentBy from a JSON string
+aac_visualization_scatter_buckets_all_of_segment_by_instance = AacVisualizationScatterBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_segment_by_dict = aac_visualization_scatter_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfSegmentBy from a dict
+aac_visualization_scatter_buckets_all_of_segment_by_from_dict = AacVisualizationScatterBucketsAllOfSegmentBy.from_dict(aac_visualization_scatter_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..ba85e09bf
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_size_by import AacVisualizationScatterBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfSizeBy from a JSON string
+aac_visualization_scatter_buckets_all_of_size_by_instance = AacVisualizationScatterBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_size_by_dict = aac_visualization_scatter_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfSizeBy from a dict
+aac_visualization_scatter_buckets_all_of_size_by_from_dict = AacVisualizationScatterBucketsAllOfSizeBy.from_dict(aac_visualization_scatter_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfStackBy.md
new file mode 100644
index 000000000..4683647d4
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_stack_by import AacVisualizationScatterBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfStackBy from a JSON string
+aac_visualization_scatter_buckets_all_of_stack_by_instance = AacVisualizationScatterBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_stack_by_dict = aac_visualization_scatter_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfStackBy from a dict
+aac_visualization_scatter_buckets_all_of_stack_by_from_dict = AacVisualizationScatterBucketsAllOfStackBy.from_dict(aac_visualization_scatter_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..2f55a7e8d
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_trend_by import AacVisualizationScatterBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfTrendBy from a JSON string
+aac_visualization_scatter_buckets_all_of_trend_by_instance = AacVisualizationScatterBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_trend_by_dict = aac_visualization_scatter_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfTrendBy from a dict
+aac_visualization_scatter_buckets_all_of_trend_by_from_dict = AacVisualizationScatterBucketsAllOfTrendBy.from_dict(aac_visualization_scatter_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationScatterBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfViewBy.md
new file mode 100644
index 000000000..d69320d1b
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationScatterBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationScatterBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_scatter_buckets_all_of_view_by import AacVisualizationScatterBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationScatterBucketsAllOfViewBy from a JSON string
+aac_visualization_scatter_buckets_all_of_view_by_instance = AacVisualizationScatterBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationScatterBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_scatter_buckets_all_of_view_by_dict = aac_visualization_scatter_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationScatterBucketsAllOfViewBy from a dict
+aac_visualization_scatter_buckets_all_of_view_by_from_dict = AacVisualizationScatterBucketsAllOfViewBy.from_dict(aac_visualization_scatter_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfAttributes.md
new file mode 100644
index 000000000..c7201b59c
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_attributes import AacVisualizationStackedBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfAttributes from a JSON string
+aac_visualization_stacked_buckets_all_of_attributes_instance = AacVisualizationStackedBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_attributes_dict = aac_visualization_stacked_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfAttributes from a dict
+aac_visualization_stacked_buckets_all_of_attributes_from_dict = AacVisualizationStackedBucketsAllOfAttributes.from_dict(aac_visualization_stacked_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfColumns.md
new file mode 100644
index 000000000..e2508cce2
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_columns import AacVisualizationStackedBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfColumns from a JSON string
+aac_visualization_stacked_buckets_all_of_columns_instance = AacVisualizationStackedBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_columns_dict = aac_visualization_stacked_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfColumns from a dict
+aac_visualization_stacked_buckets_all_of_columns_from_dict = AacVisualizationStackedBucketsAllOfColumns.from_dict(aac_visualization_stacked_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfMetrics.md
new file mode 100644
index 000000000..da021670f
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_metrics import AacVisualizationStackedBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfMetrics from a JSON string
+aac_visualization_stacked_buckets_all_of_metrics_instance = AacVisualizationStackedBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_metrics_dict = aac_visualization_stacked_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfMetrics from a dict
+aac_visualization_stacked_buckets_all_of_metrics_from_dict = AacVisualizationStackedBucketsAllOfMetrics.from_dict(aac_visualization_stacked_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfRows.md
new file mode 100644
index 000000000..b68168676
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_rows import AacVisualizationStackedBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfRows from a JSON string
+aac_visualization_stacked_buckets_all_of_rows_instance = AacVisualizationStackedBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_rows_dict = aac_visualization_stacked_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfRows from a dict
+aac_visualization_stacked_buckets_all_of_rows_from_dict = AacVisualizationStackedBucketsAllOfRows.from_dict(aac_visualization_stacked_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..94613e7d1
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_segment_by import AacVisualizationStackedBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfSegmentBy from a JSON string
+aac_visualization_stacked_buckets_all_of_segment_by_instance = AacVisualizationStackedBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_segment_by_dict = aac_visualization_stacked_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfSegmentBy from a dict
+aac_visualization_stacked_buckets_all_of_segment_by_from_dict = AacVisualizationStackedBucketsAllOfSegmentBy.from_dict(aac_visualization_stacked_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..bdb8b214d
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_size_by import AacVisualizationStackedBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfSizeBy from a JSON string
+aac_visualization_stacked_buckets_all_of_size_by_instance = AacVisualizationStackedBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_size_by_dict = aac_visualization_stacked_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfSizeBy from a dict
+aac_visualization_stacked_buckets_all_of_size_by_from_dict = AacVisualizationStackedBucketsAllOfSizeBy.from_dict(aac_visualization_stacked_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfStackBy.md
new file mode 100644
index 000000000..1bf2b048c
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_stack_by import AacVisualizationStackedBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfStackBy from a JSON string
+aac_visualization_stacked_buckets_all_of_stack_by_instance = AacVisualizationStackedBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_stack_by_dict = aac_visualization_stacked_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfStackBy from a dict
+aac_visualization_stacked_buckets_all_of_stack_by_from_dict = AacVisualizationStackedBucketsAllOfStackBy.from_dict(aac_visualization_stacked_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..ccbbc47e8
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_trend_by import AacVisualizationStackedBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfTrendBy from a JSON string
+aac_visualization_stacked_buckets_all_of_trend_by_instance = AacVisualizationStackedBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_trend_by_dict = aac_visualization_stacked_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfTrendBy from a dict
+aac_visualization_stacked_buckets_all_of_trend_by_from_dict = AacVisualizationStackedBucketsAllOfTrendBy.from_dict(aac_visualization_stacked_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationStackedBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfViewBy.md
new file mode 100644
index 000000000..32a066d54
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationStackedBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationStackedBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_stacked_buckets_all_of_view_by import AacVisualizationStackedBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationStackedBucketsAllOfViewBy from a JSON string
+aac_visualization_stacked_buckets_all_of_view_by_instance = AacVisualizationStackedBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationStackedBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_stacked_buckets_all_of_view_by_dict = aac_visualization_stacked_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationStackedBucketsAllOfViewBy from a dict
+aac_visualization_stacked_buckets_all_of_view_by_from_dict = AacVisualizationStackedBucketsAllOfViewBy.from_dict(aac_visualization_stacked_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationSwitcherWidgetAllOfDescription.md b/gooddata-api-client/docs/AacVisualizationSwitcherWidgetAllOfDescription.md
new file mode 100644
index 000000000..70fa71995
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationSwitcherWidgetAllOfDescription.md
@@ -0,0 +1,28 @@
+# AacVisualizationSwitcherWidgetAllOfDescription
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_switcher_widget_all_of_description import AacVisualizationSwitcherWidgetAllOfDescription
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationSwitcherWidgetAllOfDescription from a JSON string
+aac_visualization_switcher_widget_all_of_description_instance = AacVisualizationSwitcherWidgetAllOfDescription.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationSwitcherWidgetAllOfDescription.to_json())
+
+# convert the object into a dict
+aac_visualization_switcher_widget_all_of_description_dict = aac_visualization_switcher_widget_all_of_description_instance.to_dict()
+# create an instance of AacVisualizationSwitcherWidgetAllOfDescription from a dict
+aac_visualization_switcher_widget_all_of_description_from_dict = AacVisualizationSwitcherWidgetAllOfDescription.from_dict(aac_visualization_switcher_widget_all_of_description_dict)
+```
+[[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/AacVisualizationSwitcherWidgetAllOfTitle.md b/gooddata-api-client/docs/AacVisualizationSwitcherWidgetAllOfTitle.md
new file mode 100644
index 000000000..1082b1cae
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationSwitcherWidgetAllOfTitle.md
@@ -0,0 +1,28 @@
+# AacVisualizationSwitcherWidgetAllOfTitle
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_switcher_widget_all_of_title import AacVisualizationSwitcherWidgetAllOfTitle
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationSwitcherWidgetAllOfTitle from a JSON string
+aac_visualization_switcher_widget_all_of_title_instance = AacVisualizationSwitcherWidgetAllOfTitle.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationSwitcherWidgetAllOfTitle.to_json())
+
+# convert the object into a dict
+aac_visualization_switcher_widget_all_of_title_dict = aac_visualization_switcher_widget_all_of_title_instance.to_dict()
+# create an instance of AacVisualizationSwitcherWidgetAllOfTitle from a dict
+aac_visualization_switcher_widget_all_of_title_from_dict = AacVisualizationSwitcherWidgetAllOfTitle.from_dict(aac_visualization_switcher_widget_all_of_title_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfAttributes.md
new file mode 100644
index 000000000..8718f10e3
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_attributes import AacVisualizationTableBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfAttributes from a JSON string
+aac_visualization_table_buckets_all_of_attributes_instance = AacVisualizationTableBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_attributes_dict = aac_visualization_table_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfAttributes from a dict
+aac_visualization_table_buckets_all_of_attributes_from_dict = AacVisualizationTableBucketsAllOfAttributes.from_dict(aac_visualization_table_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfColumns.md
new file mode 100644
index 000000000..6459d0618
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_columns import AacVisualizationTableBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfColumns from a JSON string
+aac_visualization_table_buckets_all_of_columns_instance = AacVisualizationTableBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_columns_dict = aac_visualization_table_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfColumns from a dict
+aac_visualization_table_buckets_all_of_columns_from_dict = AacVisualizationTableBucketsAllOfColumns.from_dict(aac_visualization_table_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfMetrics.md
new file mode 100644
index 000000000..5781a4953
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_metrics import AacVisualizationTableBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfMetrics from a JSON string
+aac_visualization_table_buckets_all_of_metrics_instance = AacVisualizationTableBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_metrics_dict = aac_visualization_table_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfMetrics from a dict
+aac_visualization_table_buckets_all_of_metrics_from_dict = AacVisualizationTableBucketsAllOfMetrics.from_dict(aac_visualization_table_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfRows.md
new file mode 100644
index 000000000..4b080bab2
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_rows import AacVisualizationTableBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfRows from a JSON string
+aac_visualization_table_buckets_all_of_rows_instance = AacVisualizationTableBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_rows_dict = aac_visualization_table_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfRows from a dict
+aac_visualization_table_buckets_all_of_rows_from_dict = AacVisualizationTableBucketsAllOfRows.from_dict(aac_visualization_table_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..e8e6129c7
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_segment_by import AacVisualizationTableBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfSegmentBy from a JSON string
+aac_visualization_table_buckets_all_of_segment_by_instance = AacVisualizationTableBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_segment_by_dict = aac_visualization_table_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfSegmentBy from a dict
+aac_visualization_table_buckets_all_of_segment_by_from_dict = AacVisualizationTableBucketsAllOfSegmentBy.from_dict(aac_visualization_table_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..8040db5d6
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_size_by import AacVisualizationTableBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfSizeBy from a JSON string
+aac_visualization_table_buckets_all_of_size_by_instance = AacVisualizationTableBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_size_by_dict = aac_visualization_table_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfSizeBy from a dict
+aac_visualization_table_buckets_all_of_size_by_from_dict = AacVisualizationTableBucketsAllOfSizeBy.from_dict(aac_visualization_table_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfStackBy.md
new file mode 100644
index 000000000..114974ef0
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_stack_by import AacVisualizationTableBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfStackBy from a JSON string
+aac_visualization_table_buckets_all_of_stack_by_instance = AacVisualizationTableBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_stack_by_dict = aac_visualization_table_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfStackBy from a dict
+aac_visualization_table_buckets_all_of_stack_by_from_dict = AacVisualizationTableBucketsAllOfStackBy.from_dict(aac_visualization_table_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..18c4f3cf8
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_trend_by import AacVisualizationTableBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfTrendBy from a JSON string
+aac_visualization_table_buckets_all_of_trend_by_instance = AacVisualizationTableBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_trend_by_dict = aac_visualization_table_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfTrendBy from a dict
+aac_visualization_table_buckets_all_of_trend_by_from_dict = AacVisualizationTableBucketsAllOfTrendBy.from_dict(aac_visualization_table_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationTableBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfViewBy.md
new file mode 100644
index 000000000..744740260
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTableBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTableBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_table_buckets_all_of_view_by import AacVisualizationTableBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTableBucketsAllOfViewBy from a JSON string
+aac_visualization_table_buckets_all_of_view_by_instance = AacVisualizationTableBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTableBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_table_buckets_all_of_view_by_dict = aac_visualization_table_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationTableBucketsAllOfViewBy from a dict
+aac_visualization_table_buckets_all_of_view_by_from_dict = AacVisualizationTableBucketsAllOfViewBy.from_dict(aac_visualization_table_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfAttributes.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfAttributes.md
new file mode 100644
index 000000000..d674beb11
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfAttributes.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfAttributes
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_attributes import AacVisualizationTrendBucketsAllOfAttributes
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfAttributes from a JSON string
+aac_visualization_trend_buckets_all_of_attributes_instance = AacVisualizationTrendBucketsAllOfAttributes.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfAttributes.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_attributes_dict = aac_visualization_trend_buckets_all_of_attributes_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfAttributes from a dict
+aac_visualization_trend_buckets_all_of_attributes_from_dict = AacVisualizationTrendBucketsAllOfAttributes.from_dict(aac_visualization_trend_buckets_all_of_attributes_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfColumns.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfColumns.md
new file mode 100644
index 000000000..7cf40034a
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfColumns.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfColumns
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_columns import AacVisualizationTrendBucketsAllOfColumns
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfColumns from a JSON string
+aac_visualization_trend_buckets_all_of_columns_instance = AacVisualizationTrendBucketsAllOfColumns.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfColumns.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_columns_dict = aac_visualization_trend_buckets_all_of_columns_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfColumns from a dict
+aac_visualization_trend_buckets_all_of_columns_from_dict = AacVisualizationTrendBucketsAllOfColumns.from_dict(aac_visualization_trend_buckets_all_of_columns_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfMetrics.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfMetrics.md
new file mode 100644
index 000000000..494d3f95e
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfMetrics.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfMetrics
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_metrics import AacVisualizationTrendBucketsAllOfMetrics
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfMetrics from a JSON string
+aac_visualization_trend_buckets_all_of_metrics_instance = AacVisualizationTrendBucketsAllOfMetrics.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfMetrics.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_metrics_dict = aac_visualization_trend_buckets_all_of_metrics_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfMetrics from a dict
+aac_visualization_trend_buckets_all_of_metrics_from_dict = AacVisualizationTrendBucketsAllOfMetrics.from_dict(aac_visualization_trend_buckets_all_of_metrics_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfRows.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfRows.md
new file mode 100644
index 000000000..15830f799
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfRows.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfRows
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_rows import AacVisualizationTrendBucketsAllOfRows
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfRows from a JSON string
+aac_visualization_trend_buckets_all_of_rows_instance = AacVisualizationTrendBucketsAllOfRows.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfRows.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_rows_dict = aac_visualization_trend_buckets_all_of_rows_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfRows from a dict
+aac_visualization_trend_buckets_all_of_rows_from_dict = AacVisualizationTrendBucketsAllOfRows.from_dict(aac_visualization_trend_buckets_all_of_rows_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfSegmentBy.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfSegmentBy.md
new file mode 100644
index 000000000..3ccec98ed
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfSegmentBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfSegmentBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_segment_by import AacVisualizationTrendBucketsAllOfSegmentBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfSegmentBy from a JSON string
+aac_visualization_trend_buckets_all_of_segment_by_instance = AacVisualizationTrendBucketsAllOfSegmentBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfSegmentBy.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_segment_by_dict = aac_visualization_trend_buckets_all_of_segment_by_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfSegmentBy from a dict
+aac_visualization_trend_buckets_all_of_segment_by_from_dict = AacVisualizationTrendBucketsAllOfSegmentBy.from_dict(aac_visualization_trend_buckets_all_of_segment_by_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfSizeBy.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfSizeBy.md
new file mode 100644
index 000000000..91765255a
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfSizeBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfSizeBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_size_by import AacVisualizationTrendBucketsAllOfSizeBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfSizeBy from a JSON string
+aac_visualization_trend_buckets_all_of_size_by_instance = AacVisualizationTrendBucketsAllOfSizeBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfSizeBy.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_size_by_dict = aac_visualization_trend_buckets_all_of_size_by_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfSizeBy from a dict
+aac_visualization_trend_buckets_all_of_size_by_from_dict = AacVisualizationTrendBucketsAllOfSizeBy.from_dict(aac_visualization_trend_buckets_all_of_size_by_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfStackBy.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfStackBy.md
new file mode 100644
index 000000000..b17dc38f1
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfStackBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfStackBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_stack_by import AacVisualizationTrendBucketsAllOfStackBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfStackBy from a JSON string
+aac_visualization_trend_buckets_all_of_stack_by_instance = AacVisualizationTrendBucketsAllOfStackBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfStackBy.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_stack_by_dict = aac_visualization_trend_buckets_all_of_stack_by_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfStackBy from a dict
+aac_visualization_trend_buckets_all_of_stack_by_from_dict = AacVisualizationTrendBucketsAllOfStackBy.from_dict(aac_visualization_trend_buckets_all_of_stack_by_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfTrendBy.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfTrendBy.md
new file mode 100644
index 000000000..40ce7ae37
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfTrendBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfTrendBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_trend_by import AacVisualizationTrendBucketsAllOfTrendBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfTrendBy from a JSON string
+aac_visualization_trend_buckets_all_of_trend_by_instance = AacVisualizationTrendBucketsAllOfTrendBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfTrendBy.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_trend_by_dict = aac_visualization_trend_buckets_all_of_trend_by_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfTrendBy from a dict
+aac_visualization_trend_buckets_all_of_trend_by_from_dict = AacVisualizationTrendBucketsAllOfTrendBy.from_dict(aac_visualization_trend_buckets_all_of_trend_by_dict)
+```
+[[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/AacVisualizationTrendBucketsAllOfViewBy.md b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfViewBy.md
new file mode 100644
index 000000000..f547a8eb6
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationTrendBucketsAllOfViewBy.md
@@ -0,0 +1,28 @@
+# AacVisualizationTrendBucketsAllOfViewBy
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_trend_buckets_all_of_view_by import AacVisualizationTrendBucketsAllOfViewBy
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationTrendBucketsAllOfViewBy from a JSON string
+aac_visualization_trend_buckets_all_of_view_by_instance = AacVisualizationTrendBucketsAllOfViewBy.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationTrendBucketsAllOfViewBy.to_json())
+
+# convert the object into a dict
+aac_visualization_trend_buckets_all_of_view_by_dict = aac_visualization_trend_buckets_all_of_view_by_instance.to_dict()
+# create an instance of AacVisualizationTrendBucketsAllOfViewBy from a dict
+aac_visualization_trend_buckets_all_of_view_by_from_dict = AacVisualizationTrendBucketsAllOfViewBy.from_dict(aac_visualization_trend_buckets_all_of_view_by_dict)
+```
+[[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/AacVisualizationWidgetAllOfDescription.md b/gooddata-api-client/docs/AacVisualizationWidgetAllOfDescription.md
new file mode 100644
index 000000000..de5eff489
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationWidgetAllOfDescription.md
@@ -0,0 +1,28 @@
+# AacVisualizationWidgetAllOfDescription
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_widget_all_of_description import AacVisualizationWidgetAllOfDescription
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationWidgetAllOfDescription from a JSON string
+aac_visualization_widget_all_of_description_instance = AacVisualizationWidgetAllOfDescription.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationWidgetAllOfDescription.to_json())
+
+# convert the object into a dict
+aac_visualization_widget_all_of_description_dict = aac_visualization_widget_all_of_description_instance.to_dict()
+# create an instance of AacVisualizationWidgetAllOfDescription from a dict
+aac_visualization_widget_all_of_description_from_dict = AacVisualizationWidgetAllOfDescription.from_dict(aac_visualization_widget_all_of_description_dict)
+```
+[[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/AacVisualizationWidgetAllOfTitle.md b/gooddata-api-client/docs/AacVisualizationWidgetAllOfTitle.md
new file mode 100644
index 000000000..9744c1119
--- /dev/null
+++ b/gooddata-api-client/docs/AacVisualizationWidgetAllOfTitle.md
@@ -0,0 +1,28 @@
+# AacVisualizationWidgetAllOfTitle
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+## Example
+
+```python
+from gooddata_api_client.models.aac_visualization_widget_all_of_title import AacVisualizationWidgetAllOfTitle
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AacVisualizationWidgetAllOfTitle from a JSON string
+aac_visualization_widget_all_of_title_instance = AacVisualizationWidgetAllOfTitle.from_json(json)
+# print the JSON string representation of the object
+print(AacVisualizationWidgetAllOfTitle.to_json())
+
+# convert the object into a dict
+aac_visualization_widget_all_of_title_dict = aac_visualization_widget_all_of_title_instance.to_dict()
+# create an instance of AacVisualizationWidgetAllOfTitle from a dict
+aac_visualization_widget_all_of_title_from_dict = AacVisualizationWidgetAllOfTitle.from_dict(aac_visualization_widget_all_of_title_dict)
+```
+[[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/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md
index 00977d702..d0692ff2a 100644
--- a/gooddata-api-client/docs/ActionsApi.md
+++ b/gooddata-api-client/docs/ActionsApi.md
@@ -10,6 +10,7 @@ Method | HTTP request | Description
[**ai_chat_usage**](ActionsApi.md#ai_chat_usage) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/chatUsage | Get Chat Usage
[**ai_search**](ActionsApi.md#ai_search) | **POST** /api/v1/actions/workspaces/{workspaceId}/ai/search | (BETA) Semantic Search in Metadata
[**all_platform_usage**](ActionsApi.md#all_platform_usage) | **GET** /api/v1/actions/collectUsage | Info about the platform usage.
+[**analyze_csv**](ActionsApi.md#analyze_csv) | **POST** /api/v1/actions/fileStorage/staging/analyzeCsv | Analyze CSV
[**anomaly_detection**](ActionsApi.md#anomaly_detection) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/{resultId} | (EXPERIMENTAL) Smart functions - Anomaly Detection
[**anomaly_detection_result**](ActionsApi.md#anomaly_detection_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/anomalyDetection/result/{resultId} | (EXPERIMENTAL) Smart functions - Anomaly Detection Result
[**available_assignees**](ActionsApi.md#available_assignees) | **GET** /api/v1/actions/workspaces/{workspaceId}/analyticalDashboards/{dashboardId}/availableAssignees | Get Available Assignees
@@ -20,11 +21,13 @@ Method | HTTP request | Description
[**clean_translations**](ActionsApi.md#clean_translations) | **POST** /api/v1/actions/workspaces/{workspaceId}/translations/clean | Cleans up translations.
[**clustering**](ActionsApi.md#clustering) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/functions/clustering/{resultId} | (EXPERIMENTAL) Smart functions - Clustering
[**clustering_result**](ActionsApi.md#clustering_result) | **GET** /api/v1/actions/workspaces/{workspaceId}/execution/functions/clustering/result/{resultId} | (EXPERIMENTAL) Smart functions - Clustering Result
+[**collect_cache_usage**](ActionsApi.md#collect_cache_usage) | **GET** /api/v1/actions/collectCacheUsage | Collect data about the current cache usage
[**column_statistics**](ActionsApi.md#column_statistics) | **POST** /api/v1/actions/dataSources/{dataSourceId}/computeColumnStatistics | (EXPERIMENTAL) Compute column statistics
[**compute_label_elements_post**](ActionsApi.md#compute_label_elements_post) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/collectLabelElements | Listing of label values. The resulting data are limited by the static platform limit to the maximum of 10000 rows.
[**compute_report**](ActionsApi.md#compute_report) | **POST** /api/v1/actions/workspaces/{workspaceId}/execution/afm/execute | Executes analytical request and returns link to the result
[**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
+[**convert_geo_file**](ActionsApi.md#convert_geo_file) | **POST** /api/v1/actions/customGeoCollection/convert | Convert a geo file to GeoParquet format
[**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
@@ -33,8 +36,10 @@ Method | HTTP request | Description
[**create_slides_export**](ActionsApi.md#create_slides_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/slides | (EXPERIMENTAL) Create slides export request
[**create_tabular_export**](ActionsApi.md#create_tabular_export) | **POST** /api/v1/actions/workspaces/{workspaceId}/export/tabular | Create tabular export request
[**created_by**](ActionsApi.md#created_by) | **GET** /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/createdBy | Get Analytics Catalog CreatedBy Users
+[**custom_geo_collection_staging_upload**](ActionsApi.md#custom_geo_collection_staging_upload) | **POST** /api/v1/actions/customGeoCollection/staging/upload | Upload a geo collection file to the staging area
[**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_files**](ActionsApi.md#delete_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles | Delete datasource files
[**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.
@@ -60,11 +65,14 @@ Method | HTTP request | Description
[**get_slides_export_metadata**](ActionsApi.md#get_slides_export_metadata) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/slides/{exportId}/metadata | (EXPERIMENTAL) Retrieve metadata context
[**get_tabular_export**](ActionsApi.md#get_tabular_export) | **GET** /api/v1/actions/workspaces/{workspaceId}/export/tabular/{exportId} | Retrieve exported files
[**get_translation_tags**](ActionsApi.md#get_translation_tags) | **GET** /api/v1/actions/workspaces/{workspaceId}/translations | Get translation tags.
+[**import_csv**](ActionsApi.md#import_csv) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv | Import CSV
+[**import_custom_geo_collection**](ActionsApi.md#import_custom_geo_collection) | **POST** /api/v1/actions/customGeoCollection/{collectionId}/import | Import custom geo collection
[**inherited_entity_conflicts**](ActionsApi.md#inherited_entity_conflicts) | **GET** /api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts | Finds identifier conflicts in workspace hierarchy.
[**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_files**](ActionsApi.md#list_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles | List datasource files
[**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
@@ -84,6 +92,7 @@ Method | HTTP request | Description
[**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
+[**read_csv_file_manifests**](ActionsApi.md#read_csv_file_manifests) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests | Read CSV file manifests
[**register_upload_notification**](ActionsApi.md#register_upload_notification) | **POST** /api/v1/actions/dataSources/{dataSourceId}/uploadNotification | Register an upload notification
[**resolve_all_entitlements**](ActionsApi.md#resolve_all_entitlements) | **GET** /api/v1/actions/resolveEntitlements | Values for all public entitlements.
[**resolve_all_settings_without_workspace**](ActionsApi.md#resolve_all_settings_without_workspace) | **GET** /api/v1/actions/resolveSettings | Values for all settings without workspace.
@@ -98,6 +107,7 @@ Method | HTTP request | Description
[**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.
+[**staging_upload**](ActionsApi.md#staging_upload) | **POST** /api/v1/actions/fileStorage/staging/upload | Upload a file to the staging area
[**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
@@ -621,6 +631,88 @@ 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)
+# **analyze_csv**
+> [AnalyzeCsvResponse] analyze_csv(analyze_csv_request)
+
+Analyze CSV
+
+Analyzes CSV files at the given locations
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.analyze_csv_response import AnalyzeCsvResponse
+from gooddata_api_client.model.analyze_csv_request import AnalyzeCsvRequest
+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)
+ analyze_csv_request = AnalyzeCsvRequest(
+ analyze_requests=[
+ AnalyzeCsvRequestItem(
+ config=AnalyzeCsvRequestItemConfig(
+ delimiters=[
+ "delimiters_example",
+ ],
+ header_detect_max_rows=1,
+ header_row_count=1,
+ result_rows=1,
+ ),
+ location="location_example",
+ ),
+ ],
+ ) # AnalyzeCsvRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Analyze CSV
+ api_response = api_instance.analyze_csv(analyze_csv_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->analyze_csv: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **analyze_csv_request** | [**AnalyzeCsvRequest**](AnalyzeCsvRequest.md)| |
+
+### Return type
+
+[**[AnalyzeCsvResponse]**](AnalyzeCsvResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful analysis. | - |
+
+[[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)
+
# **anomaly_detection**
> SmartFunctionResponse anomaly_detection(workspace_id, result_id, anomaly_detection_request)
@@ -1417,6 +1509,69 @@ 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)
+
+# **collect_cache_usage**
+> CacheUsageData collect_cache_usage()
+
+Collect data about the current cache usage
+
+Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.cache_usage_data import CacheUsageData
+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)
+
+ # example, this endpoint has no required or optional parameters
+ try:
+ # Collect data about the current cache usage
+ api_response = api_instance.collect_cache_usage()
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->collect_cache_usage: %s\n" % e)
+```
+
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**CacheUsageData**](CacheUsageData.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
### HTTP response details
| Status code | Description | Response headers |
@@ -1968,6 +2123,77 @@ 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)
+# **convert_geo_file**
+> ConvertGeoFileResponse convert_geo_file(convert_geo_file_request)
+
+Convert a geo file to GeoParquet format
+
+Converts a geo file from the staging area to GeoParquet format. Supported source formats: GeoJSON (.geojson, .json), ESRI Shapefile (.zip). If the source file is already in GeoParquet format, the same location is returned without conversion.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.convert_geo_file_response import ConvertGeoFileResponse
+from gooddata_api_client.model.convert_geo_file_request import ConvertGeoFileRequest
+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)
+ convert_geo_file_request = ConvertGeoFileRequest(
+ location="location_example",
+ ) # ConvertGeoFileRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Convert a geo file to GeoParquet format
+ api_response = api_instance.convert_geo_file(convert_geo_file_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->convert_geo_file: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **convert_geo_file_request** | [**ConvertGeoFileRequest**](ConvertGeoFileRequest.md)| |
+
+### Return type
+
+[**ConvertGeoFileResponse**](ConvertGeoFileResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: */*
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Conversion was successful. | - |
+**400** | Invalid request or unsupported file format. | - |
+
+[[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_dashboard_export_request**
> ExportResponse create_dashboard_export_request(workspace_id, dashboard_id, dashboard_tabular_export_request)
@@ -2709,6 +2935,73 @@ 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)
+# **custom_geo_collection_staging_upload**
+> UploadGeoCollectionFileResponse custom_geo_collection_staging_upload(file)
+
+Upload a geo collection file to the staging area
+
+Provides a location for uploading staging files for custom geo collections. Supported file types: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). Maximum file size: 100 MB.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.upload_geo_collection_file_response import UploadGeoCollectionFileResponse
+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)
+ file = open('/path/to/file', 'rb') # file_type | The geo collection file to upload. Supported formats: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip).
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Upload a geo collection file to the staging area
+ api_response = api_instance.custom_geo_collection_staging_upload(file)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->custom_geo_collection_staging_upload: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **file** | **file_type**| The geo collection file to upload. Supported formats: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). |
+
+### Return type
+
+[**UploadGeoCollectionFileResponse**](UploadGeoCollectionFileResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: */*
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Upload was successful. | - |
+
+[[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)
+
# **dashboard_permissions**
> DashboardPermissions dashboard_permissions(workspace_id, dashboard_id)
@@ -2842,6 +3135,78 @@ 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)
+# **delete_files**
+> delete_files(data_source_id, delete_files_request)
+
+Delete datasource files
+
+Delete the files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.delete_files_request import DeleteFilesRequest
+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)
+ data_source_id = "dataSourceId_example" # str |
+ delete_files_request = DeleteFilesRequest(
+ file_names=[
+ "file_names_example",
+ ],
+ ) # DeleteFilesRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete datasource files
+ api_instance.delete_files(data_source_id, delete_files_request)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->delete_files: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+ **delete_files_request** | [**DeleteFilesRequest**](DeleteFilesRequest.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** | Successful deletion. | - |
+
+[[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_organization_automations**
> delete_organization_automations(organization_automation_management_bulk_request)
@@ -4562,9 +4927,146 @@ No authorization required
# **get_slides_export**
> file_type get_slides_export(workspace_id, export_id)
-(EXPERIMENTAL) Retrieve exported files
+(EXPERIMENTAL) Retrieve exported files
+
+Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.get_image_export202_response_inner import GetImageExport202ResponseInner
+from pprint import pprint
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = gooddata_api_client.Configuration(
+ host = "http://localhost"
+)
+
+
+# Enter a context with an instance of the API client
+with gooddata_api_client.ApiClient() as api_client:
+ # Create an instance of the API class
+ api_instance = actions_api.ActionsApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ export_id = "exportId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # (EXPERIMENTAL) Retrieve exported files
+ api_response = api_instance.get_slides_export(workspace_id, export_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->get_slides_export: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **export_id** | **str**| |
+
+### Return type
+
+**file_type**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/zip
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Binary export result. | * Content-Disposition -
|
+**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_slides_export_metadata**
+> get_slides_export_metadata(workspace_id, export_id)
+
+(EXPERIMENTAL) Retrieve metadata context
+
+Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from pprint import pprint
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = gooddata_api_client.Configuration(
+ host = "http://localhost"
+)
+
+
+# Enter a context with an instance of the API client
+with gooddata_api_client.ApiClient() as api_client:
+ # Create an instance of the API class
+ api_instance = actions_api.ActionsApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ export_id = "exportId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # (EXPERIMENTAL) Retrieve metadata context
+ api_instance.get_slides_export_metadata(workspace_id, export_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->get_slides_export_metadata: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **export_id** | **str**| |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Json metadata representation | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_tabular_export**
+> file_type get_tabular_export(workspace_id, export_id)
+
+Retrieve exported files
-Note: This API is an experimental and is going to change. Please, use it accordingly. After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.
+After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.
### Example
@@ -4573,7 +5075,6 @@ Note: This API is an experimental and is going to change. Please, use it accordi
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
-from gooddata_api_client.model.get_image_export202_response_inner import GetImageExport202ResponseInner
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.
@@ -4591,11 +5092,11 @@ with gooddata_api_client.ApiClient() as api_client:
# example passing only required values which don't have defaults set
try:
- # (EXPERIMENTAL) Retrieve exported files
- api_response = api_instance.get_slides_export(workspace_id, export_id)
+ # Retrieve exported files
+ api_response = api_instance.get_tabular_export(workspace_id, export_id)
pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_slides_export: %s\n" % e)
+ print("Exception when calling ActionsApi->get_tabular_export: %s\n" % e)
```
@@ -4617,7 +5118,7 @@ No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/zip
+ - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/zip, text/csv, text/html
### HTTP response details
@@ -4629,12 +5130,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_slides_export_metadata**
-> get_slides_export_metadata(workspace_id, export_id)
+# **get_translation_tags**
+> [str] get_translation_tags(workspace_id)
-(EXPERIMENTAL) Retrieve metadata context
+Get translation tags.
-Note: This API is an experimental and is going to change. Please, use it accordingly. This endpoint serves as a cache for user-defined metadata of the export for the front end UI to retrieve it, if one was created using the POST ../export/slides endpoint. The metadata structure is not verified.
+Provides a list of effective translation tags.
### Example
@@ -4656,14 +5157,14 @@ with gooddata_api_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = actions_api.ActionsApi(api_client)
workspace_id = "workspaceId_example" # str |
- export_id = "exportId_example" # str |
# example passing only required values which don't have defaults set
try:
- # (EXPERIMENTAL) Retrieve metadata context
- api_instance.get_slides_export_metadata(workspace_id, export_id)
+ # Get translation tags.
+ api_response = api_instance.get_translation_tags(workspace_id)
+ pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_slides_export_metadata: %s\n" % e)
+ print("Exception when calling ActionsApi->get_translation_tags: %s\n" % e)
```
@@ -4672,11 +5173,10 @@ with gooddata_api_client.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**workspace_id** | **str**| |
- **export_id** | **str**| |
### Return type
-void (empty response body)
+**[str]**
### Authorization
@@ -4692,16 +5192,16 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | Json metadata representation | - |
+**200** | Retrieved list of translation tags. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **get_tabular_export**
-> file_type get_tabular_export(workspace_id, export_id)
+# **import_csv**
+> [ImportCsvResponse] import_csv(data_source_id, import_csv_request)
-Retrieve exported files
+Import CSV
-After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename.
+Import the CSV files at the given locations in the staging area to the final location.
### Example
@@ -4710,6 +5210,8 @@ After clients creates a POST export request, the processing of it will start sho
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.import_csv_request import ImportCsvRequest
+from gooddata_api_client.model.import_csv_response import ImportCsvResponse
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.
@@ -4722,16 +5224,80 @@ 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 |
- export_id = "exportId_example" # str |
+ data_source_id = "dataSourceId_example" # str |
+ import_csv_request = ImportCsvRequest(
+ tables=[
+ ImportCsvRequestTable(
+ name="name_example",
+ source=ImportCsvRequestTableSource(
+ config=ImportCsvRequestTableSourceConfig(
+ column_date_formats={
+ "key": "key_example",
+ },
+ convert_options=CsvConvertOptions(
+ auto_dict_encode=True,
+ auto_dict_max_cardinality=1,
+ check_utf8=True,
+ column_types=[
+ CsvConvertOptionsColumnType(
+ name="name_example",
+ nullable=True,
+ type="type_example",
+ ),
+ ],
+ decimal_point="decimal_point_example",
+ false_values=[
+ "false_values_example",
+ ],
+ include_columns=[
+ "include_columns_example",
+ ],
+ include_missing_columns=True,
+ null_values=[
+ "null_values_example",
+ ],
+ quoted_strings_can_be_null=True,
+ strings_can_be_null=True,
+ timestamp_parsers=[
+ "timestamp_parsers_example",
+ ],
+ true_values=[
+ "true_values_example",
+ ],
+ ),
+ parse_options=CsvParseOptions(
+ delimiter="delimiter_example",
+ double_quote=True,
+ escape_char={},
+ ignore_empty_lines=True,
+ newlines_in_values=True,
+ quote_char={},
+ ),
+ read_options=CsvReadOptions(
+ auto_generate_column_names=True,
+ block_size=1,
+ column_names=[
+ "column_names_example",
+ ],
+ encoding="encoding_example",
+ skip_rows=1,
+ skip_rows_after_names=1,
+ use_threads=True,
+ ),
+ ),
+ location="location_example",
+ ),
+ ),
+ ],
+ ) # ImportCsvRequest |
# example passing only required values which don't have defaults set
try:
- # Retrieve exported files
- api_response = api_instance.get_tabular_export(workspace_id, export_id)
+ # Import CSV
+ api_response = api_instance.import_csv(data_source_id, import_csv_request)
pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_tabular_export: %s\n" % e)
+ print("Exception when calling ActionsApi->import_csv: %s\n" % e)
```
@@ -4739,12 +5305,12 @@ with gooddata_api_client.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **workspace_id** | **str**| |
- **export_id** | **str**| |
+ **data_source_id** | **str**| |
+ **import_csv_request** | [**ImportCsvRequest**](ImportCsvRequest.md)| |
### Return type
-**file_type**
+[**[ImportCsvResponse]**](ImportCsvResponse.md)
### Authorization
@@ -4752,25 +5318,24 @@ No authorization required
### HTTP request headers
- - **Content-Type**: Not defined
- - **Accept**: application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/zip, text/csv, text/html
+ - **Content-Type**: application/json
+ - **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | Binary export result. | * Content-Disposition -
|
-**202** | Request is accepted, provided exportId exists, but export is not yet ready. | - |
+**200** | Successful import. | - |
[[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_translation_tags**
-> [str] get_translation_tags(workspace_id)
+# **import_custom_geo_collection**
+> ImportGeoCollectionResponse import_custom_geo_collection(collection_id, import_geo_collection_request)
-Get translation tags.
+Import custom geo collection
-Provides a list of effective translation tags.
+Import a geo collection file from the staging area to be available for use. The file must be in GeoParquet format (use the convert endpoint first for other formats). Validates file size (max 100 MB), organization storage quota (max 1 GB total), and GeoParquet schema (requires id, geometry, and bbox columns).
### Example
@@ -4779,6 +5344,8 @@ Provides a list of effective translation tags.
import time
import gooddata_api_client
from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.import_geo_collection_response import ImportGeoCollectionResponse
+from gooddata_api_client.model.import_geo_collection_request import ImportGeoCollectionRequest
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.
@@ -4791,15 +5358,18 @@ 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 |
+ collection_id = "collectionId_example" # str |
+ import_geo_collection_request = ImportGeoCollectionRequest(
+ location="location_example",
+ ) # ImportGeoCollectionRequest |
# example passing only required values which don't have defaults set
try:
- # Get translation tags.
- api_response = api_instance.get_translation_tags(workspace_id)
+ # Import custom geo collection
+ api_response = api_instance.import_custom_geo_collection(collection_id, import_geo_collection_request)
pprint(api_response)
except gooddata_api_client.ApiException as e:
- print("Exception when calling ActionsApi->get_translation_tags: %s\n" % e)
+ print("Exception when calling ActionsApi->import_custom_geo_collection: %s\n" % e)
```
@@ -4807,11 +5377,12 @@ with gooddata_api_client.ApiClient() as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **workspace_id** | **str**| |
+ **collection_id** | **str**| |
+ **import_geo_collection_request** | [**ImportGeoCollectionRequest**](ImportGeoCollectionRequest.md)| |
### Return type
-**[str]**
+[**ImportGeoCollectionResponse**](ImportGeoCollectionResponse.md)
### Authorization
@@ -4819,15 +5390,15 @@ No authorization required
### HTTP request headers
- - **Content-Type**: Not defined
- - **Accept**: application/json
+ - **Content-Type**: application/json
+ - **Accept**: */*
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | Retrieved list of translation tags. | - |
+**200** | Successful import. | - |
[[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)
@@ -5221,6 +5792,73 @@ 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_files**
+> [GdStorageFile] list_files(data_source_id)
+
+List datasource files
+
+List all the files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.gd_storage_file import GdStorageFile
+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)
+ data_source_id = "dataSourceId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # List datasource files
+ api_response = api_instance.list_files(data_source_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->list_files: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+
+### Return type
+
+[**[GdStorageFile]**](GdStorageFile.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful listing. | - |
+
+[[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_workspace_user_groups**
> WorkspaceUserGroups list_workspace_user_groups(workspace_id)
@@ -6617,6 +7255,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)
+# **read_csv_file_manifests**
+> [ReadCsvFileManifestsResponse] read_csv_file_manifests(data_source_id, read_csv_file_manifests_request)
+
+Read CSV file manifests
+
+Read the manifests of the CSV files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.read_csv_file_manifests_response import ReadCsvFileManifestsResponse
+from gooddata_api_client.model.read_csv_file_manifests_request import ReadCsvFileManifestsRequest
+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)
+ data_source_id = "dataSourceId_example" # str |
+ read_csv_file_manifests_request = ReadCsvFileManifestsRequest(
+ manifest_requests=[
+ ReadCsvFileManifestsRequestItem(
+ file_name="file_name_example",
+ version=1,
+ ),
+ ],
+ ) # ReadCsvFileManifestsRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Read CSV file manifests
+ api_response = api_instance.read_csv_file_manifests(data_source_id, read_csv_file_manifests_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->read_csv_file_manifests: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+ **read_csv_file_manifests_request** | [**ReadCsvFileManifestsRequest**](ReadCsvFileManifestsRequest.md)| |
+
+### Return type
+
+[**[ReadCsvFileManifestsResponse]**](ReadCsvFileManifestsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful listing. | - |
+
+[[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)
+
# **register_upload_notification**
> register_upload_notification(data_source_id)
@@ -7686,6 +8401,73 @@ 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)
+# **staging_upload**
+> UploadFileResponse staging_upload(file)
+
+Upload a file to the staging area
+
+Provides a location for uploading staging files.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import actions_api
+from gooddata_api_client.model.upload_file_response import UploadFileResponse
+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)
+ file = open('/path/to/file', 'rb') # file_type | The file to upload.
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Upload a file to the staging area
+ api_response = api_instance.staging_upload(file)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ActionsApi->staging_upload: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **file** | **file_type**| The file to upload. |
+
+### Return type
+
+[**UploadFileResponse**](UploadFileResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Upload was successful. | - |
+
+[[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)
+
# **switch_active_identity_provider**
> switch_active_identity_provider(switch_identity_provider_request)
diff --git a/gooddata-api-client/docs/AnalyticalDashboardControllerApi.md b/gooddata-api-client/docs/AnalyticalDashboardControllerApi.md
new file mode 100644
index 000000000..f9c0b96bc
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyticalDashboardControllerApi.md
@@ -0,0 +1,673 @@
+# gooddata_api_client.AnalyticalDashboardControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_analytical_dashboards**](AnalyticalDashboardControllerApi.md#create_entity_analytical_dashboards) | **POST** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards | Post Dashboards
+[**delete_entity_analytical_dashboards**](AnalyticalDashboardControllerApi.md#delete_entity_analytical_dashboards) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId} | Delete a Dashboard
+[**get_all_entities_analytical_dashboards**](AnalyticalDashboardControllerApi.md#get_all_entities_analytical_dashboards) | **GET** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards | Get all Dashboards
+[**get_entity_analytical_dashboards**](AnalyticalDashboardControllerApi.md#get_entity_analytical_dashboards) | **GET** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId} | Get a Dashboard
+[**patch_entity_analytical_dashboards**](AnalyticalDashboardControllerApi.md#patch_entity_analytical_dashboards) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId} | Patch a Dashboard
+[**search_entities_analytical_dashboards**](AnalyticalDashboardControllerApi.md#search_entities_analytical_dashboards) | **POST** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/search | The search endpoint (beta)
+[**update_entity_analytical_dashboards**](AnalyticalDashboardControllerApi.md#update_entity_analytical_dashboards) | **PUT** /api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId} | Put Dashboards
+
+
+# **create_entity_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutDocument create_entity_analytical_dashboards(workspace_id, json_api_analytical_dashboard_post_optional_id_document)
+
+Post Dashboards
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_post_optional_id_document import JsonApiAnalyticalDashboardPostOptionalIdDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_analytical_dashboard_post_optional_id_document = JsonApiAnalyticalDashboardPostOptionalIdDocument(
+ data=JsonApiAnalyticalDashboardPostOptionalId(
+ attributes=JsonApiAnalyticalDashboardInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ summary="summary_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="analyticalDashboard",
+ ),
+ ) # JsonApiAnalyticalDashboardPostOptionalIdDocument |
+ include = [
+ "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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Dashboards
+ api_response = api_instance.create_entity_analytical_dashboards(workspace_id, json_api_analytical_dashboard_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->create_entity_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Dashboards
+ api_response = api_instance.create_entity_analytical_dashboards(workspace_id, json_api_analytical_dashboard_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->create_entity_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_analytical_dashboard_post_optional_id_document** | [**JsonApiAnalyticalDashboardPostOptionalIdDocument**](JsonApiAnalyticalDashboardPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiAnalyticalDashboardOutDocument**](JsonApiAnalyticalDashboardOutDocument.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_analytical_dashboards**
+> delete_entity_analytical_dashboards(workspace_id, object_id)
+
+Delete a Dashboard
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a Dashboard
+ api_instance.delete_entity_analytical_dashboards(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->delete_entity_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Dashboard
+ api_instance.delete_entity_analytical_dashboards(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->delete_entity_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutList get_all_entities_analytical_dashboards(workspace_id)
+
+Get all Dashboards
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_out_list import JsonApiAnalyticalDashboardOutList
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=permissions,origin,accessInfo,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Dashboards
+ api_response = api_instance.get_all_entities_analytical_dashboards(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->get_all_entities_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Dashboards
+ api_response = api_instance.get_all_entities_analytical_dashboards(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->get_all_entities_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiAnalyticalDashboardOutList**](JsonApiAnalyticalDashboardOutList.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_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutDocument get_entity_analytical_dashboards(workspace_id, object_id)
+
+Get a Dashboard
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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 = [
+ "metaInclude=permissions,origin,accessInfo,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Dashboard
+ api_response = api_instance.get_entity_analytical_dashboards(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->get_entity_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Dashboard
+ api_response = api_instance.get_entity_analytical_dashboards(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->get_entity_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiAnalyticalDashboardOutDocument**](JsonApiAnalyticalDashboardOutDocument.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_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutDocument patch_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_patch_document)
+
+Patch a Dashboard
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_patch_document import JsonApiAnalyticalDashboardPatchDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_analytical_dashboard_patch_document = JsonApiAnalyticalDashboardPatchDocument(
+ data=JsonApiAnalyticalDashboardPatch(
+ attributes=JsonApiAnalyticalDashboardPatchAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ summary="summary_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="analyticalDashboard",
+ ),
+ ) # 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,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
+ try:
+ # Patch a Dashboard
+ api_response = api_instance.patch_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->patch_entity_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Dashboard
+ api_response = api_instance.patch_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->patch_entity_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_analytical_dashboard_patch_document** | [**JsonApiAnalyticalDashboardPatchDocument**](JsonApiAnalyticalDashboardPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAnalyticalDashboardOutDocument**](JsonApiAnalyticalDashboardOutDocument.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)
+
+# **search_entities_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutList search_entities_analytical_dashboards(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_out_list import JsonApiAnalyticalDashboardOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_analytical_dashboards(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->search_entities_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_analytical_dashboards(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->search_entities_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiAnalyticalDashboardOutList**](JsonApiAnalyticalDashboardOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_analytical_dashboards**
+> JsonApiAnalyticalDashboardOutDocument update_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_in_document)
+
+Put Dashboards
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import analytical_dashboard_controller_api
+from gooddata_api_client.model.json_api_analytical_dashboard_in_document import JsonApiAnalyticalDashboardInDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument
+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 = analytical_dashboard_controller_api.AnalyticalDashboardControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_analytical_dashboard_in_document = JsonApiAnalyticalDashboardInDocument(
+ data=JsonApiAnalyticalDashboardIn(
+ attributes=JsonApiAnalyticalDashboardInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ summary="summary_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="analyticalDashboard",
+ ),
+ ) # 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,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
+ try:
+ # Put Dashboards
+ api_response = api_instance.update_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->update_entity_analytical_dashboards: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Dashboards
+ api_response = api_instance.update_entity_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AnalyticalDashboardControllerApi->update_entity_analytical_dashboards: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_analytical_dashboard_in_document** | [**JsonApiAnalyticalDashboardInDocument**](JsonApiAnalyticalDashboardInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAnalyticalDashboardOutDocument**](JsonApiAnalyticalDashboardOutDocument.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/AnalyzeCsvRequest.md b/gooddata-api-client/docs/AnalyzeCsvRequest.md
new file mode 100644
index 000000000..04eef7f28
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvRequest.md
@@ -0,0 +1,13 @@
+# AnalyzeCsvRequest
+
+Bulk CSV analysis request.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**analyze_requests** | [**[AnalyzeCsvRequestItem]**](AnalyzeCsvRequestItem.md) | List of individual CSV analysis requests. |
+**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/AnalyzeCsvRequestItem.md b/gooddata-api-client/docs/AnalyzeCsvRequestItem.md
new file mode 100644
index 000000000..0a0af13a8
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvRequestItem.md
@@ -0,0 +1,14 @@
+# AnalyzeCsvRequestItem
+
+CSV analysis request.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location of the CSV file to analyze. |
+**config** | [**AnalyzeCsvRequestItemConfig**](AnalyzeCsvRequestItemConfig.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/AnalyzeCsvRequestItemConfig.md b/gooddata-api-client/docs/AnalyzeCsvRequestItemConfig.md
new file mode 100644
index 000000000..3e527c02c
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvRequestItemConfig.md
@@ -0,0 +1,16 @@
+# AnalyzeCsvRequestItemConfig
+
+CSV analysis request config.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**delimiters** | **[str]** | Possible column delimiters. | [optional]
+**header_detect_max_rows** | **int** | Maximum number of rows to work with during header detection. | [optional]
+**header_row_count** | **int** | Number of rows to consider as header, if null, header will be detected. | [optional]
+**result_rows** | **int** | Number of rows to return in the flight that represents analysis result. If 0, no rows are returned, if less than 0, all rows that were in the sample are returned. | [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/AnalyzeCsvResponse.md b/gooddata-api-client/docs/AnalyzeCsvResponse.md
new file mode 100644
index 000000000..732ef7d25
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvResponse.md
@@ -0,0 +1,16 @@
+# AnalyzeCsvResponse
+
+Describes the results of a CSV analysis of a single file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**columns** | [**[AnalyzeCsvResponseColumn]**](AnalyzeCsvResponseColumn.md) | List of column metadata. |
+**location** | **str** | Location of the analyzed file in the source data source. |
+**preview_data** | **[[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]]** | Preview of the first N rows of the file. |
+**config** | [**AnalyzeCsvResponseConfig**](AnalyzeCsvResponseConfig.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/AnalyzeCsvResponseColumn.md b/gooddata-api-client/docs/AnalyzeCsvResponseColumn.md
new file mode 100644
index 000000000..c7e18be1b
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvResponseColumn.md
@@ -0,0 +1,15 @@
+# AnalyzeCsvResponseColumn
+
+Describes the result column.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of the column as specified in the file (or autogenerated one if the file has no header). |
+**type** | **str** | Type of the column (e.g. string, bool, etc.). |
+**detected_date_formats** | **[str]** | List of date formats that can be used to parse this column as date. Null if there are none. | [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/AnalyzeCsvResponseConfig.md b/gooddata-api-client/docs/AnalyzeCsvResponseConfig.md
new file mode 100644
index 000000000..8a1b46a8d
--- /dev/null
+++ b/gooddata-api-client/docs/AnalyzeCsvResponseConfig.md
@@ -0,0 +1,15 @@
+# AnalyzeCsvResponseConfig
+
+Config used to process the CSV file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**convert_options** | [**CsvConvertOptions**](CsvConvertOptions.md) | | [optional]
+**parse_options** | [**CsvParseOptions**](CsvParseOptions.md) | | [optional]
+**read_options** | [**CsvReadOptions**](CsvReadOptions.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/ApiTokenControllerApi.md b/gooddata-api-client/docs/ApiTokenControllerApi.md
new file mode 100644
index 000000000..ee8ae5568
--- /dev/null
+++ b/gooddata-api-client/docs/ApiTokenControllerApi.md
@@ -0,0 +1,326 @@
+# gooddata_api_client.ApiTokenControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_api_tokens**](ApiTokenControllerApi.md#create_entity_api_tokens) | **POST** /api/v1/entities/users/{userId}/apiTokens | Post a new API token for the user
+[**delete_entity_api_tokens**](ApiTokenControllerApi.md#delete_entity_api_tokens) | **DELETE** /api/v1/entities/users/{userId}/apiTokens/{id} | Delete an API Token for a user
+[**get_all_entities_api_tokens**](ApiTokenControllerApi.md#get_all_entities_api_tokens) | **GET** /api/v1/entities/users/{userId}/apiTokens | List all api tokens for a user
+[**get_entity_api_tokens**](ApiTokenControllerApi.md#get_entity_api_tokens) | **GET** /api/v1/entities/users/{userId}/apiTokens/{id} | Get an API Token for a user
+
+
+# **create_entity_api_tokens**
+> JsonApiApiTokenOutDocument create_entity_api_tokens(user_id, json_api_api_token_in_document)
+
+Post a new API token for the user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import api_token_controller_api
+from gooddata_api_client.model.json_api_api_token_out_document import JsonApiApiTokenOutDocument
+from gooddata_api_client.model.json_api_api_token_in_document import JsonApiApiTokenInDocument
+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 = api_token_controller_api.ApiTokenControllerApi(api_client)
+ user_id = "userId_example" # str |
+ json_api_api_token_in_document = JsonApiApiTokenInDocument(
+ data=JsonApiApiTokenIn(
+ id="id1",
+ type="apiToken",
+ ),
+ ) # JsonApiApiTokenInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post a new API token for the user
+ api_response = api_instance.create_entity_api_tokens(user_id, json_api_api_token_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->create_entity_api_tokens: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **json_api_api_token_in_document** | [**JsonApiApiTokenInDocument**](JsonApiApiTokenInDocument.md)| |
+
+### Return type
+
+[**JsonApiApiTokenOutDocument**](JsonApiApiTokenOutDocument.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_api_tokens**
+> delete_entity_api_tokens(user_id, id)
+
+Delete an API Token for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import api_token_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 = api_token_controller_api.ApiTokenControllerApi(api_client)
+ user_id = "userId_example" # str |
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "bearerToken==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 an API Token for a user
+ api_instance.delete_entity_api_tokens(user_id, id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->delete_entity_api_tokens: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete an API Token for a user
+ api_instance.delete_entity_api_tokens(user_id, id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->delete_entity_api_tokens: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **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_api_tokens**
+> JsonApiApiTokenOutList get_all_entities_api_tokens(user_id)
+
+List all api tokens for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import api_token_controller_api
+from gooddata_api_client.model.json_api_api_token_out_list import JsonApiApiTokenOutList
+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 = api_token_controller_api.ApiTokenControllerApi(api_client)
+ user_id = "userId_example" # str |
+ filter = "bearerToken==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
+ try:
+ # List all api tokens for a user
+ api_response = api_instance.get_all_entities_api_tokens(user_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->get_all_entities_api_tokens: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # List all api tokens for a user
+ api_response = api_instance.get_all_entities_api_tokens(user_id, 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 ApiTokenControllerApi->get_all_entities_api_tokens: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_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]
+ **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
+
+[**JsonApiApiTokenOutList**](JsonApiApiTokenOutList.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_api_tokens**
+> JsonApiApiTokenOutDocument get_entity_api_tokens(user_id, id)
+
+Get an API Token for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import api_token_controller_api
+from gooddata_api_client.model.json_api_api_token_out_document import JsonApiApiTokenOutDocument
+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 = api_token_controller_api.ApiTokenControllerApi(api_client)
+ user_id = "userId_example" # str |
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "bearerToken==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 an API Token for a user
+ api_response = api_instance.get_entity_api_tokens(user_id, id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->get_entity_api_tokens: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get an API Token for a user
+ api_response = api_instance.get_entity_api_tokens(user_id, id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ApiTokenControllerApi->get_entity_api_tokens: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **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
+
+[**JsonApiApiTokenOutDocument**](JsonApiApiTokenOutDocument.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)
+
diff --git a/gooddata-api-client/docs/AttributeControllerApi.md b/gooddata-api-client/docs/AttributeControllerApi.md
new file mode 100644
index 000000000..d07288168
--- /dev/null
+++ b/gooddata-api-client/docs/AttributeControllerApi.md
@@ -0,0 +1,397 @@
+# gooddata_api_client.AttributeControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_entities_attributes**](AttributeControllerApi.md#get_all_entities_attributes) | **GET** /api/v1/entities/workspaces/{workspaceId}/attributes | Get all Attributes
+[**get_entity_attributes**](AttributeControllerApi.md#get_entity_attributes) | **GET** /api/v1/entities/workspaces/{workspaceId}/attributes/{objectId} | Get an Attribute
+[**patch_entity_attributes**](AttributeControllerApi.md#patch_entity_attributes) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/attributes/{objectId} | Patch an Attribute (beta)
+[**search_entities_attributes**](AttributeControllerApi.md#search_entities_attributes) | **POST** /api/v1/entities/workspaces/{workspaceId}/attributes/search | The search endpoint (beta)
+
+
+# **get_all_entities_attributes**
+> JsonApiAttributeOutList get_all_entities_attributes(workspace_id)
+
+Get all Attributes
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_controller_api
+from gooddata_api_client.model.json_api_attribute_out_list import JsonApiAttributeOutList
+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 = attribute_controller_api.AttributeControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;dataset.id==321;defaultView.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 = [
+ "dataset,defaultView,labels,attributeHierarchies",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Attributes
+ api_response = api_instance.get_all_entities_attributes(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->get_all_entities_attributes: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Attributes
+ api_response = api_instance.get_all_entities_attributes(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->get_all_entities_attributes: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiAttributeOutList**](JsonApiAttributeOutList.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_attributes**
+> JsonApiAttributeOutDocument get_entity_attributes(workspace_id, object_id)
+
+Get an Attribute
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_controller_api
+from gooddata_api_client.model.json_api_attribute_out_document import JsonApiAttributeOutDocument
+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 = attribute_controller_api.AttributeControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;dataset.id==321;defaultView.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 = [
+ "dataset,defaultView,labels,attributeHierarchies",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get an Attribute
+ api_response = api_instance.get_entity_attributes(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->get_entity_attributes: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get an Attribute
+ api_response = api_instance.get_entity_attributes(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->get_entity_attributes: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiAttributeOutDocument**](JsonApiAttributeOutDocument.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_attributes**
+> JsonApiAttributeOutDocument patch_entity_attributes(workspace_id, object_id, json_api_attribute_patch_document)
+
+Patch an Attribute (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_controller_api
+from gooddata_api_client.model.json_api_attribute_patch_document import JsonApiAttributePatchDocument
+from gooddata_api_client.model.json_api_attribute_out_document import JsonApiAttributeOutDocument
+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 = attribute_controller_api.AttributeControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_attribute_patch_document = JsonApiAttributePatchDocument(
+ data=JsonApiAttributePatch(
+ attributes=JsonApiAttributePatchAttributes(
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiAttributePatchRelationships(
+ default_view=JsonApiAttributeOutRelationshipsDefaultView(
+ data=JsonApiLabelToOneLinkage(None),
+ ),
+ ),
+ type="attribute",
+ ),
+ ) # JsonApiAttributePatchDocument |
+ filter = "title==someString;description==someString;dataset.id==321;defaultView.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 = [
+ "dataset,defaultView,labels,attributeHierarchies",
+ ] # [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
+ try:
+ # Patch an Attribute (beta)
+ api_response = api_instance.patch_entity_attributes(workspace_id, object_id, json_api_attribute_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->patch_entity_attributes: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch an Attribute (beta)
+ api_response = api_instance.patch_entity_attributes(workspace_id, object_id, json_api_attribute_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->patch_entity_attributes: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_attribute_patch_document** | [**JsonApiAttributePatchDocument**](JsonApiAttributePatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAttributeOutDocument**](JsonApiAttributeOutDocument.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)
+
+# **search_entities_attributes**
+> JsonApiAttributeOutList search_entities_attributes(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_controller_api
+from gooddata_api_client.model.json_api_attribute_out_list import JsonApiAttributeOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = attribute_controller_api.AttributeControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_attributes(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->search_entities_attributes: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_attributes(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeControllerApi->search_entities_attributes: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiAttributeOutList**](JsonApiAttributeOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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/AttributeHierarchyControllerApi.md b/gooddata-api-client/docs/AttributeHierarchyControllerApi.md
new file mode 100644
index 000000000..f963340f3
--- /dev/null
+++ b/gooddata-api-client/docs/AttributeHierarchyControllerApi.md
@@ -0,0 +1,670 @@
+# gooddata_api_client.AttributeHierarchyControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_attribute_hierarchies**](AttributeHierarchyControllerApi.md#create_entity_attribute_hierarchies) | **POST** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies | Post Attribute Hierarchies
+[**delete_entity_attribute_hierarchies**](AttributeHierarchyControllerApi.md#delete_entity_attribute_hierarchies) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId} | Delete an Attribute Hierarchy
+[**get_all_entities_attribute_hierarchies**](AttributeHierarchyControllerApi.md#get_all_entities_attribute_hierarchies) | **GET** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies | Get all Attribute Hierarchies
+[**get_entity_attribute_hierarchies**](AttributeHierarchyControllerApi.md#get_entity_attribute_hierarchies) | **GET** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId} | Get an Attribute Hierarchy
+[**patch_entity_attribute_hierarchies**](AttributeHierarchyControllerApi.md#patch_entity_attribute_hierarchies) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId} | Patch an Attribute Hierarchy
+[**search_entities_attribute_hierarchies**](AttributeHierarchyControllerApi.md#search_entities_attribute_hierarchies) | **POST** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/search | The search endpoint (beta)
+[**update_entity_attribute_hierarchies**](AttributeHierarchyControllerApi.md#update_entity_attribute_hierarchies) | **PUT** /api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId} | Put an Attribute Hierarchy
+
+
+# **create_entity_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutDocument create_entity_attribute_hierarchies(workspace_id, json_api_attribute_hierarchy_in_document)
+
+Post Attribute Hierarchies
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_in_document import JsonApiAttributeHierarchyInDocument
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_document import JsonApiAttributeHierarchyOutDocument
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_attribute_hierarchy_in_document = JsonApiAttributeHierarchyInDocument(
+ data=JsonApiAttributeHierarchyIn(
+ attributes=JsonApiAttributeHierarchyInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="attributeHierarchy",
+ ),
+ ) # JsonApiAttributeHierarchyInDocument |
+ include = [
+ "createdBy,modifiedBy,attributes",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Attribute Hierarchies
+ api_response = api_instance.create_entity_attribute_hierarchies(workspace_id, json_api_attribute_hierarchy_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->create_entity_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Attribute Hierarchies
+ api_response = api_instance.create_entity_attribute_hierarchies(workspace_id, json_api_attribute_hierarchy_in_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->create_entity_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_attribute_hierarchy_in_document** | [**JsonApiAttributeHierarchyInDocument**](JsonApiAttributeHierarchyInDocument.md)| |
+ **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 type
+
+[**JsonApiAttributeHierarchyOutDocument**](JsonApiAttributeHierarchyOutDocument.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_attribute_hierarchies**
+> delete_entity_attribute_hierarchies(workspace_id, object_id)
+
+Delete an Attribute Hierarchy
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete an Attribute Hierarchy
+ api_instance.delete_entity_attribute_hierarchies(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->delete_entity_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete an Attribute Hierarchy
+ api_instance.delete_entity_attribute_hierarchies(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->delete_entity_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutList get_all_entities_attribute_hierarchies(workspace_id)
+
+Get all Attribute Hierarchies
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_list import JsonApiAttributeHierarchyOutList
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,attributes",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Attribute Hierarchies
+ api_response = api_instance.get_all_entities_attribute_hierarchies(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->get_all_entities_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Attribute Hierarchies
+ api_response = api_instance.get_all_entities_attribute_hierarchies(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->get_all_entities_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiAttributeHierarchyOutList**](JsonApiAttributeHierarchyOutList.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_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutDocument get_entity_attribute_hierarchies(workspace_id, object_id)
+
+Get an Attribute Hierarchy
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_document import JsonApiAttributeHierarchyOutDocument
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,attributes",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get an Attribute Hierarchy
+ api_response = api_instance.get_entity_attribute_hierarchies(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->get_entity_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get an Attribute Hierarchy
+ api_response = api_instance.get_entity_attribute_hierarchies(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->get_entity_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiAttributeHierarchyOutDocument**](JsonApiAttributeHierarchyOutDocument.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_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutDocument patch_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_patch_document)
+
+Patch an Attribute Hierarchy
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_patch_document import JsonApiAttributeHierarchyPatchDocument
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_document import JsonApiAttributeHierarchyOutDocument
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_attribute_hierarchy_patch_document = JsonApiAttributeHierarchyPatchDocument(
+ data=JsonApiAttributeHierarchyPatch(
+ attributes=JsonApiAttributeHierarchyInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="attributeHierarchy",
+ ),
+ ) # JsonApiAttributeHierarchyPatchDocument |
+ 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,attributes",
+ ] # [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
+ try:
+ # Patch an Attribute Hierarchy
+ api_response = api_instance.patch_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->patch_entity_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch an Attribute Hierarchy
+ api_response = api_instance.patch_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->patch_entity_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_attribute_hierarchy_patch_document** | [**JsonApiAttributeHierarchyPatchDocument**](JsonApiAttributeHierarchyPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAttributeHierarchyOutDocument**](JsonApiAttributeHierarchyOutDocument.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)
+
+# **search_entities_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutList search_entities_attribute_hierarchies(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_list import JsonApiAttributeHierarchyOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_attribute_hierarchies(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->search_entities_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_attribute_hierarchies(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->search_entities_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiAttributeHierarchyOutList**](JsonApiAttributeHierarchyOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_attribute_hierarchies**
+> JsonApiAttributeHierarchyOutDocument update_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_in_document)
+
+Put an Attribute Hierarchy
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import attribute_hierarchy_controller_api
+from gooddata_api_client.model.json_api_attribute_hierarchy_in_document import JsonApiAttributeHierarchyInDocument
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_document import JsonApiAttributeHierarchyOutDocument
+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 = attribute_hierarchy_controller_api.AttributeHierarchyControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_attribute_hierarchy_in_document = JsonApiAttributeHierarchyInDocument(
+ data=JsonApiAttributeHierarchyIn(
+ attributes=JsonApiAttributeHierarchyInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="attributeHierarchy",
+ ),
+ ) # JsonApiAttributeHierarchyInDocument |
+ 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,attributes",
+ ] # [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
+ try:
+ # Put an Attribute Hierarchy
+ api_response = api_instance.update_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->update_entity_attribute_hierarchies: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put an Attribute Hierarchy
+ api_response = api_instance.update_entity_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AttributeHierarchyControllerApi->update_entity_attribute_hierarchies: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_attribute_hierarchy_in_document** | [**JsonApiAttributeHierarchyInDocument**](JsonApiAttributeHierarchyInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAttributeHierarchyOutDocument**](JsonApiAttributeHierarchyOutDocument.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/AutomationControllerApi.md b/gooddata-api-client/docs/AutomationControllerApi.md
new file mode 100644
index 000000000..b569d9d9d
--- /dev/null
+++ b/gooddata-api-client/docs/AutomationControllerApi.md
@@ -0,0 +1,1441 @@
+# gooddata_api_client.AutomationControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_automations**](AutomationControllerApi.md#create_entity_automations) | **POST** /api/v1/entities/workspaces/{workspaceId}/automations | Post Automations
+[**delete_entity_automations**](AutomationControllerApi.md#delete_entity_automations) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/automations/{objectId} | Delete an Automation
+[**get_all_entities_automations**](AutomationControllerApi.md#get_all_entities_automations) | **GET** /api/v1/entities/workspaces/{workspaceId}/automations | Get all Automations
+[**get_entity_automations**](AutomationControllerApi.md#get_entity_automations) | **GET** /api/v1/entities/workspaces/{workspaceId}/automations/{objectId} | Get an Automation
+[**patch_entity_automations**](AutomationControllerApi.md#patch_entity_automations) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/automations/{objectId} | Patch an Automation
+[**search_entities_automations**](AutomationControllerApi.md#search_entities_automations) | **POST** /api/v1/entities/workspaces/{workspaceId}/automations/search | The search endpoint (beta)
+[**update_entity_automations**](AutomationControllerApi.md#update_entity_automations) | **PUT** /api/v1/entities/workspaces/{workspaceId}/automations/{objectId} | Put an Automation
+
+
+# **create_entity_automations**
+> JsonApiAutomationOutDocument create_entity_automations(workspace_id, json_api_automation_in_document)
+
+Post Automations
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_in_document import JsonApiAutomationInDocument
+from gooddata_api_client.model.json_api_automation_out_document import JsonApiAutomationOutDocument
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_automation_in_document = JsonApiAutomationInDocument(
+ data=JsonApiAutomationIn(
+ attributes=JsonApiAutomationInAttributes(
+ alert=JsonApiAutomationInAttributesAlert(
+ condition=AlertCondition(),
+ execution=AlertAfm(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ interval="DAY",
+ trigger="ALWAYS",
+ ),
+ are_relations_valid=True,
+ dashboard_tabular_exports=[
+ JsonApiAutomationInAttributesDashboardTabularExportsInner(
+ request_payload=DashboardTabularExportRequestV2(
+ dashboard_filters_override=[
+ DashboardFilter(),
+ ],
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ dashboard_tabs_filters_overrides={
+ "key": [
+ DashboardFilter(),
+ ],
+ },
+ file_name="result",
+ format="XLSX",
+ settings=DashboardExportSettings(
+ export_info=True,
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ ),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ description="description_example",
+ details={},
+ evaluation_mode="SHARED",
+ external_recipients=[
+ JsonApiAutomationInAttributesExternalRecipientsInner(
+ email="email_example",
+ ),
+ ],
+ image_exports=[
+ JsonApiAutomationInAttributesImageExportsInner(
+ request_payload=ImageExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PNG",
+ metadata=JsonNode(),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ metadata=JsonApiAutomationInAttributesMetadata(),
+ raw_exports=[
+ JsonApiAutomationInAttributesRawExportsInner(
+ request_payload=RawExportAutomationRequest(
+ custom_override=RawCustomOverride(
+ labels={
+ "key": RawCustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": RawCustomMetric(
+ title="title_example",
+ ),
+ },
+ ),
+ delimiter="U",
+ execution=AFM(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ 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(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ execution_settings=ExecutionSettings(
+ data_sampling_percentage=0,
+ timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'),
+ ),
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ ),
+ ),
+ ],
+ schedule=JsonApiAutomationInAttributesSchedule(
+ cron="0 */30 9-17 ? * MON-FRI",
+ first_run=dateutil_parser('2025-01-01T12:00:00Z'),
+ timezone="Europe/Prague",
+ ),
+ slides_exports=[
+ JsonApiAutomationInAttributesSlidesExportsInner(
+ request_payload=SlidesExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PDF",
+ metadata=JsonNode(),
+ template_id="template_id_example",
+ visualization_ids=[
+ "visualization_ids_example",
+ ],
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ state="ACTIVE",
+ tabular_exports=[
+ JsonApiAutomationInAttributesTabularExportsInner(
+ request_payload=TabularExportRequest(
+ custom_override=CustomOverride(
+ labels={
+ "key": CustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": CustomMetric(
+ format="format_example",
+ title="title_example",
+ ),
+ },
+ ),
+ execution_result="ff483727196c9dc862c7fd3a5a84df55c96d61a4",
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ related_dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ settings=Settings(
+ delimiter="U",
+ export_info=True,
+ grand_totals_position="pinnedBottom",
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ pdf_page_size="a4 landscape",
+ pdf_table_style=[
+ PdfTableStyle(
+ properties=[
+ PdfTableStyleProperty(
+ key="key_example",
+ value="value_example",
+ ),
+ ],
+ selector="selector_example",
+ ),
+ ],
+ pdf_top_left_content="Good",
+ pdf_top_right_content="Morning",
+ show_filters=False,
+ ),
+ visualization_object="f7c359bc-c230-4487-b15b-ad9685bcb537",
+ visualization_object_custom_filters=[
+ {},
+ ],
+ ),
+ ),
+ ],
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ visual_exports=[
+ JsonApiAutomationInAttributesVisualExportsInner(
+ request_payload=VisualExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ metadata={},
+ ),
+ ),
+ ],
+ ),
+ id="id1",
+ relationships=JsonApiAutomationInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ export_definitions=JsonApiAutomationInRelationshipsExportDefinitions(
+ data=JsonApiExportDefinitionToManyLinkage([
+ JsonApiExportDefinitionLinkage(
+ id="id_example",
+ type="exportDefinition",
+ ),
+ ]),
+ ),
+ notification_channel=JsonApiAutomationInRelationshipsNotificationChannel(
+ data=JsonApiNotificationChannelToOneLinkage(None),
+ ),
+ recipients=JsonApiAutomationInRelationshipsRecipients(
+ data=JsonApiUserToManyLinkage([
+ JsonApiUserLinkage(
+ id="id_example",
+ type="user",
+ ),
+ ]),
+ ),
+ ),
+ type="automation",
+ ),
+ ) # JsonApiAutomationInDocument |
+ include = [
+ "notificationChannel,analyticalDashboard,createdBy,modifiedBy,exportDefinitions,recipients,automationResults",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Automations
+ api_response = api_instance.create_entity_automations(workspace_id, json_api_automation_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->create_entity_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Automations
+ api_response = api_instance.create_entity_automations(workspace_id, json_api_automation_in_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->create_entity_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_automation_in_document** | [**JsonApiAutomationInDocument**](JsonApiAutomationInDocument.md)| |
+ **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 type
+
+[**JsonApiAutomationOutDocument**](JsonApiAutomationOutDocument.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_automations**
+> delete_entity_automations(workspace_id, object_id)
+
+Delete an Automation
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;notificationChannel.id==321;analyticalDashboard.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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete an Automation
+ api_instance.delete_entity_automations(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->delete_entity_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete an Automation
+ api_instance.delete_entity_automations(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->delete_entity_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_automations**
+> JsonApiAutomationOutList get_all_entities_automations(workspace_id)
+
+Get all Automations
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_out_list import JsonApiAutomationOutList
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;notificationChannel.id==321;analyticalDashboard.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 = [
+ "notificationChannel,analyticalDashboard,createdBy,modifiedBy,exportDefinitions,recipients,automationResults",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Automations
+ api_response = api_instance.get_all_entities_automations(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->get_all_entities_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Automations
+ api_response = api_instance.get_all_entities_automations(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->get_all_entities_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiAutomationOutList**](JsonApiAutomationOutList.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_automations**
+> JsonApiAutomationOutDocument get_entity_automations(workspace_id, object_id)
+
+Get an Automation
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_out_document import JsonApiAutomationOutDocument
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;notificationChannel.id==321;analyticalDashboard.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 = [
+ "notificationChannel,analyticalDashboard,createdBy,modifiedBy,exportDefinitions,recipients,automationResults",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get an Automation
+ api_response = api_instance.get_entity_automations(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->get_entity_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get an Automation
+ api_response = api_instance.get_entity_automations(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->get_entity_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiAutomationOutDocument**](JsonApiAutomationOutDocument.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_automations**
+> JsonApiAutomationOutDocument patch_entity_automations(workspace_id, object_id, json_api_automation_patch_document)
+
+Patch an Automation
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_out_document import JsonApiAutomationOutDocument
+from gooddata_api_client.model.json_api_automation_patch_document import JsonApiAutomationPatchDocument
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_automation_patch_document = JsonApiAutomationPatchDocument(
+ data=JsonApiAutomationPatch(
+ attributes=JsonApiAutomationInAttributes(
+ alert=JsonApiAutomationInAttributesAlert(
+ condition=AlertCondition(),
+ execution=AlertAfm(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ interval="DAY",
+ trigger="ALWAYS",
+ ),
+ are_relations_valid=True,
+ dashboard_tabular_exports=[
+ JsonApiAutomationInAttributesDashboardTabularExportsInner(
+ request_payload=DashboardTabularExportRequestV2(
+ dashboard_filters_override=[
+ DashboardFilter(),
+ ],
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ dashboard_tabs_filters_overrides={
+ "key": [
+ DashboardFilter(),
+ ],
+ },
+ file_name="result",
+ format="XLSX",
+ settings=DashboardExportSettings(
+ export_info=True,
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ ),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ description="description_example",
+ details={},
+ evaluation_mode="SHARED",
+ external_recipients=[
+ JsonApiAutomationInAttributesExternalRecipientsInner(
+ email="email_example",
+ ),
+ ],
+ image_exports=[
+ JsonApiAutomationInAttributesImageExportsInner(
+ request_payload=ImageExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PNG",
+ metadata=JsonNode(),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ metadata=JsonApiAutomationInAttributesMetadata(),
+ raw_exports=[
+ JsonApiAutomationInAttributesRawExportsInner(
+ request_payload=RawExportAutomationRequest(
+ custom_override=RawCustomOverride(
+ labels={
+ "key": RawCustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": RawCustomMetric(
+ title="title_example",
+ ),
+ },
+ ),
+ delimiter="U",
+ execution=AFM(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ 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(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ execution_settings=ExecutionSettings(
+ data_sampling_percentage=0,
+ timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'),
+ ),
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ ),
+ ),
+ ],
+ schedule=JsonApiAutomationInAttributesSchedule(
+ cron="0 */30 9-17 ? * MON-FRI",
+ first_run=dateutil_parser('2025-01-01T12:00:00Z'),
+ timezone="Europe/Prague",
+ ),
+ slides_exports=[
+ JsonApiAutomationInAttributesSlidesExportsInner(
+ request_payload=SlidesExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PDF",
+ metadata=JsonNode(),
+ template_id="template_id_example",
+ visualization_ids=[
+ "visualization_ids_example",
+ ],
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ state="ACTIVE",
+ tabular_exports=[
+ JsonApiAutomationInAttributesTabularExportsInner(
+ request_payload=TabularExportRequest(
+ custom_override=CustomOverride(
+ labels={
+ "key": CustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": CustomMetric(
+ format="format_example",
+ title="title_example",
+ ),
+ },
+ ),
+ execution_result="ff483727196c9dc862c7fd3a5a84df55c96d61a4",
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ related_dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ settings=Settings(
+ delimiter="U",
+ export_info=True,
+ grand_totals_position="pinnedBottom",
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ pdf_page_size="a4 landscape",
+ pdf_table_style=[
+ PdfTableStyle(
+ properties=[
+ PdfTableStyleProperty(
+ key="key_example",
+ value="value_example",
+ ),
+ ],
+ selector="selector_example",
+ ),
+ ],
+ pdf_top_left_content="Good",
+ pdf_top_right_content="Morning",
+ show_filters=False,
+ ),
+ visualization_object="f7c359bc-c230-4487-b15b-ad9685bcb537",
+ visualization_object_custom_filters=[
+ {},
+ ],
+ ),
+ ),
+ ],
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ visual_exports=[
+ JsonApiAutomationInAttributesVisualExportsInner(
+ request_payload=VisualExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ metadata={},
+ ),
+ ),
+ ],
+ ),
+ id="id1",
+ relationships=JsonApiAutomationInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ export_definitions=JsonApiAutomationInRelationshipsExportDefinitions(
+ data=JsonApiExportDefinitionToManyLinkage([
+ JsonApiExportDefinitionLinkage(
+ id="id_example",
+ type="exportDefinition",
+ ),
+ ]),
+ ),
+ notification_channel=JsonApiAutomationInRelationshipsNotificationChannel(
+ data=JsonApiNotificationChannelToOneLinkage(None),
+ ),
+ recipients=JsonApiAutomationInRelationshipsRecipients(
+ data=JsonApiUserToManyLinkage([
+ JsonApiUserLinkage(
+ id="id_example",
+ type="user",
+ ),
+ ]),
+ ),
+ ),
+ type="automation",
+ ),
+ ) # JsonApiAutomationPatchDocument |
+ filter = "title==someString;description==someString;notificationChannel.id==321;analyticalDashboard.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 = [
+ "notificationChannel,analyticalDashboard,createdBy,modifiedBy,exportDefinitions,recipients,automationResults",
+ ] # [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
+ try:
+ # Patch an Automation
+ api_response = api_instance.patch_entity_automations(workspace_id, object_id, json_api_automation_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->patch_entity_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch an Automation
+ api_response = api_instance.patch_entity_automations(workspace_id, object_id, json_api_automation_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->patch_entity_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_automation_patch_document** | [**JsonApiAutomationPatchDocument**](JsonApiAutomationPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAutomationOutDocument**](JsonApiAutomationOutDocument.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)
+
+# **search_entities_automations**
+> JsonApiAutomationOutList search_entities_automations(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_out_list import JsonApiAutomationOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_automations(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->search_entities_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_automations(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->search_entities_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiAutomationOutList**](JsonApiAutomationOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_automations**
+> JsonApiAutomationOutDocument update_entity_automations(workspace_id, object_id, json_api_automation_in_document)
+
+Put an Automation
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import automation_controller_api
+from gooddata_api_client.model.json_api_automation_in_document import JsonApiAutomationInDocument
+from gooddata_api_client.model.json_api_automation_out_document import JsonApiAutomationOutDocument
+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 = automation_controller_api.AutomationControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_automation_in_document = JsonApiAutomationInDocument(
+ data=JsonApiAutomationIn(
+ attributes=JsonApiAutomationInAttributes(
+ alert=JsonApiAutomationInAttributesAlert(
+ condition=AlertCondition(),
+ execution=AlertAfm(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ interval="DAY",
+ trigger="ALWAYS",
+ ),
+ are_relations_valid=True,
+ dashboard_tabular_exports=[
+ JsonApiAutomationInAttributesDashboardTabularExportsInner(
+ request_payload=DashboardTabularExportRequestV2(
+ dashboard_filters_override=[
+ DashboardFilter(),
+ ],
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ dashboard_tabs_filters_overrides={
+ "key": [
+ DashboardFilter(),
+ ],
+ },
+ file_name="result",
+ format="XLSX",
+ settings=DashboardExportSettings(
+ export_info=True,
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ ),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ description="description_example",
+ details={},
+ evaluation_mode="SHARED",
+ external_recipients=[
+ JsonApiAutomationInAttributesExternalRecipientsInner(
+ email="email_example",
+ ),
+ ],
+ image_exports=[
+ JsonApiAutomationInAttributesImageExportsInner(
+ request_payload=ImageExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PNG",
+ metadata=JsonNode(),
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ metadata=JsonApiAutomationInAttributesMetadata(),
+ raw_exports=[
+ JsonApiAutomationInAttributesRawExportsInner(
+ request_payload=RawExportAutomationRequest(
+ custom_override=RawCustomOverride(
+ labels={
+ "key": RawCustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": RawCustomMetric(
+ title="title_example",
+ ),
+ },
+ ),
+ delimiter="U",
+ execution=AFM(
+ attributes=[
+ AttributeItem(
+ label=AfmObjectIdentifierLabel(
+ identifier=AfmObjectIdentifierLabelIdentifier(
+ id="sample_item.price",
+ type="label",
+ ),
+ ),
+ local_identifier="attribute_1",
+ show_all_values=False,
+ ),
+ ],
+ aux_measures=[
+ MeasureItem(
+ definition=MeasureDefinition(),
+ local_identifier="metric_1",
+ ),
+ ],
+ filters=[
+ FilterDefinition(),
+ ],
+ 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(),
+ local_identifier="metric_1",
+ ),
+ ],
+ ),
+ execution_settings=ExecutionSettings(
+ data_sampling_percentage=0,
+ timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'),
+ ),
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ ),
+ ),
+ ],
+ schedule=JsonApiAutomationInAttributesSchedule(
+ cron="0 */30 9-17 ? * MON-FRI",
+ first_run=dateutil_parser('2025-01-01T12:00:00Z'),
+ timezone="Europe/Prague",
+ ),
+ slides_exports=[
+ JsonApiAutomationInAttributesSlidesExportsInner(
+ request_payload=SlidesExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ format="PDF",
+ metadata=JsonNode(),
+ template_id="template_id_example",
+ visualization_ids=[
+ "visualization_ids_example",
+ ],
+ widget_ids=[
+ "widget_ids_example",
+ ],
+ ),
+ ),
+ ],
+ state="ACTIVE",
+ tabular_exports=[
+ JsonApiAutomationInAttributesTabularExportsInner(
+ request_payload=TabularExportRequest(
+ custom_override=CustomOverride(
+ labels={
+ "key": CustomLabel(
+ title="title_example",
+ ),
+ },
+ metrics={
+ "key": CustomMetric(
+ format="format_example",
+ title="title_example",
+ ),
+ },
+ ),
+ execution_result="ff483727196c9dc862c7fd3a5a84df55c96d61a4",
+ file_name="result",
+ format="CSV",
+ metadata=JsonNode(),
+ related_dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ settings=Settings(
+ delimiter="U",
+ export_info=True,
+ grand_totals_position="pinnedBottom",
+ merge_headers=True,
+ page_orientation="PORTRAIT",
+ page_size="A4",
+ pdf_page_size="a4 landscape",
+ pdf_table_style=[
+ PdfTableStyle(
+ properties=[
+ PdfTableStyleProperty(
+ key="key_example",
+ value="value_example",
+ ),
+ ],
+ selector="selector_example",
+ ),
+ ],
+ pdf_top_left_content="Good",
+ pdf_top_right_content="Morning",
+ show_filters=False,
+ ),
+ visualization_object="f7c359bc-c230-4487-b15b-ad9685bcb537",
+ visualization_object_custom_filters=[
+ {},
+ ],
+ ),
+ ),
+ ],
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ visual_exports=[
+ JsonApiAutomationInAttributesVisualExportsInner(
+ request_payload=VisualExportRequest(
+ dashboard_id="761cd28b-3f57-4ac9-bbdc-1c552cc0d1d0",
+ file_name="filename",
+ metadata={},
+ ),
+ ),
+ ],
+ ),
+ id="id1",
+ relationships=JsonApiAutomationInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ export_definitions=JsonApiAutomationInRelationshipsExportDefinitions(
+ data=JsonApiExportDefinitionToManyLinkage([
+ JsonApiExportDefinitionLinkage(
+ id="id_example",
+ type="exportDefinition",
+ ),
+ ]),
+ ),
+ notification_channel=JsonApiAutomationInRelationshipsNotificationChannel(
+ data=JsonApiNotificationChannelToOneLinkage(None),
+ ),
+ recipients=JsonApiAutomationInRelationshipsRecipients(
+ data=JsonApiUserToManyLinkage([
+ JsonApiUserLinkage(
+ id="id_example",
+ type="user",
+ ),
+ ]),
+ ),
+ ),
+ type="automation",
+ ),
+ ) # JsonApiAutomationInDocument |
+ filter = "title==someString;description==someString;notificationChannel.id==321;analyticalDashboard.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 = [
+ "notificationChannel,analyticalDashboard,createdBy,modifiedBy,exportDefinitions,recipients,automationResults",
+ ] # [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
+ try:
+ # Put an Automation
+ api_response = api_instance.update_entity_automations(workspace_id, object_id, json_api_automation_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->update_entity_automations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put an Automation
+ api_response = api_instance.update_entity_automations(workspace_id, object_id, json_api_automation_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling AutomationControllerApi->update_entity_automations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_automation_in_document** | [**JsonApiAutomationInDocument**](JsonApiAutomationInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiAutomationOutDocument**](JsonApiAutomationOutDocument.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/CacheRemovalInterval.md b/gooddata-api-client/docs/CacheRemovalInterval.md
new file mode 100644
index 000000000..dd087f281
--- /dev/null
+++ b/gooddata-api-client/docs/CacheRemovalInterval.md
@@ -0,0 +1,15 @@
+# CacheRemovalInterval
+
+Information about a period in time and how much cached data was removed.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_from** | **datetime** | Start timestamp of the removal interval. |
+**removed** | **int** | Bytes removed during this interval. |
+**to** | **datetime** | End timestamp of the removal interval. |
+**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/CacheUsageApi.md b/gooddata-api-client/docs/CacheUsageApi.md
new file mode 100644
index 000000000..368037026
--- /dev/null
+++ b/gooddata-api-client/docs/CacheUsageApi.md
@@ -0,0 +1,72 @@
+# gooddata_api_client.CacheUsageApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**collect_cache_usage**](CacheUsageApi.md#collect_cache_usage) | **GET** /api/v1/actions/collectCacheUsage | Collect data about the current cache usage
+
+
+# **collect_cache_usage**
+> CacheUsageData collect_cache_usage()
+
+Collect data about the current cache usage
+
+Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import cache_usage_api
+from gooddata_api_client.model.cache_usage_data import CacheUsageData
+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 = cache_usage_api.CacheUsageApi(api_client)
+
+ # example, this endpoint has no required or optional parameters
+ try:
+ # Collect data about the current cache usage
+ api_response = api_instance.collect_cache_usage()
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CacheUsageApi->collect_cache_usage: %s\n" % e)
+```
+
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**CacheUsageData**](CacheUsageData.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)
+
diff --git a/gooddata-api-client/docs/CacheUsageData.md b/gooddata-api-client/docs/CacheUsageData.md
new file mode 100644
index 000000000..57eb479f5
--- /dev/null
+++ b/gooddata-api-client/docs/CacheUsageData.md
@@ -0,0 +1,14 @@
+# CacheUsageData
+
+Result of scan of data source physical model.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**organization_cache_usage** | [**OrganizationCacheUsage**](OrganizationCacheUsage.md) | |
+**workspace_cache_usages** | [**{str: (WorkspaceCacheUsage,)}**](WorkspaceCacheUsage.md) | Map of data about the cache usage of the individual workspaces. |
+**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/ConvertGeoFileRequest.md b/gooddata-api-client/docs/ConvertGeoFileRequest.md
new file mode 100644
index 000000000..67c65d30f
--- /dev/null
+++ b/gooddata-api-client/docs/ConvertGeoFileRequest.md
@@ -0,0 +1,13 @@
+# ConvertGeoFileRequest
+
+Request to convert a geo file to GeoParquet format.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location of the file in the staging area to convert. |
+**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/ConvertGeoFileResponse.md b/gooddata-api-client/docs/ConvertGeoFileResponse.md
new file mode 100644
index 000000000..20c72ad04
--- /dev/null
+++ b/gooddata-api-client/docs/ConvertGeoFileResponse.md
@@ -0,0 +1,13 @@
+# ConvertGeoFileResponse
+
+Response after successfully converting a geo file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location of the converted GeoParquet file in the staging area. |
+**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/CookieSecurityConfigurationControllerApi.md b/gooddata-api-client/docs/CookieSecurityConfigurationControllerApi.md
new file mode 100644
index 000000000..82d99ead9
--- /dev/null
+++ b/gooddata-api-client/docs/CookieSecurityConfigurationControllerApi.md
@@ -0,0 +1,263 @@
+# gooddata_api_client.CookieSecurityConfigurationControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_entity_cookie_security_configurations**](CookieSecurityConfigurationControllerApi.md#get_entity_cookie_security_configurations) | **GET** /api/v1/entities/admin/cookieSecurityConfigurations/{id} | Get CookieSecurityConfiguration
+[**patch_entity_cookie_security_configurations**](CookieSecurityConfigurationControllerApi.md#patch_entity_cookie_security_configurations) | **PATCH** /api/v1/entities/admin/cookieSecurityConfigurations/{id} | Patch CookieSecurityConfiguration
+[**update_entity_cookie_security_configurations**](CookieSecurityConfigurationControllerApi.md#update_entity_cookie_security_configurations) | **PUT** /api/v1/entities/admin/cookieSecurityConfigurations/{id} | Put CookieSecurityConfiguration
+
+
+# **get_entity_cookie_security_configurations**
+> JsonApiCookieSecurityConfigurationOutDocument get_entity_cookie_security_configurations(id)
+
+Get CookieSecurityConfiguration
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import cookie_security_configuration_controller_api
+from gooddata_api_client.model.json_api_cookie_security_configuration_out_document import JsonApiCookieSecurityConfigurationOutDocument
+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 = cookie_security_configuration_controller_api.CookieSecurityConfigurationControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "lastRotation==InstantValue;rotationInterval==DurationValue" # 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 CookieSecurityConfiguration
+ api_response = api_instance.get_entity_cookie_security_configurations(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->get_entity_cookie_security_configurations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get CookieSecurityConfiguration
+ api_response = api_instance.get_entity_cookie_security_configurations(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->get_entity_cookie_security_configurations: %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
+
+[**JsonApiCookieSecurityConfigurationOutDocument**](JsonApiCookieSecurityConfigurationOutDocument.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_cookie_security_configurations**
+> JsonApiCookieSecurityConfigurationOutDocument patch_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_patch_document)
+
+Patch CookieSecurityConfiguration
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import cookie_security_configuration_controller_api
+from gooddata_api_client.model.json_api_cookie_security_configuration_out_document import JsonApiCookieSecurityConfigurationOutDocument
+from gooddata_api_client.model.json_api_cookie_security_configuration_patch_document import JsonApiCookieSecurityConfigurationPatchDocument
+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 = cookie_security_configuration_controller_api.CookieSecurityConfigurationControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_cookie_security_configuration_patch_document = JsonApiCookieSecurityConfigurationPatchDocument(
+ data=JsonApiCookieSecurityConfigurationPatch(
+ attributes=JsonApiCookieSecurityConfigurationInAttributes(
+ last_rotation=dateutil_parser('1970-01-01T00:00:00.00Z'),
+ rotation_interval="P30D",
+ ),
+ id="id1",
+ type="cookieSecurityConfiguration",
+ ),
+ ) # JsonApiCookieSecurityConfigurationPatchDocument |
+ filter = "lastRotation==InstantValue;rotationInterval==DurationValue" # 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 CookieSecurityConfiguration
+ api_response = api_instance.patch_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->patch_entity_cookie_security_configurations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch CookieSecurityConfiguration
+ api_response = api_instance.patch_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->patch_entity_cookie_security_configurations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_cookie_security_configuration_patch_document** | [**JsonApiCookieSecurityConfigurationPatchDocument**](JsonApiCookieSecurityConfigurationPatchDocument.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
+
+[**JsonApiCookieSecurityConfigurationOutDocument**](JsonApiCookieSecurityConfigurationOutDocument.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_cookie_security_configurations**
+> JsonApiCookieSecurityConfigurationOutDocument update_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_in_document)
+
+Put CookieSecurityConfiguration
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import cookie_security_configuration_controller_api
+from gooddata_api_client.model.json_api_cookie_security_configuration_in_document import JsonApiCookieSecurityConfigurationInDocument
+from gooddata_api_client.model.json_api_cookie_security_configuration_out_document import JsonApiCookieSecurityConfigurationOutDocument
+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 = cookie_security_configuration_controller_api.CookieSecurityConfigurationControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_cookie_security_configuration_in_document = JsonApiCookieSecurityConfigurationInDocument(
+ data=JsonApiCookieSecurityConfigurationIn(
+ attributes=JsonApiCookieSecurityConfigurationInAttributes(
+ last_rotation=dateutil_parser('1970-01-01T00:00:00.00Z'),
+ rotation_interval="P30D",
+ ),
+ id="id1",
+ type="cookieSecurityConfiguration",
+ ),
+ ) # JsonApiCookieSecurityConfigurationInDocument |
+ filter = "lastRotation==InstantValue;rotationInterval==DurationValue" # 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 CookieSecurityConfiguration
+ api_response = api_instance.update_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->update_entity_cookie_security_configurations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put CookieSecurityConfiguration
+ api_response = api_instance.update_entity_cookie_security_configurations(id, json_api_cookie_security_configuration_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CookieSecurityConfigurationControllerApi->update_entity_cookie_security_configurations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_cookie_security_configuration_in_document** | [**JsonApiCookieSecurityConfigurationInDocument**](JsonApiCookieSecurityConfigurationInDocument.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
+
+[**JsonApiCookieSecurityConfigurationOutDocument**](JsonApiCookieSecurityConfigurationOutDocument.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/CsvConvertOptions.md b/gooddata-api-client/docs/CsvConvertOptions.md
new file mode 100644
index 000000000..4b8523559
--- /dev/null
+++ b/gooddata-api-client/docs/CsvConvertOptions.md
@@ -0,0 +1,25 @@
+# CsvConvertOptions
+
+Options for converting CSV files when reading.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**auto_dict_encode** | **bool** | Whether to try to automatically dict-encode string / binary data. | [optional]
+**auto_dict_max_cardinality** | **int** | The maximum dictionary cardinality for autoDictEncode. | [optional]
+**check_utf8** | **bool** | Whether to check UTF8 validity of string columns. | [optional]
+**column_types** | [**[CsvConvertOptionsColumnType]**](CsvConvertOptionsColumnType.md) | Information about the column types in the table. | [optional]
+**decimal_point** | **str** | The character used as decimal point in floating-point and decimal data. | [optional]
+**false_values** | **[str]** | Sequence of strings that denote false Booleans in the data. | [optional]
+**include_columns** | **[str]** | The names of columns to include in the Table. If empty, the Table will include all columns from the CSV file. If not empty, only these columns will be included, in this order. | [optional]
+**include_missing_columns** | **bool** | If false, columns in includeColumns but not in the CSV file will error out. | [optional]
+**null_values** | **[str]** | Sequence of strings that denote nulls in the data. | [optional]
+**quoted_strings_can_be_null** | **bool** | Whether quoted values can be null. | [optional]
+**strings_can_be_null** | **bool** | Whether string / binary columns can have null values. | [optional]
+**timestamp_parsers** | **[str]** | Sequence of strptime()-compatible format strings, tried in order when attempting to infer or convert timestamp values. | [optional]
+**true_values** | **[str]** | Sequence of strings that denote true Booleans in the data. | [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/CsvConvertOptionsColumnType.md b/gooddata-api-client/docs/CsvConvertOptionsColumnType.md
new file mode 100644
index 000000000..015ed9c7a
--- /dev/null
+++ b/gooddata-api-client/docs/CsvConvertOptionsColumnType.md
@@ -0,0 +1,15 @@
+# CsvConvertOptionsColumnType
+
+Information about a certain column in the table.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | The column name. | [optional]
+**nullable** | **bool** | Whether the data in the given column can be null. | [optional]
+**type** | **str** | The column 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/CsvManifestBody.md b/gooddata-api-client/docs/CsvManifestBody.md
new file mode 100644
index 000000000..4237f0b06
--- /dev/null
+++ b/gooddata-api-client/docs/CsvManifestBody.md
@@ -0,0 +1,17 @@
+# CsvManifestBody
+
+Body of the CSV manifest.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**column_date_formats** | **{str: (str,)}** | Map of column names to date formats to use when parsing them as dates. | [optional]
+**convert** | [**CsvConvertOptions**](CsvConvertOptions.md) | | [optional]
+**parse** | [**CsvParseOptions**](CsvParseOptions.md) | | [optional]
+**read** | [**CsvReadOptions**](CsvReadOptions.md) | | [optional]
+**read_method** | **str** | Method used to read the CSV file. | [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/CsvParseOptions.md b/gooddata-api-client/docs/CsvParseOptions.md
new file mode 100644
index 000000000..af305666d
--- /dev/null
+++ b/gooddata-api-client/docs/CsvParseOptions.md
@@ -0,0 +1,18 @@
+# CsvParseOptions
+
+Options for parsing CSV files.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**delimiter** | **str** | The character delimiting individual cells in the CSV data. | [optional]
+**double_quote** | **bool** | Whether two quotes in a quoted CSV value denote a single quote in the data. | [optional]
+**escape_char** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | The character used optionally for escaping special characters or false to disable escaping. | [optional]
+**ignore_empty_lines** | **bool** | Whether empty lines are ignored in CSV input. | [optional]
+**newlines_in_values** | **bool** | Whether newline characters are allowed in CSV values. | [optional]
+**quote_char** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | The character used optionally for quoting CSV values or false to disable quoting. | [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/CsvReadOptions.md b/gooddata-api-client/docs/CsvReadOptions.md
new file mode 100644
index 000000000..4fe23e618
--- /dev/null
+++ b/gooddata-api-client/docs/CsvReadOptions.md
@@ -0,0 +1,19 @@
+# CsvReadOptions
+
+Options for reading CSV files.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**auto_generate_column_names** | **bool** | Whether to autogenerate column names if columnNames is empty. | [optional]
+**block_size** | **int** | How many bytes to process at a time from the input stream. | [optional]
+**column_names** | **[str]** | The column names of the target table. | [optional]
+**encoding** | **str** | The character encoding of the CSV data. | [optional]
+**skip_rows** | **int** | The number of rows to skip before the column names (if any) and the CSV data. | [optional]
+**skip_rows_after_names** | **int** | The number of rows to skip after the column names. | [optional]
+**use_threads** | **bool** | Whether to use multiple threads to accelerate reading. | [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/CustomApplicationSettingControllerApi.md b/gooddata-api-client/docs/CustomApplicationSettingControllerApi.md
new file mode 100644
index 000000000..b31cc8818
--- /dev/null
+++ b/gooddata-api-client/docs/CustomApplicationSettingControllerApi.md
@@ -0,0 +1,635 @@
+# gooddata_api_client.CustomApplicationSettingControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_custom_application_settings**](CustomApplicationSettingControllerApi.md#create_entity_custom_application_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings | Post Custom Application Settings
+[**delete_entity_custom_application_settings**](CustomApplicationSettingControllerApi.md#delete_entity_custom_application_settings) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId} | Delete a Custom Application Setting
+[**get_all_entities_custom_application_settings**](CustomApplicationSettingControllerApi.md#get_all_entities_custom_application_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings | Get all Custom Application Settings
+[**get_entity_custom_application_settings**](CustomApplicationSettingControllerApi.md#get_entity_custom_application_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId} | Get a Custom Application Setting
+[**patch_entity_custom_application_settings**](CustomApplicationSettingControllerApi.md#patch_entity_custom_application_settings) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId} | Patch a Custom Application Setting
+[**search_entities_custom_application_settings**](CustomApplicationSettingControllerApi.md#search_entities_custom_application_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/search | The search endpoint (beta)
+[**update_entity_custom_application_settings**](CustomApplicationSettingControllerApi.md#update_entity_custom_application_settings) | **PUT** /api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId} | Put a Custom Application Setting
+
+
+# **create_entity_custom_application_settings**
+> JsonApiCustomApplicationSettingOutDocument create_entity_custom_application_settings(workspace_id, json_api_custom_application_setting_post_optional_id_document)
+
+Post Custom Application Settings
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_out_document import JsonApiCustomApplicationSettingOutDocument
+from gooddata_api_client.model.json_api_custom_application_setting_post_optional_id_document import JsonApiCustomApplicationSettingPostOptionalIdDocument
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_custom_application_setting_post_optional_id_document = JsonApiCustomApplicationSettingPostOptionalIdDocument(
+ data=JsonApiCustomApplicationSettingPostOptionalId(
+ attributes=JsonApiCustomApplicationSettingInAttributes(
+ application_name="application_name_example",
+ content={},
+ ),
+ id="id1",
+ type="customApplicationSetting",
+ ),
+ ) # JsonApiCustomApplicationSettingPostOptionalIdDocument |
+ meta_include = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Custom Application Settings
+ api_response = api_instance.create_entity_custom_application_settings(workspace_id, json_api_custom_application_setting_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->create_entity_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Custom Application Settings
+ api_response = api_instance.create_entity_custom_application_settings(workspace_id, json_api_custom_application_setting_post_optional_id_document, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->create_entity_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_custom_application_setting_post_optional_id_document** | [**JsonApiCustomApplicationSettingPostOptionalIdDocument**](JsonApiCustomApplicationSettingPostOptionalIdDocument.md)| |
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiCustomApplicationSettingOutDocument**](JsonApiCustomApplicationSettingOutDocument.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_custom_application_settings**
+> delete_entity_custom_application_settings(workspace_id, object_id)
+
+Delete a Custom Application Setting
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "applicationName==someString;content==JsonNodeValue" # 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 a Custom Application Setting
+ api_instance.delete_entity_custom_application_settings(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->delete_entity_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Custom Application Setting
+ api_instance.delete_entity_custom_application_settings(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->delete_entity_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_custom_application_settings**
+> JsonApiCustomApplicationSettingOutList get_all_entities_custom_application_settings(workspace_id)
+
+Get all Custom Application Settings
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_out_list import JsonApiCustomApplicationSettingOutList
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "applicationName==someString;content==JsonNodeValue" # 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)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Custom Application Settings
+ api_response = api_instance.get_all_entities_custom_application_settings(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->get_all_entities_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Custom Application Settings
+ api_response = api_instance.get_all_entities_custom_application_settings(workspace_id, origin=origin, filter=filter, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->get_all_entities_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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]
+ **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 type
+
+[**JsonApiCustomApplicationSettingOutList**](JsonApiCustomApplicationSettingOutList.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_custom_application_settings**
+> JsonApiCustomApplicationSettingOutDocument get_entity_custom_application_settings(workspace_id, object_id)
+
+Get a Custom Application Setting
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_out_document import JsonApiCustomApplicationSettingOutDocument
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "applicationName==someString;content==JsonNodeValue" # 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)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Custom Application Setting
+ api_response = api_instance.get_entity_custom_application_settings(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->get_entity_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Custom Application Setting
+ api_response = api_instance.get_entity_custom_application_settings(workspace_id, object_id, filter=filter, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->get_entity_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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 type
+
+[**JsonApiCustomApplicationSettingOutDocument**](JsonApiCustomApplicationSettingOutDocument.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_custom_application_settings**
+> JsonApiCustomApplicationSettingOutDocument patch_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_patch_document)
+
+Patch a Custom Application Setting
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_patch_document import JsonApiCustomApplicationSettingPatchDocument
+from gooddata_api_client.model.json_api_custom_application_setting_out_document import JsonApiCustomApplicationSettingOutDocument
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_custom_application_setting_patch_document = JsonApiCustomApplicationSettingPatchDocument(
+ data=JsonApiCustomApplicationSettingPatch(
+ attributes=JsonApiCustomApplicationSettingPatchAttributes(
+ application_name="application_name_example",
+ content={},
+ ),
+ id="id1",
+ type="customApplicationSetting",
+ ),
+ ) # JsonApiCustomApplicationSettingPatchDocument |
+ filter = "applicationName==someString;content==JsonNodeValue" # 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 a Custom Application Setting
+ api_response = api_instance.patch_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->patch_entity_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Custom Application Setting
+ api_response = api_instance.patch_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->patch_entity_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_custom_application_setting_patch_document** | [**JsonApiCustomApplicationSettingPatchDocument**](JsonApiCustomApplicationSettingPatchDocument.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
+
+[**JsonApiCustomApplicationSettingOutDocument**](JsonApiCustomApplicationSettingOutDocument.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)
+
+# **search_entities_custom_application_settings**
+> JsonApiCustomApplicationSettingOutList search_entities_custom_application_settings(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_out_list import JsonApiCustomApplicationSettingOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_custom_application_settings(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->search_entities_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_custom_application_settings(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->search_entities_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiCustomApplicationSettingOutList**](JsonApiCustomApplicationSettingOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_custom_application_settings**
+> JsonApiCustomApplicationSettingOutDocument update_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_in_document)
+
+Put a Custom Application Setting
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_application_setting_controller_api
+from gooddata_api_client.model.json_api_custom_application_setting_in_document import JsonApiCustomApplicationSettingInDocument
+from gooddata_api_client.model.json_api_custom_application_setting_out_document import JsonApiCustomApplicationSettingOutDocument
+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 = custom_application_setting_controller_api.CustomApplicationSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_custom_application_setting_in_document = JsonApiCustomApplicationSettingInDocument(
+ data=JsonApiCustomApplicationSettingIn(
+ attributes=JsonApiCustomApplicationSettingInAttributes(
+ application_name="application_name_example",
+ content={},
+ ),
+ id="id1",
+ type="customApplicationSetting",
+ ),
+ ) # JsonApiCustomApplicationSettingInDocument |
+ filter = "applicationName==someString;content==JsonNodeValue" # 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 a Custom Application Setting
+ api_response = api_instance.update_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->update_entity_custom_application_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Custom Application Setting
+ api_response = api_instance.update_entity_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomApplicationSettingControllerApi->update_entity_custom_application_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_custom_application_setting_in_document** | [**JsonApiCustomApplicationSettingInDocument**](JsonApiCustomApplicationSettingInDocument.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
+
+[**JsonApiCustomApplicationSettingOutDocument**](JsonApiCustomApplicationSettingOutDocument.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/CustomGeoCollectionControllerApi.md b/gooddata-api-client/docs/CustomGeoCollectionControllerApi.md
new file mode 100644
index 000000000..acbf75afe
--- /dev/null
+++ b/gooddata-api-client/docs/CustomGeoCollectionControllerApi.md
@@ -0,0 +1,492 @@
+# gooddata_api_client.CustomGeoCollectionControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_custom_geo_collections**](CustomGeoCollectionControllerApi.md#create_entity_custom_geo_collections) | **POST** /api/v1/entities/customGeoCollections | Post Custom Geo Collections
+[**delete_entity_custom_geo_collections**](CustomGeoCollectionControllerApi.md#delete_entity_custom_geo_collections) | **DELETE** /api/v1/entities/customGeoCollections/{id} | Delete Custom Geo Collection
+[**get_all_entities_custom_geo_collections**](CustomGeoCollectionControllerApi.md#get_all_entities_custom_geo_collections) | **GET** /api/v1/entities/customGeoCollections | Get all Custom Geo Collections
+[**get_entity_custom_geo_collections**](CustomGeoCollectionControllerApi.md#get_entity_custom_geo_collections) | **GET** /api/v1/entities/customGeoCollections/{id} | Get Custom Geo Collection
+[**patch_entity_custom_geo_collections**](CustomGeoCollectionControllerApi.md#patch_entity_custom_geo_collections) | **PATCH** /api/v1/entities/customGeoCollections/{id} | Patch Custom Geo Collection
+[**update_entity_custom_geo_collections**](CustomGeoCollectionControllerApi.md#update_entity_custom_geo_collections) | **PUT** /api/v1/entities/customGeoCollections/{id} | Put Custom Geo Collection
+
+
+# **create_entity_custom_geo_collections**
+> JsonApiCustomGeoCollectionOutDocument create_entity_custom_geo_collections(json_api_custom_geo_collection_in_document)
+
+Post Custom Geo Collections
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_controller_api
+from gooddata_api_client.model.json_api_custom_geo_collection_out_document import JsonApiCustomGeoCollectionOutDocument
+from gooddata_api_client.model.json_api_custom_geo_collection_in_document import JsonApiCustomGeoCollectionInDocument
+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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(api_client)
+ json_api_custom_geo_collection_in_document = JsonApiCustomGeoCollectionInDocument(
+ data=JsonApiCustomGeoCollectionIn(
+ attributes=JsonApiCustomGeoCollectionInAttributes(
+ description="description_example",
+ name="name_example",
+ ),
+ id="id1",
+ type="customGeoCollection",
+ ),
+ ) # JsonApiCustomGeoCollectionInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Custom Geo Collections
+ api_response = api_instance.create_entity_custom_geo_collections(json_api_custom_geo_collection_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->create_entity_custom_geo_collections: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_custom_geo_collection_in_document** | [**JsonApiCustomGeoCollectionInDocument**](JsonApiCustomGeoCollectionInDocument.md)| |
+
+### Return type
+
+[**JsonApiCustomGeoCollectionOutDocument**](JsonApiCustomGeoCollectionOutDocument.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_custom_geo_collections**
+> delete_entity_custom_geo_collections(id)
+
+Delete Custom Geo Collection
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(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 Custom Geo Collection
+ api_instance.delete_entity_custom_geo_collections(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->delete_entity_custom_geo_collections: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete Custom Geo Collection
+ api_instance.delete_entity_custom_geo_collections(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->delete_entity_custom_geo_collections: %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_custom_geo_collections**
+> JsonApiCustomGeoCollectionOutList get_all_entities_custom_geo_collections()
+
+Get all Custom Geo Collections
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_controller_api
+from gooddata_api_client.model.json_api_custom_geo_collection_out_list import JsonApiCustomGeoCollectionOutList
+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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(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 Custom Geo Collections
+ api_response = api_instance.get_all_entities_custom_geo_collections(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 CustomGeoCollectionControllerApi->get_all_entities_custom_geo_collections: %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
+
+[**JsonApiCustomGeoCollectionOutList**](JsonApiCustomGeoCollectionOutList.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_custom_geo_collections**
+> JsonApiCustomGeoCollectionOutDocument get_entity_custom_geo_collections(id)
+
+Get Custom Geo Collection
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_controller_api
+from gooddata_api_client.model.json_api_custom_geo_collection_out_document import JsonApiCustomGeoCollectionOutDocument
+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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(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 Custom Geo Collection
+ api_response = api_instance.get_entity_custom_geo_collections(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->get_entity_custom_geo_collections: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Custom Geo Collection
+ api_response = api_instance.get_entity_custom_geo_collections(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->get_entity_custom_geo_collections: %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
+
+[**JsonApiCustomGeoCollectionOutDocument**](JsonApiCustomGeoCollectionOutDocument.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_custom_geo_collections**
+> JsonApiCustomGeoCollectionOutDocument patch_entity_custom_geo_collections(id, json_api_custom_geo_collection_patch_document)
+
+Patch Custom Geo Collection
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_controller_api
+from gooddata_api_client.model.json_api_custom_geo_collection_patch_document import JsonApiCustomGeoCollectionPatchDocument
+from gooddata_api_client.model.json_api_custom_geo_collection_out_document import JsonApiCustomGeoCollectionOutDocument
+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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_custom_geo_collection_patch_document = JsonApiCustomGeoCollectionPatchDocument(
+ data=JsonApiCustomGeoCollectionPatch(
+ attributes=JsonApiCustomGeoCollectionInAttributes(
+ description="description_example",
+ name="name_example",
+ ),
+ id="id1",
+ type="customGeoCollection",
+ ),
+ ) # JsonApiCustomGeoCollectionPatchDocument |
+ 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 Custom Geo Collection
+ api_response = api_instance.patch_entity_custom_geo_collections(id, json_api_custom_geo_collection_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->patch_entity_custom_geo_collections: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch Custom Geo Collection
+ api_response = api_instance.patch_entity_custom_geo_collections(id, json_api_custom_geo_collection_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->patch_entity_custom_geo_collections: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_custom_geo_collection_patch_document** | [**JsonApiCustomGeoCollectionPatchDocument**](JsonApiCustomGeoCollectionPatchDocument.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
+
+[**JsonApiCustomGeoCollectionOutDocument**](JsonApiCustomGeoCollectionOutDocument.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_custom_geo_collections**
+> JsonApiCustomGeoCollectionOutDocument update_entity_custom_geo_collections(id, json_api_custom_geo_collection_in_document)
+
+Put Custom Geo Collection
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import custom_geo_collection_controller_api
+from gooddata_api_client.model.json_api_custom_geo_collection_out_document import JsonApiCustomGeoCollectionOutDocument
+from gooddata_api_client.model.json_api_custom_geo_collection_in_document import JsonApiCustomGeoCollectionInDocument
+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 = custom_geo_collection_controller_api.CustomGeoCollectionControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_custom_geo_collection_in_document = JsonApiCustomGeoCollectionInDocument(
+ data=JsonApiCustomGeoCollectionIn(
+ attributes=JsonApiCustomGeoCollectionInAttributes(
+ description="description_example",
+ name="name_example",
+ ),
+ id="id1",
+ type="customGeoCollection",
+ ),
+ ) # JsonApiCustomGeoCollectionInDocument |
+ 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 Custom Geo Collection
+ api_response = api_instance.update_entity_custom_geo_collections(id, json_api_custom_geo_collection_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->update_entity_custom_geo_collections: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Custom Geo Collection
+ api_response = api_instance.update_entity_custom_geo_collections(id, json_api_custom_geo_collection_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling CustomGeoCollectionControllerApi->update_entity_custom_geo_collections: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_custom_geo_collection_in_document** | [**JsonApiCustomGeoCollectionInDocument**](JsonApiCustomGeoCollectionInDocument.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
+
+[**JsonApiCustomGeoCollectionOutDocument**](JsonApiCustomGeoCollectionOutDocument.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/DashboardContext.md b/gooddata-api-client/docs/DashboardContext.md
new file mode 100644
index 000000000..b8b951a8e
--- /dev/null
+++ b/gooddata-api-client/docs/DashboardContext.md
@@ -0,0 +1,14 @@
+# DashboardContext
+
+Dashboard the user is currently viewing.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Dashboard object ID. |
+**widgets** | [**[DashboardContextWidgetsInner]**](DashboardContextWidgetsInner.md) | Widgets currently visible on the dashboard. |
+**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/DashboardContextWidgetsInner.md b/gooddata-api-client/docs/DashboardContextWidgetsInner.md
new file mode 100644
index 000000000..32e962433
--- /dev/null
+++ b/gooddata-api-client/docs/DashboardContextWidgetsInner.md
@@ -0,0 +1,18 @@
+# DashboardContextWidgetsInner
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**widget_type** | **str** | |
+**result_id** | **str** | Signed result ID for the currently active visualization's execution result. | [optional]
+**title** | **str** | Widget title as displayed on the dashboard. | [optional]
+**widget_id** | **str** | Widget object ID. | [optional]
+**active_visualization_id** | **str** | ID of the currently active visualization in the switcher. | [optional]
+**visualization_ids** | **[str]** | IDs of all visualizations available in the switcher. | [optional]
+**visualization_id** | **str** | Visualization object ID referenced by this insight widget. | [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/DashboardPluginControllerApi.md b/gooddata-api-client/docs/DashboardPluginControllerApi.md
new file mode 100644
index 000000000..02a369ed3
--- /dev/null
+++ b/gooddata-api-client/docs/DashboardPluginControllerApi.md
@@ -0,0 +1,670 @@
+# gooddata_api_client.DashboardPluginControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_dashboard_plugins**](DashboardPluginControllerApi.md#create_entity_dashboard_plugins) | **POST** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins | Post Plugins
+[**delete_entity_dashboard_plugins**](DashboardPluginControllerApi.md#delete_entity_dashboard_plugins) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Delete a Plugin
+[**get_all_entities_dashboard_plugins**](DashboardPluginControllerApi.md#get_all_entities_dashboard_plugins) | **GET** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins | Get all Plugins
+[**get_entity_dashboard_plugins**](DashboardPluginControllerApi.md#get_entity_dashboard_plugins) | **GET** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Get a Plugin
+[**patch_entity_dashboard_plugins**](DashboardPluginControllerApi.md#patch_entity_dashboard_plugins) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Patch a Plugin
+[**search_entities_dashboard_plugins**](DashboardPluginControllerApi.md#search_entities_dashboard_plugins) | **POST** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/search | The search endpoint (beta)
+[**update_entity_dashboard_plugins**](DashboardPluginControllerApi.md#update_entity_dashboard_plugins) | **PUT** /api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId} | Put a Plugin
+
+
+# **create_entity_dashboard_plugins**
+> JsonApiDashboardPluginOutDocument create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document)
+
+Post Plugins
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.json_api_dashboard_plugin_post_optional_id_document import JsonApiDashboardPluginPostOptionalIdDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_dashboard_plugin_post_optional_id_document = JsonApiDashboardPluginPostOptionalIdDocument(
+ data=JsonApiDashboardPluginPostOptionalId(
+ attributes=JsonApiDashboardPluginInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="dashboardPlugin",
+ ),
+ ) # JsonApiDashboardPluginPostOptionalIdDocument |
+ include = [
+ "createdBy,modifiedBy",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Plugins
+ api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->create_entity_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Plugins
+ api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->create_entity_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_dashboard_plugin_post_optional_id_document** | [**JsonApiDashboardPluginPostOptionalIdDocument**](JsonApiDashboardPluginPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiDashboardPluginOutDocument**](JsonApiDashboardPluginOutDocument.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_dashboard_plugins**
+> delete_entity_dashboard_plugins(workspace_id, object_id)
+
+Delete a Plugin
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a Plugin
+ api_instance.delete_entity_dashboard_plugins(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->delete_entity_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Plugin
+ api_instance.delete_entity_dashboard_plugins(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->delete_entity_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_dashboard_plugins**
+> JsonApiDashboardPluginOutList get_all_entities_dashboard_plugins(workspace_id)
+
+Get all Plugins
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.json_api_dashboard_plugin_out_list import JsonApiDashboardPluginOutList
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Plugins
+ api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->get_all_entities_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Plugins
+ api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->get_all_entities_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiDashboardPluginOutList**](JsonApiDashboardPluginOutList.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_dashboard_plugins**
+> JsonApiDashboardPluginOutDocument get_entity_dashboard_plugins(workspace_id, object_id)
+
+Get a Plugin
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Plugin
+ api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->get_entity_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Plugin
+ api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->get_entity_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiDashboardPluginOutDocument**](JsonApiDashboardPluginOutDocument.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_dashboard_plugins**
+> JsonApiDashboardPluginOutDocument patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document)
+
+Patch a Plugin
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_patch_document import JsonApiDashboardPluginPatchDocument
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_dashboard_plugin_patch_document = JsonApiDashboardPluginPatchDocument(
+ data=JsonApiDashboardPluginPatch(
+ attributes=JsonApiDashboardPluginInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="dashboardPlugin",
+ ),
+ ) # JsonApiDashboardPluginPatchDocument |
+ 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",
+ ] # [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
+ try:
+ # Patch a Plugin
+ api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->patch_entity_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Plugin
+ api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->patch_entity_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_dashboard_plugin_patch_document** | [**JsonApiDashboardPluginPatchDocument**](JsonApiDashboardPluginPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiDashboardPluginOutDocument**](JsonApiDashboardPluginOutDocument.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)
+
+# **search_entities_dashboard_plugins**
+> JsonApiDashboardPluginOutList search_entities_dashboard_plugins(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_dashboard_plugin_out_list import JsonApiDashboardPluginOutList
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_dashboard_plugins(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->search_entities_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_dashboard_plugins(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->search_entities_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiDashboardPluginOutList**](JsonApiDashboardPluginOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_dashboard_plugins**
+> JsonApiDashboardPluginOutDocument update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document)
+
+Put a Plugin
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dashboard_plugin_controller_api
+from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_in_document import JsonApiDashboardPluginInDocument
+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 = dashboard_plugin_controller_api.DashboardPluginControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_dashboard_plugin_in_document = JsonApiDashboardPluginInDocument(
+ data=JsonApiDashboardPluginIn(
+ attributes=JsonApiDashboardPluginInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="dashboardPlugin",
+ ),
+ ) # JsonApiDashboardPluginInDocument |
+ 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",
+ ] # [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
+ try:
+ # Put a Plugin
+ api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->update_entity_dashboard_plugins: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Plugin
+ api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DashboardPluginControllerApi->update_entity_dashboard_plugins: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_dashboard_plugin_in_document** | [**JsonApiDashboardPluginInDocument**](JsonApiDashboardPluginInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiDashboardPluginOutDocument**](JsonApiDashboardPluginOutDocument.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/DataSourceControllerApi.md b/gooddata-api-client/docs/DataSourceControllerApi.md
new file mode 100644
index 000000000..9e83fffb6
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceControllerApi.md
@@ -0,0 +1,572 @@
+# gooddata_api_client.DataSourceControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_data_sources**](DataSourceControllerApi.md#create_entity_data_sources) | **POST** /api/v1/entities/dataSources | Post Data Sources
+[**delete_entity_data_sources**](DataSourceControllerApi.md#delete_entity_data_sources) | **DELETE** /api/v1/entities/dataSources/{id} | Delete Data Source entity
+[**get_all_entities_data_sources**](DataSourceControllerApi.md#get_all_entities_data_sources) | **GET** /api/v1/entities/dataSources | Get Data Source entities
+[**get_entity_data_sources**](DataSourceControllerApi.md#get_entity_data_sources) | **GET** /api/v1/entities/dataSources/{id} | Get Data Source entity
+[**patch_entity_data_sources**](DataSourceControllerApi.md#patch_entity_data_sources) | **PATCH** /api/v1/entities/dataSources/{id} | Patch Data Source entity
+[**update_entity_data_sources**](DataSourceControllerApi.md#update_entity_data_sources) | **PUT** /api/v1/entities/dataSources/{id} | Put Data Source entity
+
+
+# **create_entity_data_sources**
+> JsonApiDataSourceOutDocument create_entity_data_sources(json_api_data_source_in_document)
+
+Post Data Sources
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_controller_api
+from gooddata_api_client.model.json_api_data_source_in_document import JsonApiDataSourceInDocument
+from gooddata_api_client.model.json_api_data_source_out_document import JsonApiDataSourceOutDocument
+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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ json_api_data_source_in_document = JsonApiDataSourceInDocument(
+ data=JsonApiDataSourceIn(
+ attributes=JsonApiDataSourceInAttributes(
+ alternative_data_source_id="pg_local_docker-demo2",
+ cache_strategy="ALWAYS",
+ client_id="client_id_example",
+ client_secret="client_secret_example",
+ name="name_example",
+ parameters=[
+ JsonApiDataSourceInAttributesParametersInner(
+ name="name_example",
+ value="value_example",
+ ),
+ ],
+ password="password_example",
+ private_key="private_key_example",
+ private_key_passphrase="private_key_passphrase_example",
+ schema="schema_example",
+ token="token_example",
+ type="POSTGRESQL",
+ url="url_example",
+ username="username_example",
+ ),
+ id="id1",
+ type="dataSource",
+ ),
+ ) # JsonApiDataSourceInDocument |
+ meta_include = [
+ "metaInclude=permissions,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Data Sources
+ api_response = api_instance.create_entity_data_sources(json_api_data_source_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->create_entity_data_sources: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Data Sources
+ api_response = api_instance.create_entity_data_sources(json_api_data_source_in_document, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->create_entity_data_sources: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_data_source_in_document** | [**JsonApiDataSourceInDocument**](JsonApiDataSourceInDocument.md)| |
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiDataSourceOutDocument**](JsonApiDataSourceOutDocument.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_data_sources**
+> delete_entity_data_sources(id)
+
+Delete Data Source entity
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;type==DatabaseTypeValue" # 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 Data Source entity
+ api_instance.delete_entity_data_sources(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->delete_entity_data_sources: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete Data Source entity
+ api_instance.delete_entity_data_sources(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->delete_entity_data_sources: %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_data_sources**
+> JsonApiDataSourceOutList get_all_entities_data_sources()
+
+Get Data Source entities
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_controller_api
+from gooddata_api_client.model.json_api_data_source_out_list import JsonApiDataSourceOutList
+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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ filter = "name==someString;type==DatabaseTypeValue" # 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=permissions,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Data Source entities
+ api_response = api_instance.get_all_entities_data_sources(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 DataSourceControllerApi->get_all_entities_data_sources: %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
+
+[**JsonApiDataSourceOutList**](JsonApiDataSourceOutList.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_data_sources**
+> JsonApiDataSourceOutDocument get_entity_data_sources(id)
+
+Get Data Source entity
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_controller_api
+from gooddata_api_client.model.json_api_data_source_out_document import JsonApiDataSourceOutDocument
+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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;type==DatabaseTypeValue" # 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)
+ meta_include = [
+ "metaInclude=permissions,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get Data Source entity
+ api_response = api_instance.get_entity_data_sources(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->get_entity_data_sources: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Data Source entity
+ api_response = api_instance.get_entity_data_sources(id, filter=filter, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->get_entity_data_sources: %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]
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiDataSourceOutDocument**](JsonApiDataSourceOutDocument.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_data_sources**
+> JsonApiDataSourceOutDocument patch_entity_data_sources(id, json_api_data_source_patch_document)
+
+Patch Data Source entity
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_controller_api
+from gooddata_api_client.model.json_api_data_source_patch_document import JsonApiDataSourcePatchDocument
+from gooddata_api_client.model.json_api_data_source_out_document import JsonApiDataSourceOutDocument
+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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_data_source_patch_document = JsonApiDataSourcePatchDocument(
+ data=JsonApiDataSourcePatch(
+ attributes=JsonApiDataSourcePatchAttributes(
+ alternative_data_source_id="pg_local_docker-demo2",
+ cache_strategy="ALWAYS",
+ client_id="client_id_example",
+ client_secret="client_secret_example",
+ name="name_example",
+ parameters=[
+ JsonApiDataSourceInAttributesParametersInner(
+ name="name_example",
+ value="value_example",
+ ),
+ ],
+ password="password_example",
+ private_key="private_key_example",
+ private_key_passphrase="private_key_passphrase_example",
+ schema="schema_example",
+ token="token_example",
+ type="POSTGRESQL",
+ url="url_example",
+ username="username_example",
+ ),
+ id="id1",
+ type="dataSource",
+ ),
+ ) # JsonApiDataSourcePatchDocument |
+ filter = "name==someString;type==DatabaseTypeValue" # 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 Data Source entity
+ api_response = api_instance.patch_entity_data_sources(id, json_api_data_source_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->patch_entity_data_sources: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch Data Source entity
+ api_response = api_instance.patch_entity_data_sources(id, json_api_data_source_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->patch_entity_data_sources: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_data_source_patch_document** | [**JsonApiDataSourcePatchDocument**](JsonApiDataSourcePatchDocument.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
+
+[**JsonApiDataSourceOutDocument**](JsonApiDataSourceOutDocument.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_data_sources**
+> JsonApiDataSourceOutDocument update_entity_data_sources(id, json_api_data_source_in_document)
+
+Put Data Source entity
+
+Data Source - represents data source for the workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_controller_api
+from gooddata_api_client.model.json_api_data_source_in_document import JsonApiDataSourceInDocument
+from gooddata_api_client.model.json_api_data_source_out_document import JsonApiDataSourceOutDocument
+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 = data_source_controller_api.DataSourceControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_data_source_in_document = JsonApiDataSourceInDocument(
+ data=JsonApiDataSourceIn(
+ attributes=JsonApiDataSourceInAttributes(
+ alternative_data_source_id="pg_local_docker-demo2",
+ cache_strategy="ALWAYS",
+ client_id="client_id_example",
+ client_secret="client_secret_example",
+ name="name_example",
+ parameters=[
+ JsonApiDataSourceInAttributesParametersInner(
+ name="name_example",
+ value="value_example",
+ ),
+ ],
+ password="password_example",
+ private_key="private_key_example",
+ private_key_passphrase="private_key_passphrase_example",
+ schema="schema_example",
+ token="token_example",
+ type="POSTGRESQL",
+ url="url_example",
+ username="username_example",
+ ),
+ id="id1",
+ type="dataSource",
+ ),
+ ) # JsonApiDataSourceInDocument |
+ filter = "name==someString;type==DatabaseTypeValue" # 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 Data Source entity
+ api_response = api_instance.update_entity_data_sources(id, json_api_data_source_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->update_entity_data_sources: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Data Source entity
+ api_response = api_instance.update_entity_data_sources(id, json_api_data_source_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceControllerApi->update_entity_data_sources: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_data_source_in_document** | [**JsonApiDataSourceInDocument**](JsonApiDataSourceInDocument.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
+
+[**JsonApiDataSourceOutDocument**](JsonApiDataSourceOutDocument.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/DataSourceFilesAnalysisApi.md b/gooddata-api-client/docs/DataSourceFilesAnalysisApi.md
new file mode 100644
index 000000000..c72f62a76
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceFilesAnalysisApi.md
@@ -0,0 +1,91 @@
+# gooddata_api_client.DataSourceFilesAnalysisApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**analyze_csv**](DataSourceFilesAnalysisApi.md#analyze_csv) | **POST** /api/v1/actions/fileStorage/staging/analyzeCsv | Analyze CSV
+
+
+# **analyze_csv**
+> [AnalyzeCsvResponse] analyze_csv(analyze_csv_request)
+
+Analyze CSV
+
+Analyzes CSV files at the given locations
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_files_analysis_api
+from gooddata_api_client.model.analyze_csv_response import AnalyzeCsvResponse
+from gooddata_api_client.model.analyze_csv_request import AnalyzeCsvRequest
+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 = data_source_files_analysis_api.DataSourceFilesAnalysisApi(api_client)
+ analyze_csv_request = AnalyzeCsvRequest(
+ analyze_requests=[
+ AnalyzeCsvRequestItem(
+ config=AnalyzeCsvRequestItemConfig(
+ delimiters=[
+ "delimiters_example",
+ ],
+ header_detect_max_rows=1,
+ header_row_count=1,
+ result_rows=1,
+ ),
+ location="location_example",
+ ),
+ ],
+ ) # AnalyzeCsvRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Analyze CSV
+ api_response = api_instance.analyze_csv(analyze_csv_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceFilesAnalysisApi->analyze_csv: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **analyze_csv_request** | [**AnalyzeCsvRequest**](AnalyzeCsvRequest.md)| |
+
+### Return type
+
+[**[AnalyzeCsvResponse]**](AnalyzeCsvResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful analysis. | - |
+
+[[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/DataSourceFilesDeletionApi.md b/gooddata-api-client/docs/DataSourceFilesDeletionApi.md
new file mode 100644
index 000000000..302b5c66b
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceFilesDeletionApi.md
@@ -0,0 +1,81 @@
+# gooddata_api_client.DataSourceFilesDeletionApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**delete_files**](DataSourceFilesDeletionApi.md#delete_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles | Delete datasource files
+
+
+# **delete_files**
+> delete_files(data_source_id, delete_files_request)
+
+Delete datasource files
+
+Delete the files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_files_deletion_api
+from gooddata_api_client.model.delete_files_request import DeleteFilesRequest
+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 = data_source_files_deletion_api.DataSourceFilesDeletionApi(api_client)
+ data_source_id = "dataSourceId_example" # str |
+ delete_files_request = DeleteFilesRequest(
+ file_names=[
+ "file_names_example",
+ ],
+ ) # DeleteFilesRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete datasource files
+ api_instance.delete_files(data_source_id, delete_files_request)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceFilesDeletionApi->delete_files: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+ **delete_files_request** | [**DeleteFilesRequest**](DeleteFilesRequest.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** | Successful deletion. | - |
+
+[[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/DataSourceFilesImportApi.md b/gooddata-api-client/docs/DataSourceFilesImportApi.md
new file mode 100644
index 000000000..f408fc439
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceFilesImportApi.md
@@ -0,0 +1,143 @@
+# gooddata_api_client.DataSourceFilesImportApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**import_csv**](DataSourceFilesImportApi.md#import_csv) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv | Import CSV
+
+
+# **import_csv**
+> [ImportCsvResponse] import_csv(data_source_id, import_csv_request)
+
+Import CSV
+
+Import the CSV files at the given locations in the staging area to the final location.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_files_import_api
+from gooddata_api_client.model.import_csv_request import ImportCsvRequest
+from gooddata_api_client.model.import_csv_response import ImportCsvResponse
+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 = data_source_files_import_api.DataSourceFilesImportApi(api_client)
+ data_source_id = "dataSourceId_example" # str |
+ import_csv_request = ImportCsvRequest(
+ tables=[
+ ImportCsvRequestTable(
+ name="name_example",
+ source=ImportCsvRequestTableSource(
+ config=ImportCsvRequestTableSourceConfig(
+ column_date_formats={
+ "key": "key_example",
+ },
+ convert_options=CsvConvertOptions(
+ auto_dict_encode=True,
+ auto_dict_max_cardinality=1,
+ check_utf8=True,
+ column_types=[
+ CsvConvertOptionsColumnType(
+ name="name_example",
+ nullable=True,
+ type="type_example",
+ ),
+ ],
+ decimal_point="decimal_point_example",
+ false_values=[
+ "false_values_example",
+ ],
+ include_columns=[
+ "include_columns_example",
+ ],
+ include_missing_columns=True,
+ null_values=[
+ "null_values_example",
+ ],
+ quoted_strings_can_be_null=True,
+ strings_can_be_null=True,
+ timestamp_parsers=[
+ "timestamp_parsers_example",
+ ],
+ true_values=[
+ "true_values_example",
+ ],
+ ),
+ parse_options=CsvParseOptions(
+ delimiter="delimiter_example",
+ double_quote=True,
+ escape_char={},
+ ignore_empty_lines=True,
+ newlines_in_values=True,
+ quote_char={},
+ ),
+ read_options=CsvReadOptions(
+ auto_generate_column_names=True,
+ block_size=1,
+ column_names=[
+ "column_names_example",
+ ],
+ encoding="encoding_example",
+ skip_rows=1,
+ skip_rows_after_names=1,
+ use_threads=True,
+ ),
+ ),
+ location="location_example",
+ ),
+ ),
+ ],
+ ) # ImportCsvRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Import CSV
+ api_response = api_instance.import_csv(data_source_id, import_csv_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceFilesImportApi->import_csv: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+ **import_csv_request** | [**ImportCsvRequest**](ImportCsvRequest.md)| |
+
+### Return type
+
+[**[ImportCsvResponse]**](ImportCsvResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful import. | - |
+
+[[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/DataSourceFilesListingApi.md b/gooddata-api-client/docs/DataSourceFilesListingApi.md
new file mode 100644
index 000000000..5815e9368
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceFilesListingApi.md
@@ -0,0 +1,76 @@
+# gooddata_api_client.DataSourceFilesListingApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**list_files**](DataSourceFilesListingApi.md#list_files) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles | List datasource files
+
+
+# **list_files**
+> [GdStorageFile] list_files(data_source_id)
+
+List datasource files
+
+List all the files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_files_listing_api
+from gooddata_api_client.model.gd_storage_file import GdStorageFile
+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 = data_source_files_listing_api.DataSourceFilesListingApi(api_client)
+ data_source_id = "dataSourceId_example" # str |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # List datasource files
+ api_response = api_instance.list_files(data_source_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceFilesListingApi->list_files: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+
+### Return type
+
+[**[GdStorageFile]**](GdStorageFile.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful listing. | - |
+
+[[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/DataSourceFilesManifestReadApi.md b/gooddata-api-client/docs/DataSourceFilesManifestReadApi.md
new file mode 100644
index 000000000..85eeb7d81
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceFilesManifestReadApi.md
@@ -0,0 +1,86 @@
+# gooddata_api_client.DataSourceFilesManifestReadApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**read_csv_file_manifests**](DataSourceFilesManifestReadApi.md#read_csv_file_manifests) | **POST** /api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests | Read CSV file manifests
+
+
+# **read_csv_file_manifests**
+> [ReadCsvFileManifestsResponse] read_csv_file_manifests(data_source_id, read_csv_file_manifests_request)
+
+Read CSV file manifests
+
+Read the manifests of the CSV files in the given data source.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_files_manifest_read_api
+from gooddata_api_client.model.read_csv_file_manifests_response import ReadCsvFileManifestsResponse
+from gooddata_api_client.model.read_csv_file_manifests_request import ReadCsvFileManifestsRequest
+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 = data_source_files_manifest_read_api.DataSourceFilesManifestReadApi(api_client)
+ data_source_id = "dataSourceId_example" # str |
+ read_csv_file_manifests_request = ReadCsvFileManifestsRequest(
+ manifest_requests=[
+ ReadCsvFileManifestsRequestItem(
+ file_name="file_name_example",
+ version=1,
+ ),
+ ],
+ ) # ReadCsvFileManifestsRequest |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Read CSV file manifests
+ api_response = api_instance.read_csv_file_manifests(data_source_id, read_csv_file_manifests_request)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceFilesManifestReadApi->read_csv_file_manifests: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **data_source_id** | **str**| |
+ **read_csv_file_manifests_request** | [**ReadCsvFileManifestsRequest**](ReadCsvFileManifestsRequest.md)| |
+
+### Return type
+
+[**[ReadCsvFileManifestsResponse]**](ReadCsvFileManifestsResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful listing. | - |
+
+[[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/DataSourceStagingLocationApi.md b/gooddata-api-client/docs/DataSourceStagingLocationApi.md
new file mode 100644
index 000000000..02ef651bb
--- /dev/null
+++ b/gooddata-api-client/docs/DataSourceStagingLocationApi.md
@@ -0,0 +1,76 @@
+# gooddata_api_client.DataSourceStagingLocationApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**staging_upload**](DataSourceStagingLocationApi.md#staging_upload) | **POST** /api/v1/actions/fileStorage/staging/upload | Upload a file to the staging area
+
+
+# **staging_upload**
+> UploadFileResponse staging_upload(file)
+
+Upload a file to the staging area
+
+Provides a location for uploading staging files.
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import data_source_staging_location_api
+from gooddata_api_client.model.upload_file_response import UploadFileResponse
+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 = data_source_staging_location_api.DataSourceStagingLocationApi(api_client)
+ file = open('/path/to/file', 'rb') # file_type | The file to upload.
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Upload a file to the staging area
+ api_response = api_instance.staging_upload(file)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DataSourceStagingLocationApi->staging_upload: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **file** | **file_type**| The file to upload. |
+
+### Return type
+
+[**UploadFileResponse**](UploadFileResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: application/json
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Upload was successful. | - |
+
+[[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/DatasetControllerApi.md b/gooddata-api-client/docs/DatasetControllerApi.md
new file mode 100644
index 000000000..6886b46c2
--- /dev/null
+++ b/gooddata-api-client/docs/DatasetControllerApi.md
@@ -0,0 +1,392 @@
+# gooddata_api_client.DatasetControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_entities_datasets**](DatasetControllerApi.md#get_all_entities_datasets) | **GET** /api/v1/entities/workspaces/{workspaceId}/datasets | Get all Datasets
+[**get_entity_datasets**](DatasetControllerApi.md#get_entity_datasets) | **GET** /api/v1/entities/workspaces/{workspaceId}/datasets/{objectId} | Get a Dataset
+[**patch_entity_datasets**](DatasetControllerApi.md#patch_entity_datasets) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/datasets/{objectId} | Patch a Dataset (beta)
+[**search_entities_datasets**](DatasetControllerApi.md#search_entities_datasets) | **POST** /api/v1/entities/workspaces/{workspaceId}/datasets/search | The search endpoint (beta)
+
+
+# **get_all_entities_datasets**
+> JsonApiDatasetOutList get_all_entities_datasets(workspace_id)
+
+Get all Datasets
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dataset_controller_api
+from gooddata_api_client.model.json_api_dataset_out_list import JsonApiDatasetOutList
+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 = dataset_controller_api.DatasetControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==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)
+ include = [
+ "attributes,facts,aggregatedFacts,references,workspaceDataFilters",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Datasets
+ api_response = api_instance.get_all_entities_datasets(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->get_all_entities_datasets: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Datasets
+ api_response = api_instance.get_all_entities_datasets(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->get_all_entities_datasets: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiDatasetOutList**](JsonApiDatasetOutList.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_datasets**
+> JsonApiDatasetOutDocument get_entity_datasets(workspace_id, object_id)
+
+Get a Dataset
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dataset_controller_api
+from gooddata_api_client.model.json_api_dataset_out_document import JsonApiDatasetOutDocument
+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 = dataset_controller_api.DatasetControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==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)
+ include = [
+ "attributes,facts,aggregatedFacts,references,workspaceDataFilters",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Dataset
+ api_response = api_instance.get_entity_datasets(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->get_entity_datasets: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Dataset
+ api_response = api_instance.get_entity_datasets(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->get_entity_datasets: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiDatasetOutDocument**](JsonApiDatasetOutDocument.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_datasets**
+> JsonApiDatasetOutDocument patch_entity_datasets(workspace_id, object_id, json_api_dataset_patch_document)
+
+Patch a Dataset (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dataset_controller_api
+from gooddata_api_client.model.json_api_dataset_out_document import JsonApiDatasetOutDocument
+from gooddata_api_client.model.json_api_dataset_patch_document import JsonApiDatasetPatchDocument
+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 = dataset_controller_api.DatasetControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_dataset_patch_document = JsonApiDatasetPatchDocument(
+ data=JsonApiDatasetPatch(
+ attributes=JsonApiAttributePatchAttributes(
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="dataset",
+ ),
+ ) # JsonApiDatasetPatchDocument |
+ filter = "title==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)
+ include = [
+ "attributes,facts,aggregatedFacts,references,workspaceDataFilters",
+ ] # [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
+ try:
+ # Patch a Dataset (beta)
+ api_response = api_instance.patch_entity_datasets(workspace_id, object_id, json_api_dataset_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->patch_entity_datasets: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Dataset (beta)
+ api_response = api_instance.patch_entity_datasets(workspace_id, object_id, json_api_dataset_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->patch_entity_datasets: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_dataset_patch_document** | [**JsonApiDatasetPatchDocument**](JsonApiDatasetPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiDatasetOutDocument**](JsonApiDatasetOutDocument.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)
+
+# **search_entities_datasets**
+> JsonApiDatasetOutList search_entities_datasets(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import dataset_controller_api
+from gooddata_api_client.model.json_api_dataset_out_list import JsonApiDatasetOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = dataset_controller_api.DatasetControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_datasets(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->search_entities_datasets: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_datasets(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling DatasetControllerApi->search_entities_datasets: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiDatasetOutList**](JsonApiDatasetOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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/DeleteFilesRequest.md b/gooddata-api-client/docs/DeleteFilesRequest.md
new file mode 100644
index 000000000..1e92de431
--- /dev/null
+++ b/gooddata-api-client/docs/DeleteFilesRequest.md
@@ -0,0 +1,13 @@
+# DeleteFilesRequest
+
+Request to delete files from the storage.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**file_names** | **[str]** | Names of the files to delete. |
+**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/ExportDefinitionControllerApi.md b/gooddata-api-client/docs/ExportDefinitionControllerApi.md
new file mode 100644
index 000000000..072a63ff2
--- /dev/null
+++ b/gooddata-api-client/docs/ExportDefinitionControllerApi.md
@@ -0,0 +1,694 @@
+# gooddata_api_client.ExportDefinitionControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_export_definitions**](ExportDefinitionControllerApi.md#create_entity_export_definitions) | **POST** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions | Post Export Definitions
+[**delete_entity_export_definitions**](ExportDefinitionControllerApi.md#delete_entity_export_definitions) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId} | Delete an Export Definition
+[**get_all_entities_export_definitions**](ExportDefinitionControllerApi.md#get_all_entities_export_definitions) | **GET** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions | Get all Export Definitions
+[**get_entity_export_definitions**](ExportDefinitionControllerApi.md#get_entity_export_definitions) | **GET** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId} | Get an Export Definition
+[**patch_entity_export_definitions**](ExportDefinitionControllerApi.md#patch_entity_export_definitions) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId} | Patch an Export Definition
+[**search_entities_export_definitions**](ExportDefinitionControllerApi.md#search_entities_export_definitions) | **POST** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions/search | The search endpoint (beta)
+[**update_entity_export_definitions**](ExportDefinitionControllerApi.md#update_entity_export_definitions) | **PUT** /api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId} | Put an Export Definition
+
+
+# **create_entity_export_definitions**
+> JsonApiExportDefinitionOutDocument create_entity_export_definitions(workspace_id, json_api_export_definition_post_optional_id_document)
+
+Post Export Definitions
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_document import JsonApiExportDefinitionOutDocument
+from gooddata_api_client.model.json_api_export_definition_post_optional_id_document import JsonApiExportDefinitionPostOptionalIdDocument
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_export_definition_post_optional_id_document = JsonApiExportDefinitionPostOptionalIdDocument(
+ data=JsonApiExportDefinitionPostOptionalId(
+ attributes=JsonApiExportDefinitionInAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ request_payload=JsonApiExportDefinitionInAttributesRequestPayload(),
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiExportDefinitionInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ visualization_object=JsonApiExportDefinitionInRelationshipsVisualizationObject(
+ data=JsonApiVisualizationObjectToOneLinkage(None),
+ ),
+ ),
+ type="exportDefinition",
+ ),
+ ) # JsonApiExportDefinitionPostOptionalIdDocument |
+ include = [
+ "visualizationObject,analyticalDashboard,automation,createdBy,modifiedBy",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Export Definitions
+ api_response = api_instance.create_entity_export_definitions(workspace_id, json_api_export_definition_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->create_entity_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Export Definitions
+ api_response = api_instance.create_entity_export_definitions(workspace_id, json_api_export_definition_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->create_entity_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_export_definition_post_optional_id_document** | [**JsonApiExportDefinitionPostOptionalIdDocument**](JsonApiExportDefinitionPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiExportDefinitionOutDocument**](JsonApiExportDefinitionOutDocument.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_export_definitions**
+> delete_entity_export_definitions(workspace_id, object_id)
+
+Delete an Export Definition
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;visualizationObject.id==321;analyticalDashboard.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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete an Export Definition
+ api_instance.delete_entity_export_definitions(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->delete_entity_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete an Export Definition
+ api_instance.delete_entity_export_definitions(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->delete_entity_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_export_definitions**
+> JsonApiExportDefinitionOutList get_all_entities_export_definitions(workspace_id)
+
+Get all Export Definitions
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_list import JsonApiExportDefinitionOutList
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;visualizationObject.id==321;analyticalDashboard.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 = [
+ "visualizationObject,analyticalDashboard,automation,createdBy,modifiedBy",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Export Definitions
+ api_response = api_instance.get_all_entities_export_definitions(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->get_all_entities_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Export Definitions
+ api_response = api_instance.get_all_entities_export_definitions(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->get_all_entities_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiExportDefinitionOutList**](JsonApiExportDefinitionOutList.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_export_definitions**
+> JsonApiExportDefinitionOutDocument get_entity_export_definitions(workspace_id, object_id)
+
+Get an Export Definition
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_document import JsonApiExportDefinitionOutDocument
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;visualizationObject.id==321;analyticalDashboard.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 = [
+ "visualizationObject,analyticalDashboard,automation,createdBy,modifiedBy",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get an Export Definition
+ api_response = api_instance.get_entity_export_definitions(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->get_entity_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get an Export Definition
+ api_response = api_instance.get_entity_export_definitions(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->get_entity_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiExportDefinitionOutDocument**](JsonApiExportDefinitionOutDocument.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_export_definitions**
+> JsonApiExportDefinitionOutDocument patch_entity_export_definitions(workspace_id, object_id, json_api_export_definition_patch_document)
+
+Patch an Export Definition
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_document import JsonApiExportDefinitionOutDocument
+from gooddata_api_client.model.json_api_export_definition_patch_document import JsonApiExportDefinitionPatchDocument
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_export_definition_patch_document = JsonApiExportDefinitionPatchDocument(
+ data=JsonApiExportDefinitionPatch(
+ attributes=JsonApiExportDefinitionInAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ request_payload=JsonApiExportDefinitionInAttributesRequestPayload(),
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiExportDefinitionInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ visualization_object=JsonApiExportDefinitionInRelationshipsVisualizationObject(
+ data=JsonApiVisualizationObjectToOneLinkage(None),
+ ),
+ ),
+ type="exportDefinition",
+ ),
+ ) # JsonApiExportDefinitionPatchDocument |
+ filter = "title==someString;description==someString;visualizationObject.id==321;analyticalDashboard.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 = [
+ "visualizationObject,analyticalDashboard,automation,createdBy,modifiedBy",
+ ] # [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
+ try:
+ # Patch an Export Definition
+ api_response = api_instance.patch_entity_export_definitions(workspace_id, object_id, json_api_export_definition_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->patch_entity_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch an Export Definition
+ api_response = api_instance.patch_entity_export_definitions(workspace_id, object_id, json_api_export_definition_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->patch_entity_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_export_definition_patch_document** | [**JsonApiExportDefinitionPatchDocument**](JsonApiExportDefinitionPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiExportDefinitionOutDocument**](JsonApiExportDefinitionOutDocument.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)
+
+# **search_entities_export_definitions**
+> JsonApiExportDefinitionOutList search_entities_export_definitions(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_list import JsonApiExportDefinitionOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_export_definitions(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->search_entities_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_export_definitions(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->search_entities_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiExportDefinitionOutList**](JsonApiExportDefinitionOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_export_definitions**
+> JsonApiExportDefinitionOutDocument update_entity_export_definitions(workspace_id, object_id, json_api_export_definition_in_document)
+
+Put an Export Definition
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import export_definition_controller_api
+from gooddata_api_client.model.json_api_export_definition_out_document import JsonApiExportDefinitionOutDocument
+from gooddata_api_client.model.json_api_export_definition_in_document import JsonApiExportDefinitionInDocument
+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 = export_definition_controller_api.ExportDefinitionControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_export_definition_in_document = JsonApiExportDefinitionInDocument(
+ data=JsonApiExportDefinitionIn(
+ attributes=JsonApiExportDefinitionInAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ request_payload=JsonApiExportDefinitionInAttributesRequestPayload(),
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiExportDefinitionInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ visualization_object=JsonApiExportDefinitionInRelationshipsVisualizationObject(
+ data=JsonApiVisualizationObjectToOneLinkage(None),
+ ),
+ ),
+ type="exportDefinition",
+ ),
+ ) # JsonApiExportDefinitionInDocument |
+ filter = "title==someString;description==someString;visualizationObject.id==321;analyticalDashboard.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 = [
+ "visualizationObject,analyticalDashboard,automation,createdBy,modifiedBy",
+ ] # [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
+ try:
+ # Put an Export Definition
+ api_response = api_instance.update_entity_export_definitions(workspace_id, object_id, json_api_export_definition_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->update_entity_export_definitions: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put an Export Definition
+ api_response = api_instance.update_entity_export_definitions(workspace_id, object_id, json_api_export_definition_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling ExportDefinitionControllerApi->update_entity_export_definitions: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_export_definition_in_document** | [**JsonApiExportDefinitionInDocument**](JsonApiExportDefinitionInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiExportDefinitionOutDocument**](JsonApiExportDefinitionOutDocument.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/FactControllerApi.md b/gooddata-api-client/docs/FactControllerApi.md
new file mode 100644
index 000000000..df90c3c3e
--- /dev/null
+++ b/gooddata-api-client/docs/FactControllerApi.md
@@ -0,0 +1,392 @@
+# gooddata_api_client.FactControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_entities_facts**](FactControllerApi.md#get_all_entities_facts) | **GET** /api/v1/entities/workspaces/{workspaceId}/facts | Get all Facts
+[**get_entity_facts**](FactControllerApi.md#get_entity_facts) | **GET** /api/v1/entities/workspaces/{workspaceId}/facts/{objectId} | Get a Fact
+[**patch_entity_facts**](FactControllerApi.md#patch_entity_facts) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/facts/{objectId} | Patch a Fact (beta)
+[**search_entities_facts**](FactControllerApi.md#search_entities_facts) | **POST** /api/v1/entities/workspaces/{workspaceId}/facts/search | The search endpoint (beta)
+
+
+# **get_all_entities_facts**
+> JsonApiFactOutList get_all_entities_facts(workspace_id)
+
+Get all Facts
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import fact_controller_api
+from gooddata_api_client.model.json_api_fact_out_list import JsonApiFactOutList
+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 = fact_controller_api.FactControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;dataset.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 = [
+ "dataset",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Facts
+ api_response = api_instance.get_all_entities_facts(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->get_all_entities_facts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Facts
+ api_response = api_instance.get_all_entities_facts(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->get_all_entities_facts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiFactOutList**](JsonApiFactOutList.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_facts**
+> JsonApiFactOutDocument get_entity_facts(workspace_id, object_id)
+
+Get a Fact
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import fact_controller_api
+from gooddata_api_client.model.json_api_fact_out_document import JsonApiFactOutDocument
+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 = fact_controller_api.FactControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;dataset.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 = [
+ "dataset",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Fact
+ api_response = api_instance.get_entity_facts(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->get_entity_facts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Fact
+ api_response = api_instance.get_entity_facts(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->get_entity_facts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiFactOutDocument**](JsonApiFactOutDocument.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_facts**
+> JsonApiFactOutDocument patch_entity_facts(workspace_id, object_id, json_api_fact_patch_document)
+
+Patch a Fact (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import fact_controller_api
+from gooddata_api_client.model.json_api_fact_out_document import JsonApiFactOutDocument
+from gooddata_api_client.model.json_api_fact_patch_document import JsonApiFactPatchDocument
+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 = fact_controller_api.FactControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_fact_patch_document = JsonApiFactPatchDocument(
+ data=JsonApiFactPatch(
+ attributes=JsonApiAttributePatchAttributes(
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="fact",
+ ),
+ ) # JsonApiFactPatchDocument |
+ filter = "title==someString;description==someString;dataset.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 = [
+ "dataset",
+ ] # [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
+ try:
+ # Patch a Fact (beta)
+ api_response = api_instance.patch_entity_facts(workspace_id, object_id, json_api_fact_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->patch_entity_facts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Fact (beta)
+ api_response = api_instance.patch_entity_facts(workspace_id, object_id, json_api_fact_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->patch_entity_facts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_fact_patch_document** | [**JsonApiFactPatchDocument**](JsonApiFactPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiFactOutDocument**](JsonApiFactOutDocument.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)
+
+# **search_entities_facts**
+> JsonApiFactOutList search_entities_facts(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import fact_controller_api
+from gooddata_api_client.model.json_api_fact_out_list import JsonApiFactOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = fact_controller_api.FactControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_facts(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->search_entities_facts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_facts(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FactControllerApi->search_entities_facts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiFactOutList**](JsonApiFactOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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/FilterContextControllerApi.md b/gooddata-api-client/docs/FilterContextControllerApi.md
new file mode 100644
index 000000000..3758102f1
--- /dev/null
+++ b/gooddata-api-client/docs/FilterContextControllerApi.md
@@ -0,0 +1,670 @@
+# gooddata_api_client.FilterContextControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_filter_contexts**](FilterContextControllerApi.md#create_entity_filter_contexts) | **POST** /api/v1/entities/workspaces/{workspaceId}/filterContexts | Post Filter Context
+[**delete_entity_filter_contexts**](FilterContextControllerApi.md#delete_entity_filter_contexts) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId} | Delete a Filter Context
+[**get_all_entities_filter_contexts**](FilterContextControllerApi.md#get_all_entities_filter_contexts) | **GET** /api/v1/entities/workspaces/{workspaceId}/filterContexts | Get all Filter Context
+[**get_entity_filter_contexts**](FilterContextControllerApi.md#get_entity_filter_contexts) | **GET** /api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId} | Get a Filter Context
+[**patch_entity_filter_contexts**](FilterContextControllerApi.md#patch_entity_filter_contexts) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId} | Patch a Filter Context
+[**search_entities_filter_contexts**](FilterContextControllerApi.md#search_entities_filter_contexts) | **POST** /api/v1/entities/workspaces/{workspaceId}/filterContexts/search | The search endpoint (beta)
+[**update_entity_filter_contexts**](FilterContextControllerApi.md#update_entity_filter_contexts) | **PUT** /api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId} | Put a Filter Context
+
+
+# **create_entity_filter_contexts**
+> JsonApiFilterContextOutDocument create_entity_filter_contexts(workspace_id, json_api_filter_context_post_optional_id_document)
+
+Post Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_post_optional_id_document import JsonApiFilterContextPostOptionalIdDocument
+from gooddata_api_client.model.json_api_filter_context_out_document import JsonApiFilterContextOutDocument
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_filter_context_post_optional_id_document = JsonApiFilterContextPostOptionalIdDocument(
+ data=JsonApiFilterContextPostOptionalId(
+ attributes=JsonApiFilterContextInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="filterContext",
+ ),
+ ) # JsonApiFilterContextPostOptionalIdDocument |
+ include = [
+ "attributes,datasets,labels",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Filter Context
+ api_response = api_instance.create_entity_filter_contexts(workspace_id, json_api_filter_context_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->create_entity_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Filter Context
+ api_response = api_instance.create_entity_filter_contexts(workspace_id, json_api_filter_context_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->create_entity_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_filter_context_post_optional_id_document** | [**JsonApiFilterContextPostOptionalIdDocument**](JsonApiFilterContextPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiFilterContextOutDocument**](JsonApiFilterContextOutDocument.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_filter_contexts**
+> delete_entity_filter_contexts(workspace_id, object_id)
+
+Delete a Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==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 a Filter Context
+ api_instance.delete_entity_filter_contexts(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->delete_entity_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Filter Context
+ api_instance.delete_entity_filter_contexts(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->delete_entity_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_filter_contexts**
+> JsonApiFilterContextOutList get_all_entities_filter_contexts(workspace_id)
+
+Get all Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_out_list import JsonApiFilterContextOutList
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==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)
+ include = [
+ "attributes,datasets,labels",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Filter Context
+ api_response = api_instance.get_all_entities_filter_contexts(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->get_all_entities_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Filter Context
+ api_response = api_instance.get_all_entities_filter_contexts(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->get_all_entities_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiFilterContextOutList**](JsonApiFilterContextOutList.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_filter_contexts**
+> JsonApiFilterContextOutDocument get_entity_filter_contexts(workspace_id, object_id)
+
+Get a Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_out_document import JsonApiFilterContextOutDocument
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==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)
+ include = [
+ "attributes,datasets,labels",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Filter Context
+ api_response = api_instance.get_entity_filter_contexts(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->get_entity_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Filter Context
+ api_response = api_instance.get_entity_filter_contexts(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->get_entity_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiFilterContextOutDocument**](JsonApiFilterContextOutDocument.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_filter_contexts**
+> JsonApiFilterContextOutDocument patch_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_patch_document)
+
+Patch a Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_patch_document import JsonApiFilterContextPatchDocument
+from gooddata_api_client.model.json_api_filter_context_out_document import JsonApiFilterContextOutDocument
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_filter_context_patch_document = JsonApiFilterContextPatchDocument(
+ data=JsonApiFilterContextPatch(
+ attributes=JsonApiFilterContextPatchAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="filterContext",
+ ),
+ ) # JsonApiFilterContextPatchDocument |
+ filter = "title==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)
+ include = [
+ "attributes,datasets,labels",
+ ] # [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
+ try:
+ # Patch a Filter Context
+ api_response = api_instance.patch_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->patch_entity_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Filter Context
+ api_response = api_instance.patch_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->patch_entity_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_filter_context_patch_document** | [**JsonApiFilterContextPatchDocument**](JsonApiFilterContextPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiFilterContextOutDocument**](JsonApiFilterContextOutDocument.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)
+
+# **search_entities_filter_contexts**
+> JsonApiFilterContextOutList search_entities_filter_contexts(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_out_list import JsonApiFilterContextOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_filter_contexts(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->search_entities_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_filter_contexts(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->search_entities_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiFilterContextOutList**](JsonApiFilterContextOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_filter_contexts**
+> JsonApiFilterContextOutDocument update_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_in_document)
+
+Put a Filter Context
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_context_controller_api
+from gooddata_api_client.model.json_api_filter_context_in_document import JsonApiFilterContextInDocument
+from gooddata_api_client.model.json_api_filter_context_out_document import JsonApiFilterContextOutDocument
+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 = filter_context_controller_api.FilterContextControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_filter_context_in_document = JsonApiFilterContextInDocument(
+ data=JsonApiFilterContextIn(
+ attributes=JsonApiFilterContextInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="filterContext",
+ ),
+ ) # JsonApiFilterContextInDocument |
+ filter = "title==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)
+ include = [
+ "attributes,datasets,labels",
+ ] # [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
+ try:
+ # Put a Filter Context
+ api_response = api_instance.update_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->update_entity_filter_contexts: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Filter Context
+ api_response = api_instance.update_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterContextControllerApi->update_entity_filter_contexts: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_filter_context_in_document** | [**JsonApiFilterContextInDocument**](JsonApiFilterContextInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiFilterContextOutDocument**](JsonApiFilterContextOutDocument.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/FilterViewControllerApi.md b/gooddata-api-client/docs/FilterViewControllerApi.md
new file mode 100644
index 000000000..c70c925ef
--- /dev/null
+++ b/gooddata-api-client/docs/FilterViewControllerApi.md
@@ -0,0 +1,689 @@
+# gooddata_api_client.FilterViewControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_filter_views**](FilterViewControllerApi.md#create_entity_filter_views) | **POST** /api/v1/entities/workspaces/{workspaceId}/filterViews | Post Filter views
+[**delete_entity_filter_views**](FilterViewControllerApi.md#delete_entity_filter_views) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId} | Delete Filter view
+[**get_all_entities_filter_views**](FilterViewControllerApi.md#get_all_entities_filter_views) | **GET** /api/v1/entities/workspaces/{workspaceId}/filterViews | Get all Filter views
+[**get_entity_filter_views**](FilterViewControllerApi.md#get_entity_filter_views) | **GET** /api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId} | Get Filter view
+[**patch_entity_filter_views**](FilterViewControllerApi.md#patch_entity_filter_views) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId} | Patch Filter view
+[**search_entities_filter_views**](FilterViewControllerApi.md#search_entities_filter_views) | **POST** /api/v1/entities/workspaces/{workspaceId}/filterViews/search | The search endpoint (beta)
+[**update_entity_filter_views**](FilterViewControllerApi.md#update_entity_filter_views) | **PUT** /api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId} | Put Filter views
+
+
+# **create_entity_filter_views**
+> JsonApiFilterViewOutDocument create_entity_filter_views(workspace_id, json_api_filter_view_in_document)
+
+Post Filter views
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_in_document import JsonApiFilterViewInDocument
+from gooddata_api_client.model.json_api_filter_view_out_document import JsonApiFilterViewOutDocument
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_filter_view_in_document = JsonApiFilterViewInDocument(
+ data=JsonApiFilterViewIn(
+ attributes=JsonApiFilterViewInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_default=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiFilterViewInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ ),
+ type="filterView",
+ ),
+ ) # JsonApiFilterViewInDocument |
+ include = [
+ "analyticalDashboard,user",
+ ] # [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
+ try:
+ # Post Filter views
+ api_response = api_instance.create_entity_filter_views(workspace_id, json_api_filter_view_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->create_entity_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Filter views
+ api_response = api_instance.create_entity_filter_views(workspace_id, json_api_filter_view_in_document, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->create_entity_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_filter_view_in_document** | [**JsonApiFilterViewInDocument**](JsonApiFilterViewInDocument.md)| |
+ **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]
+
+### Return type
+
+[**JsonApiFilterViewOutDocument**](JsonApiFilterViewOutDocument.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_filter_views**
+> delete_entity_filter_views(workspace_id, object_id)
+
+Delete Filter view
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;analyticalDashboard.id==321;user.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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete Filter view
+ api_instance.delete_entity_filter_views(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->delete_entity_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete Filter view
+ api_instance.delete_entity_filter_views(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->delete_entity_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_filter_views**
+> JsonApiFilterViewOutList get_all_entities_filter_views(workspace_id)
+
+Get all Filter views
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_out_list import JsonApiFilterViewOutList
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;analyticalDashboard.id==321;user.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 = [
+ "analyticalDashboard,user",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Filter views
+ api_response = api_instance.get_all_entities_filter_views(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->get_all_entities_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Filter views
+ api_response = api_instance.get_all_entities_filter_views(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->get_all_entities_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiFilterViewOutList**](JsonApiFilterViewOutList.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_filter_views**
+> JsonApiFilterViewOutDocument get_entity_filter_views(workspace_id, object_id)
+
+Get Filter view
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_out_document import JsonApiFilterViewOutDocument
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;analyticalDashboard.id==321;user.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 = [
+ "analyticalDashboard,user",
+ ] # [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
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get Filter view
+ api_response = api_instance.get_entity_filter_views(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->get_entity_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Filter view
+ api_response = api_instance.get_entity_filter_views(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->get_entity_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiFilterViewOutDocument**](JsonApiFilterViewOutDocument.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_filter_views**
+> JsonApiFilterViewOutDocument patch_entity_filter_views(workspace_id, object_id, json_api_filter_view_patch_document)
+
+Patch Filter view
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_patch_document import JsonApiFilterViewPatchDocument
+from gooddata_api_client.model.json_api_filter_view_out_document import JsonApiFilterViewOutDocument
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_filter_view_patch_document = JsonApiFilterViewPatchDocument(
+ data=JsonApiFilterViewPatch(
+ attributes=JsonApiFilterViewPatchAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_default=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiFilterViewInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ ),
+ type="filterView",
+ ),
+ ) # JsonApiFilterViewPatchDocument |
+ filter = "title==someString;description==someString;analyticalDashboard.id==321;user.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 = [
+ "analyticalDashboard,user",
+ ] # [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
+ try:
+ # Patch Filter view
+ api_response = api_instance.patch_entity_filter_views(workspace_id, object_id, json_api_filter_view_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->patch_entity_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch Filter view
+ api_response = api_instance.patch_entity_filter_views(workspace_id, object_id, json_api_filter_view_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->patch_entity_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_filter_view_patch_document** | [**JsonApiFilterViewPatchDocument**](JsonApiFilterViewPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiFilterViewOutDocument**](JsonApiFilterViewOutDocument.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)
+
+# **search_entities_filter_views**
+> JsonApiFilterViewOutList search_entities_filter_views(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_out_list import JsonApiFilterViewOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_filter_views(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->search_entities_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_filter_views(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->search_entities_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiFilterViewOutList**](JsonApiFilterViewOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_filter_views**
+> JsonApiFilterViewOutDocument update_entity_filter_views(workspace_id, object_id, json_api_filter_view_in_document)
+
+Put Filter views
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import filter_view_controller_api
+from gooddata_api_client.model.json_api_filter_view_in_document import JsonApiFilterViewInDocument
+from gooddata_api_client.model.json_api_filter_view_out_document import JsonApiFilterViewOutDocument
+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 = filter_view_controller_api.FilterViewControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_filter_view_in_document = JsonApiFilterViewInDocument(
+ data=JsonApiFilterViewIn(
+ attributes=JsonApiFilterViewInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_default=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiFilterViewInRelationships(
+ analytical_dashboard=JsonApiAutomationInRelationshipsAnalyticalDashboard(
+ data=JsonApiAnalyticalDashboardToOneLinkage(None),
+ ),
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ ),
+ type="filterView",
+ ),
+ ) # JsonApiFilterViewInDocument |
+ filter = "title==someString;description==someString;analyticalDashboard.id==321;user.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 = [
+ "analyticalDashboard,user",
+ ] # [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
+ try:
+ # Put Filter views
+ api_response = api_instance.update_entity_filter_views(workspace_id, object_id, json_api_filter_view_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->update_entity_filter_views: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Filter views
+ api_response = api_instance.update_entity_filter_views(workspace_id, object_id, json_api_filter_view_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling FilterViewControllerApi->update_entity_filter_views: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_filter_view_in_document** | [**JsonApiFilterViewInDocument**](JsonApiFilterViewInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiFilterViewOutDocument**](JsonApiFilterViewOutDocument.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/GdStorageFile.md b/gooddata-api-client/docs/GdStorageFile.md
new file mode 100644
index 000000000..d2bf06c36
--- /dev/null
+++ b/gooddata-api-client/docs/GdStorageFile.md
@@ -0,0 +1,16 @@
+# GdStorageFile
+
+File stored in GD Storage.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**modified_at** | **datetime** | Last modification timestamp of the file. |
+**name** | **str** | Name of the file. |
+**size** | **int** | Size of the file in bytes. |
+**type** | **str** | Type of the file. | defaults to "CSV"
+**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/GeoJsonFeature.md b/gooddata-api-client/docs/GeoJsonFeature.md
new file mode 100644
index 000000000..e0e445af5
--- /dev/null
+++ b/gooddata-api-client/docs/GeoJsonFeature.md
@@ -0,0 +1,16 @@
+# GeoJsonFeature
+
+GeoJSON Feature
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**properties** | **{str: ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},)}** | |
+**type** | **str** | |
+**geometry** | [**GeoJsonGeometry**](GeoJsonGeometry.md) | | [optional]
+**id** | **{str: (bool, date, datetime, dict, float, int, list, 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/GeoJsonFeatureCollection.md b/gooddata-api-client/docs/GeoJsonFeatureCollection.md
new file mode 100644
index 000000000..0b4fe02fb
--- /dev/null
+++ b/gooddata-api-client/docs/GeoJsonFeatureCollection.md
@@ -0,0 +1,15 @@
+# GeoJsonFeatureCollection
+
+GeoJSON FeatureCollection
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**features** | [**[GeoJsonFeature]**](GeoJsonFeature.md) | |
+**type** | **str** | |
+**bbox** | **[float]** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
+
+[[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/GeoJsonGeometry.md b/gooddata-api-client/docs/GeoJsonGeometry.md
new file mode 100644
index 000000000..819d7e321
--- /dev/null
+++ b/gooddata-api-client/docs/GeoJsonGeometry.md
@@ -0,0 +1,14 @@
+# GeoJsonGeometry
+
+GeoJSON Geometry
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**coordinates** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | |
+**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/GetServiceStatusResponse.md b/gooddata-api-client/docs/GetServiceStatusResponse.md
new file mode 100644
index 000000000..efbedc255
--- /dev/null
+++ b/gooddata-api-client/docs/GetServiceStatusResponse.md
@@ -0,0 +1,13 @@
+# GetServiceStatusResponse
+
+Status of an AI Lake service
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**status** | [**JsonNode**](JsonNode.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/ImportCsvRequest.md b/gooddata-api-client/docs/ImportCsvRequest.md
new file mode 100644
index 000000000..318564eb2
--- /dev/null
+++ b/gooddata-api-client/docs/ImportCsvRequest.md
@@ -0,0 +1,13 @@
+# ImportCsvRequest
+
+Request containing the information necessary to import one or more CSV files from the staging area.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**tables** | [**[ImportCsvRequestTable]**](ImportCsvRequestTable.md) | Information about the individual tables. |
+**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/ImportCsvRequestTable.md b/gooddata-api-client/docs/ImportCsvRequestTable.md
new file mode 100644
index 000000000..aa5911c2c
--- /dev/null
+++ b/gooddata-api-client/docs/ImportCsvRequestTable.md
@@ -0,0 +1,14 @@
+# ImportCsvRequestTable
+
+Information about a particular table.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of the table. |
+**source** | [**ImportCsvRequestTableSource**](ImportCsvRequestTableSource.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/ImportCsvRequestTableSource.md b/gooddata-api-client/docs/ImportCsvRequestTableSource.md
new file mode 100644
index 000000000..72ad45115
--- /dev/null
+++ b/gooddata-api-client/docs/ImportCsvRequestTableSource.md
@@ -0,0 +1,14 @@
+# ImportCsvRequestTableSource
+
+Information about source data for a particular table.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**config** | [**ImportCsvRequestTableSourceConfig**](ImportCsvRequestTableSourceConfig.md) | |
+**location** | **str** | Location of the data in the staging area. |
+**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/ImportCsvRequestTableSourceConfig.md b/gooddata-api-client/docs/ImportCsvRequestTableSourceConfig.md
new file mode 100644
index 000000000..48a9a5eba
--- /dev/null
+++ b/gooddata-api-client/docs/ImportCsvRequestTableSourceConfig.md
@@ -0,0 +1,16 @@
+# ImportCsvRequestTableSourceConfig
+
+Config to use when accessing the data for executions, etc.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**column_date_formats** | **{str: (str,)}** | Date formats to use to use to read the given columns. | [optional]
+**convert_options** | [**CsvConvertOptions**](CsvConvertOptions.md) | | [optional]
+**parse_options** | [**CsvParseOptions**](CsvParseOptions.md) | | [optional]
+**read_options** | [**CsvReadOptions**](CsvReadOptions.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/ImportCsvResponse.md b/gooddata-api-client/docs/ImportCsvResponse.md
new file mode 100644
index 000000000..5c5aa4c58
--- /dev/null
+++ b/gooddata-api-client/docs/ImportCsvResponse.md
@@ -0,0 +1,14 @@
+# ImportCsvResponse
+
+Response containing the information about the imported CSV file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of the table the file was imported to. |
+**version** | **int** | Version the file was imported as. |
+**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/ImportGeoCollectionRequest.md b/gooddata-api-client/docs/ImportGeoCollectionRequest.md
new file mode 100644
index 000000000..0e2746d31
--- /dev/null
+++ b/gooddata-api-client/docs/ImportGeoCollectionRequest.md
@@ -0,0 +1,13 @@
+# ImportGeoCollectionRequest
+
+Request to import a geo collection file from the staging area.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location of the file in the staging area. |
+**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/ImportGeoCollectionResponse.md b/gooddata-api-client/docs/ImportGeoCollectionResponse.md
new file mode 100644
index 000000000..9f657c194
--- /dev/null
+++ b/gooddata-api-client/docs/ImportGeoCollectionResponse.md
@@ -0,0 +1,13 @@
+# ImportGeoCollectionResponse
+
+Response after successfully importing a geo collection.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**version** | **int** | The version of the imported geo collection. |
+**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/InsightWidgetDescriptor.md b/gooddata-api-client/docs/InsightWidgetDescriptor.md
new file mode 100644
index 000000000..dbda14ea6
--- /dev/null
+++ b/gooddata-api-client/docs/InsightWidgetDescriptor.md
@@ -0,0 +1,17 @@
+# InsightWidgetDescriptor
+
+Insight widget displaying a visualization.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**title** | **str** | Widget title as displayed on the dashboard. |
+**visualization_id** | **str** | Visualization object ID referenced by this insight widget. |
+**widget_id** | **str** | Widget object ID. |
+**widget_type** | **str** | |
+**result_id** | **str** | Signed result ID for this widget's cached execution result. | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/gooddata-api-client/docs/InsightWidgetDescriptorAllOf.md b/gooddata-api-client/docs/InsightWidgetDescriptorAllOf.md
new file mode 100644
index 000000000..2b1758c3a
--- /dev/null
+++ b/gooddata-api-client/docs/InsightWidgetDescriptorAllOf.md
@@ -0,0 +1,15 @@
+# InsightWidgetDescriptorAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**result_id** | **str** | Signed result ID for this widget's cached execution result. | [optional]
+**title** | **str** | Widget title as displayed on the dashboard. | [optional]
+**visualization_id** | **str** | Visualization object ID referenced by this insight widget. | [optional]
+**widget_id** | **str** | Widget object 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/JwkControllerApi.md b/gooddata-api-client/docs/JwkControllerApi.md
new file mode 100644
index 000000000..ff65fba27
--- /dev/null
+++ b/gooddata-api-client/docs/JwkControllerApi.md
@@ -0,0 +1,501 @@
+# gooddata_api_client.JwkControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_jwks**](JwkControllerApi.md#create_entity_jwks) | **POST** /api/v1/entities/jwks | Post Jwks
+[**delete_entity_jwks**](JwkControllerApi.md#delete_entity_jwks) | **DELETE** /api/v1/entities/jwks/{id} | Delete Jwk
+[**get_all_entities_jwks**](JwkControllerApi.md#get_all_entities_jwks) | **GET** /api/v1/entities/jwks | Get all Jwks
+[**get_entity_jwks**](JwkControllerApi.md#get_entity_jwks) | **GET** /api/v1/entities/jwks/{id} | Get Jwk
+[**patch_entity_jwks**](JwkControllerApi.md#patch_entity_jwks) | **PATCH** /api/v1/entities/jwks/{id} | Patch Jwk
+[**update_entity_jwks**](JwkControllerApi.md#update_entity_jwks) | **PUT** /api/v1/entities/jwks/{id} | Put Jwk
+
+
+# **create_entity_jwks**
+> JsonApiJwkOutDocument create_entity_jwks(json_api_jwk_in_document)
+
+Post Jwks
+
+Creates JSON web key - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_controller_api
+from gooddata_api_client.model.json_api_jwk_in_document import JsonApiJwkInDocument
+from gooddata_api_client.model.json_api_jwk_out_document import JsonApiJwkOutDocument
+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 = jwk_controller_api.JwkControllerApi(api_client)
+ json_api_jwk_in_document = JsonApiJwkInDocument(
+ data=JsonApiJwkIn(
+ attributes=JsonApiJwkInAttributes(
+ content=JsonApiJwkInAttributesContent(),
+ ),
+ id="id1",
+ type="jwk",
+ ),
+ ) # JsonApiJwkInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Jwks
+ api_response = api_instance.create_entity_jwks(json_api_jwk_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->create_entity_jwks: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **json_api_jwk_in_document** | [**JsonApiJwkInDocument**](JsonApiJwkInDocument.md)| |
+
+### Return type
+
+[**JsonApiJwkOutDocument**](JsonApiJwkOutDocument.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_jwks**
+> delete_entity_jwks(id)
+
+Delete Jwk
+
+Deletes JSON web key - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_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 = jwk_controller_api.JwkControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "content==JwkSpecificationValue" # 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 Jwk
+ api_instance.delete_entity_jwks(id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->delete_entity_jwks: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete Jwk
+ api_instance.delete_entity_jwks(id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->delete_entity_jwks: %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_jwks**
+> JsonApiJwkOutList get_all_entities_jwks()
+
+Get all Jwks
+
+Returns all JSON web keys - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_controller_api
+from gooddata_api_client.model.json_api_jwk_out_list import JsonApiJwkOutList
+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 = jwk_controller_api.JwkControllerApi(api_client)
+ filter = "content==JwkSpecificationValue" # 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 Jwks
+ api_response = api_instance.get_all_entities_jwks(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 JwkControllerApi->get_all_entities_jwks: %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
+
+[**JsonApiJwkOutList**](JsonApiJwkOutList.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_jwks**
+> JsonApiJwkOutDocument get_entity_jwks(id)
+
+Get Jwk
+
+Returns JSON web key - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_controller_api
+from gooddata_api_client.model.json_api_jwk_out_document import JsonApiJwkOutDocument
+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 = jwk_controller_api.JwkControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "content==JwkSpecificationValue" # 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 Jwk
+ api_response = api_instance.get_entity_jwks(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->get_entity_jwks: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Jwk
+ api_response = api_instance.get_entity_jwks(id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->get_entity_jwks: %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
+
+[**JsonApiJwkOutDocument**](JsonApiJwkOutDocument.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_jwks**
+> JsonApiJwkOutDocument patch_entity_jwks(id, json_api_jwk_patch_document)
+
+Patch Jwk
+
+Patches JSON web key - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_controller_api
+from gooddata_api_client.model.json_api_jwk_patch_document import JsonApiJwkPatchDocument
+from gooddata_api_client.model.json_api_jwk_out_document import JsonApiJwkOutDocument
+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 = jwk_controller_api.JwkControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_jwk_patch_document = JsonApiJwkPatchDocument(
+ data=JsonApiJwkPatch(
+ attributes=JsonApiJwkInAttributes(
+ content=JsonApiJwkInAttributesContent(),
+ ),
+ id="id1",
+ type="jwk",
+ ),
+ ) # JsonApiJwkPatchDocument |
+ filter = "content==JwkSpecificationValue" # 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 Jwk
+ api_response = api_instance.patch_entity_jwks(id, json_api_jwk_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->patch_entity_jwks: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch Jwk
+ api_response = api_instance.patch_entity_jwks(id, json_api_jwk_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->patch_entity_jwks: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_jwk_patch_document** | [**JsonApiJwkPatchDocument**](JsonApiJwkPatchDocument.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
+
+[**JsonApiJwkOutDocument**](JsonApiJwkOutDocument.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_jwks**
+> JsonApiJwkOutDocument update_entity_jwks(id, json_api_jwk_in_document)
+
+Put Jwk
+
+Updates JSON web key - used to verify JSON web tokens (Jwts)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import jwk_controller_api
+from gooddata_api_client.model.json_api_jwk_in_document import JsonApiJwkInDocument
+from gooddata_api_client.model.json_api_jwk_out_document import JsonApiJwkOutDocument
+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 = jwk_controller_api.JwkControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_jwk_in_document = JsonApiJwkInDocument(
+ data=JsonApiJwkIn(
+ attributes=JsonApiJwkInAttributes(
+ content=JsonApiJwkInAttributesContent(),
+ ),
+ id="id1",
+ type="jwk",
+ ),
+ ) # JsonApiJwkInDocument |
+ filter = "content==JwkSpecificationValue" # 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 Jwk
+ api_response = api_instance.update_entity_jwks(id, json_api_jwk_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->update_entity_jwks: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Jwk
+ api_response = api_instance.update_entity_jwks(id, json_api_jwk_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling JwkControllerApi->update_entity_jwks: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_jwk_in_document** | [**JsonApiJwkInDocument**](JsonApiJwkInDocument.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
+
+[**JsonApiJwkOutDocument**](JsonApiJwkOutDocument.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/LabelControllerApi.md b/gooddata-api-client/docs/LabelControllerApi.md
new file mode 100644
index 000000000..ef820851e
--- /dev/null
+++ b/gooddata-api-client/docs/LabelControllerApi.md
@@ -0,0 +1,392 @@
+# gooddata_api_client.LabelControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_entities_labels**](LabelControllerApi.md#get_all_entities_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels | Get all Labels
+[**get_entity_labels**](LabelControllerApi.md#get_entity_labels) | **GET** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Get a Label
+[**patch_entity_labels**](LabelControllerApi.md#patch_entity_labels) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/labels/{objectId} | Patch a Label (beta)
+[**search_entities_labels**](LabelControllerApi.md#search_entities_labels) | **POST** /api/v1/entities/workspaces/{workspaceId}/labels/search | The search endpoint (beta)
+
+
+# **get_all_entities_labels**
+> JsonApiLabelOutList get_all_entities_labels(workspace_id)
+
+Get all Labels
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import label_controller_api
+from gooddata_api_client.model.json_api_label_out_list import JsonApiLabelOutList
+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 = label_controller_api.LabelControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;attribute.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 = [
+ "attribute",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Labels
+ api_response = api_instance.get_all_entities_labels(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->get_all_entities_labels: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Labels
+ api_response = api_instance.get_all_entities_labels(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->get_all_entities_labels: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiLabelOutList**](JsonApiLabelOutList.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_labels**
+> JsonApiLabelOutDocument get_entity_labels(workspace_id, object_id)
+
+Get a Label
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import label_controller_api
+from gooddata_api_client.model.json_api_label_out_document import JsonApiLabelOutDocument
+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 = label_controller_api.LabelControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;attribute.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 = [
+ "attribute",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Label
+ api_response = api_instance.get_entity_labels(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->get_entity_labels: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Label
+ api_response = api_instance.get_entity_labels(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->get_entity_labels: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiLabelOutDocument**](JsonApiLabelOutDocument.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_labels**
+> JsonApiLabelOutDocument patch_entity_labels(workspace_id, object_id, json_api_label_patch_document)
+
+Patch a Label (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import label_controller_api
+from gooddata_api_client.model.json_api_label_patch_document import JsonApiLabelPatchDocument
+from gooddata_api_client.model.json_api_label_out_document import JsonApiLabelOutDocument
+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 = label_controller_api.LabelControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_label_patch_document = JsonApiLabelPatchDocument(
+ data=JsonApiLabelPatch(
+ attributes=JsonApiAttributePatchAttributes(
+ description="description_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="label",
+ ),
+ ) # JsonApiLabelPatchDocument |
+ filter = "title==someString;description==someString;attribute.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 = [
+ "attribute",
+ ] # [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
+ try:
+ # Patch a Label (beta)
+ api_response = api_instance.patch_entity_labels(workspace_id, object_id, json_api_label_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->patch_entity_labels: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Label (beta)
+ api_response = api_instance.patch_entity_labels(workspace_id, object_id, json_api_label_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->patch_entity_labels: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_label_patch_document** | [**JsonApiLabelPatchDocument**](JsonApiLabelPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiLabelOutDocument**](JsonApiLabelOutDocument.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)
+
+# **search_entities_labels**
+> JsonApiLabelOutList search_entities_labels(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import label_controller_api
+from gooddata_api_client.model.json_api_label_out_list import JsonApiLabelOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = label_controller_api.LabelControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_labels(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->search_entities_labels: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_labels(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling LabelControllerApi->search_entities_labels: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiLabelOutList**](JsonApiLabelOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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/ListLlmProviderModelsRequest.md b/gooddata-api-client/docs/ListLlmProviderModelsRequest.md
new file mode 100644
index 000000000..8432da2c1
--- /dev/null
+++ b/gooddata-api-client/docs/ListLlmProviderModelsRequest.md
@@ -0,0 +1,12 @@
+# ListLlmProviderModelsRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**provider_config** | [**ListLlmProviderModelsRequestProviderConfig**](ListLlmProviderModelsRequestProviderConfig.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/ListLlmProviderModelsRequestProviderConfig.md b/gooddata-api-client/docs/ListLlmProviderModelsRequestProviderConfig.md
new file mode 100644
index 000000000..7c86d8997
--- /dev/null
+++ b/gooddata-api-client/docs/ListLlmProviderModelsRequestProviderConfig.md
@@ -0,0 +1,17 @@
+# ListLlmProviderModelsRequestProviderConfig
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**base_url** | **str** | Custom base URL for OpenAI API. | [optional] if omitted the server will use the default value of "https://api.openai.com/v1"
+**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 OpenAI 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/ListLlmProviderModelsResponse.md b/gooddata-api-client/docs/ListLlmProviderModelsResponse.md
new file mode 100644
index 000000000..b3b81a65b
--- /dev/null
+++ b/gooddata-api-client/docs/ListLlmProviderModelsResponse.md
@@ -0,0 +1,14 @@
+# ListLlmProviderModelsResponse
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**message** | **str** | Message about the listing result. |
+**models** | [**[LlmModel]**](LlmModel.md) | Available models on the provider. |
+**success** | **bool** | Whether the model listing succeeded. |
+**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/MetricControllerApi.md b/gooddata-api-client/docs/MetricControllerApi.md
new file mode 100644
index 000000000..304f59e83
--- /dev/null
+++ b/gooddata-api-client/docs/MetricControllerApi.md
@@ -0,0 +1,688 @@
+# gooddata_api_client.MetricControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_metrics**](MetricControllerApi.md#create_entity_metrics) | **POST** /api/v1/entities/workspaces/{workspaceId}/metrics | Post Metrics
+[**delete_entity_metrics**](MetricControllerApi.md#delete_entity_metrics) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Delete a Metric
+[**get_all_entities_metrics**](MetricControllerApi.md#get_all_entities_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics | Get all Metrics
+[**get_entity_metrics**](MetricControllerApi.md#get_entity_metrics) | **GET** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Get a Metric
+[**patch_entity_metrics**](MetricControllerApi.md#patch_entity_metrics) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Patch a Metric
+[**search_entities_metrics**](MetricControllerApi.md#search_entities_metrics) | **POST** /api/v1/entities/workspaces/{workspaceId}/metrics/search | The search endpoint (beta)
+[**update_entity_metrics**](MetricControllerApi.md#update_entity_metrics) | **PUT** /api/v1/entities/workspaces/{workspaceId}/metrics/{objectId} | Put a Metric
+
+
+# **create_entity_metrics**
+> JsonApiMetricOutDocument create_entity_metrics(workspace_id, json_api_metric_post_optional_id_document)
+
+Post Metrics
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_post_optional_id_document import JsonApiMetricPostOptionalIdDocument
+from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_metric_post_optional_id_document = JsonApiMetricPostOptionalIdDocument(
+ data=JsonApiMetricPostOptionalId(
+ attributes=JsonApiMetricInAttributes(
+ are_relations_valid=True,
+ content=JsonApiMetricInAttributesContent(
+ format="format_example",
+ maql="maql_example",
+ metric_type="UNSPECIFIED",
+ ),
+ description="description_example",
+ is_hidden=True,
+ is_hidden_from_kda=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="metric",
+ ),
+ ) # JsonApiMetricPostOptionalIdDocument |
+ include = [
+ "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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Metrics
+ api_response = api_instance.create_entity_metrics(workspace_id, json_api_metric_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->create_entity_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Metrics
+ api_response = api_instance.create_entity_metrics(workspace_id, json_api_metric_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->create_entity_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_metric_post_optional_id_document** | [**JsonApiMetricPostOptionalIdDocument**](JsonApiMetricPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiMetricOutDocument**](JsonApiMetricOutDocument.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_metrics**
+> delete_entity_metrics(workspace_id, object_id)
+
+Delete a Metric
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a Metric
+ api_instance.delete_entity_metrics(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->delete_entity_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Metric
+ api_instance.delete_entity_metrics(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->delete_entity_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_metrics**
+> JsonApiMetricOutList get_all_entities_metrics(workspace_id)
+
+Get all Metrics
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_out_list import JsonApiMetricOutList
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Metrics
+ api_response = api_instance.get_all_entities_metrics(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->get_all_entities_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Metrics
+ api_response = api_instance.get_all_entities_metrics(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->get_all_entities_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiMetricOutList**](JsonApiMetricOutList.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_metrics**
+> JsonApiMetricOutDocument get_entity_metrics(workspace_id, object_id)
+
+Get a Metric
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Metric
+ api_response = api_instance.get_entity_metrics(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->get_entity_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Metric
+ api_response = api_instance.get_entity_metrics(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->get_entity_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiMetricOutDocument**](JsonApiMetricOutDocument.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_metrics**
+> JsonApiMetricOutDocument patch_entity_metrics(workspace_id, object_id, json_api_metric_patch_document)
+
+Patch a Metric
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_patch_document import JsonApiMetricPatchDocument
+from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_metric_patch_document = JsonApiMetricPatchDocument(
+ data=JsonApiMetricPatch(
+ attributes=JsonApiMetricPatchAttributes(
+ are_relations_valid=True,
+ content=JsonApiMetricInAttributesContent(
+ format="format_example",
+ maql="maql_example",
+ metric_type="UNSPECIFIED",
+ ),
+ description="description_example",
+ is_hidden=True,
+ is_hidden_from_kda=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="metric",
+ ),
+ ) # 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,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
+ try:
+ # Patch a Metric
+ api_response = api_instance.patch_entity_metrics(workspace_id, object_id, json_api_metric_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->patch_entity_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Metric
+ api_response = api_instance.patch_entity_metrics(workspace_id, object_id, json_api_metric_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->patch_entity_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_metric_patch_document** | [**JsonApiMetricPatchDocument**](JsonApiMetricPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiMetricOutDocument**](JsonApiMetricOutDocument.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)
+
+# **search_entities_metrics**
+> JsonApiMetricOutList search_entities_metrics(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_out_list import JsonApiMetricOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_metrics(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->search_entities_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_metrics(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->search_entities_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiMetricOutList**](JsonApiMetricOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_metrics**
+> JsonApiMetricOutDocument update_entity_metrics(workspace_id, object_id, json_api_metric_in_document)
+
+Put a Metric
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import metric_controller_api
+from gooddata_api_client.model.json_api_metric_in_document import JsonApiMetricInDocument
+from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument
+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 = metric_controller_api.MetricControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_metric_in_document = JsonApiMetricInDocument(
+ data=JsonApiMetricIn(
+ attributes=JsonApiMetricInAttributes(
+ are_relations_valid=True,
+ content=JsonApiMetricInAttributesContent(
+ format="format_example",
+ maql="maql_example",
+ metric_type="UNSPECIFIED",
+ ),
+ description="description_example",
+ is_hidden=True,
+ is_hidden_from_kda=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="metric",
+ ),
+ ) # 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,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
+ try:
+ # Put a Metric
+ api_response = api_instance.update_entity_metrics(workspace_id, object_id, json_api_metric_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->update_entity_metrics: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Metric
+ api_response = api_instance.update_entity_metrics(workspace_id, object_id, json_api_metric_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling MetricControllerApi->update_entity_metrics: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_metric_in_document** | [**JsonApiMetricInDocument**](JsonApiMetricInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiMetricOutDocument**](JsonApiMetricOutDocument.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/OGCAPIFeaturesApi.md b/gooddata-api-client/docs/OGCAPIFeaturesApi.md
new file mode 100644
index 000000000..4ae74c704
--- /dev/null
+++ b/gooddata-api-client/docs/OGCAPIFeaturesApi.md
@@ -0,0 +1,180 @@
+# gooddata_api_client.OGCAPIFeaturesApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_collection_items**](OGCAPIFeaturesApi.md#get_collection_items) | **GET** /api/v1/location/collections/{collectionId}/items | Get collection features
+[**get_custom_collection_items**](OGCAPIFeaturesApi.md#get_custom_collection_items) | **GET** /api/v1/location/custom/collections/{collectionId}/items | Get custom collection features
+
+
+# **get_collection_items**
+> GeoJsonFeatureCollection get_collection_items(collection_id)
+
+Get collection features
+
+Retrieve features from a GeoCollections collection as GeoJSON
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import ogcapi_features_api
+from gooddata_api_client.model.geo_json_feature_collection import GeoJsonFeatureCollection
+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 = ogcapi_features_api.OGCAPIFeaturesApi(api_client)
+ collection_id = "countries" # str | Collection identifier
+ limit = 100 # int | Maximum number of features to return (optional)
+ bbox = "-180,-90,180,90" # str | Bounding box filter (minx,miny,maxx,maxy) (optional)
+ values = [
+ "US,CA,MX",
+ ] # [str] | List of values to filter features by (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get collection features
+ api_response = api_instance.get_collection_items(collection_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OGCAPIFeaturesApi->get_collection_items: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get collection features
+ api_response = api_instance.get_collection_items(collection_id, limit=limit, bbox=bbox, values=values)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OGCAPIFeaturesApi->get_collection_items: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collection_id** | **str**| Collection identifier |
+ **limit** | **int**| Maximum number of features to return | [optional]
+ **bbox** | **str**| Bounding box filter (minx,miny,maxx,maxy) | [optional]
+ **values** | **[str]**| List of values to filter features by | [optional]
+
+### Return type
+
+[**GeoJsonFeatureCollection**](GeoJsonFeatureCollection.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: */*
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Features retrieved successfully | - |
+**404** | Collection not found | - |
+
+[[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_custom_collection_items**
+> GeoJsonFeatureCollection get_custom_collection_items(collection_id)
+
+Get custom collection features
+
+Retrieve features from a custom (organization-scoped) GeoCollections collection as GeoJSON
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import ogcapi_features_api
+from gooddata_api_client.model.geo_json_feature_collection import GeoJsonFeatureCollection
+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 = ogcapi_features_api.OGCAPIFeaturesApi(api_client)
+ collection_id = "my-custom-collection" # str | Collection identifier
+ limit = 100 # int | Maximum number of features to return (optional)
+ bbox = "-180,-90,180,90" # str | Bounding box filter (minx,miny,maxx,maxy) (optional)
+ values = [
+ "US,CA,MX",
+ ] # [str] | List of values to filter features by (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get custom collection features
+ api_response = api_instance.get_custom_collection_items(collection_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OGCAPIFeaturesApi->get_custom_collection_items: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get custom collection features
+ api_response = api_instance.get_custom_collection_items(collection_id, limit=limit, bbox=bbox, values=values)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OGCAPIFeaturesApi->get_custom_collection_items: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collection_id** | **str**| Collection identifier |
+ **limit** | **int**| Maximum number of features to return | [optional]
+ **bbox** | **str**| Bounding box filter (minx,miny,maxx,maxy) | [optional]
+ **values** | **[str]**| List of values to filter features by | [optional]
+
+### Return type
+
+[**GeoJsonFeatureCollection**](GeoJsonFeatureCollection.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: */*
+
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Features retrieved successfully | - |
+**404** | Collection not found | - |
+
+[[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/ObjectReference.md b/gooddata-api-client/docs/ObjectReference.md
new file mode 100644
index 000000000..a559f3bb5
--- /dev/null
+++ b/gooddata-api-client/docs/ObjectReference.md
@@ -0,0 +1,13 @@
+# ObjectReference
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Object identifier (e.g. widget ID, metric ID). |
+**type** | **str** | Type of the referenced object. |
+**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/ObjectReferenceGroup.md b/gooddata-api-client/docs/ObjectReferenceGroup.md
new file mode 100644
index 000000000..fdabb612f
--- /dev/null
+++ b/gooddata-api-client/docs/ObjectReferenceGroup.md
@@ -0,0 +1,13 @@
+# ObjectReferenceGroup
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**objects** | [**[ObjectReference]**](ObjectReference.md) | Objects the user explicitly referenced within this context. |
+**context** | [**ObjectReference**](ObjectReference.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/OrganizationCacheSettings.md b/gooddata-api-client/docs/OrganizationCacheSettings.md
new file mode 100644
index 000000000..56159c965
--- /dev/null
+++ b/gooddata-api-client/docs/OrganizationCacheSettings.md
@@ -0,0 +1,13 @@
+# OrganizationCacheSettings
+
+Settings for organization cache.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**extra_cache_budget** | **int** | Extra cache budget the organization can allocate among its workspaces, in bytes. |
+**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/OrganizationCacheUsage.md b/gooddata-api-client/docs/OrganizationCacheUsage.md
new file mode 100644
index 000000000..4263bbe07
--- /dev/null
+++ b/gooddata-api-client/docs/OrganizationCacheUsage.md
@@ -0,0 +1,15 @@
+# OrganizationCacheUsage
+
+Data about the whole organization's cache usage.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**current** | [**OrganizationCurrentCacheUsage**](OrganizationCurrentCacheUsage.md) | |
+**removal_intervals** | [**[CacheRemovalInterval]**](CacheRemovalInterval.md) | List of cache removal intervals. |
+**settings** | [**OrganizationCacheSettings**](OrganizationCacheSettings.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/OrganizationCurrentCacheUsage.md b/gooddata-api-client/docs/OrganizationCurrentCacheUsage.md
new file mode 100644
index 000000000..edef8764f
--- /dev/null
+++ b/gooddata-api-client/docs/OrganizationCurrentCacheUsage.md
@@ -0,0 +1,15 @@
+# OrganizationCurrentCacheUsage
+
+Current cache usage of the organization.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**cache_used** | **int** | Cache currently used by the organization, in bytes. |
+**removed_since_start** | **int** | Bytes removed since start due to insufficient cache. |
+**removal_period_start** | **datetime** | Start timestamp of removal period. | [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/OrganizationEntityControllerApi.md b/gooddata-api-client/docs/OrganizationEntityControllerApi.md
new file mode 100644
index 000000000..412aab308
--- /dev/null
+++ b/gooddata-api-client/docs/OrganizationEntityControllerApi.md
@@ -0,0 +1,303 @@
+# gooddata_api_client.OrganizationEntityControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_entity_organizations**](OrganizationEntityControllerApi.md#get_entity_organizations) | **GET** /api/v1/entities/admin/organizations/{id} | Get Organizations
+[**patch_entity_organizations**](OrganizationEntityControllerApi.md#patch_entity_organizations) | **PATCH** /api/v1/entities/admin/organizations/{id} | Patch Organization
+[**update_entity_organizations**](OrganizationEntityControllerApi.md#update_entity_organizations) | **PUT** /api/v1/entities/admin/organizations/{id} | Put Organization
+
+
+# **get_entity_organizations**
+> JsonApiOrganizationOutDocument get_entity_organizations(id)
+
+Get Organizations
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_entity_controller_api
+from gooddata_api_client.model.json_api_organization_out_document import JsonApiOrganizationOutDocument
+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_entity_controller_api.OrganizationEntityControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "name==someString;hostname==someString;bootstrapUser.id==321;bootstrapUserGroup.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 = [
+ "bootstrapUser,bootstrapUserGroup,identityProvider",
+ ] # [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,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get Organizations
+ api_response = api_instance.get_entity_organizations(id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->get_entity_organizations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get Organizations
+ api_response = api_instance.get_entity_organizations(id, filter=filter, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->get_entity_organizations: %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]
+ **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 type
+
+[**JsonApiOrganizationOutDocument**](JsonApiOrganizationOutDocument.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_organizations**
+> JsonApiOrganizationOutDocument patch_entity_organizations(id, json_api_organization_patch_document)
+
+Patch Organization
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_entity_controller_api
+from gooddata_api_client.model.json_api_organization_out_document import JsonApiOrganizationOutDocument
+from gooddata_api_client.model.json_api_organization_patch_document import JsonApiOrganizationPatchDocument
+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_entity_controller_api.OrganizationEntityControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_organization_patch_document = JsonApiOrganizationPatchDocument(
+ data=JsonApiOrganizationPatch(
+ attributes=JsonApiOrganizationInAttributes(
+ allowed_origins=[
+ "allowed_origins_example",
+ ],
+ early_access="early_access_example",
+ early_access_values=[
+ "early_access_values_example",
+ ],
+ hostname="hostname_example",
+ name="name_example",
+ ),
+ id="id1",
+ relationships=JsonApiOrganizationInRelationships(
+ identity_provider=JsonApiOrganizationInRelationshipsIdentityProvider(
+ data=JsonApiIdentityProviderToOneLinkage(None),
+ ),
+ ),
+ type="organization",
+ ),
+ ) # JsonApiOrganizationPatchDocument |
+ filter = "name==someString;hostname==someString;bootstrapUser.id==321;bootstrapUserGroup.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 = [
+ "bootstrapUser,bootstrapUserGroup,identityProvider",
+ ] # [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
+ try:
+ # Patch Organization
+ api_response = api_instance.patch_entity_organizations(id, json_api_organization_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->patch_entity_organizations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch Organization
+ api_response = api_instance.patch_entity_organizations(id, json_api_organization_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->patch_entity_organizations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_organization_patch_document** | [**JsonApiOrganizationPatchDocument**](JsonApiOrganizationPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiOrganizationOutDocument**](JsonApiOrganizationOutDocument.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_organizations**
+> JsonApiOrganizationOutDocument update_entity_organizations(id, json_api_organization_in_document)
+
+Put Organization
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import organization_entity_controller_api
+from gooddata_api_client.model.json_api_organization_out_document import JsonApiOrganizationOutDocument
+from gooddata_api_client.model.json_api_organization_in_document import JsonApiOrganizationInDocument
+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_entity_controller_api.OrganizationEntityControllerApi(api_client)
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_organization_in_document = JsonApiOrganizationInDocument(
+ data=JsonApiOrganizationIn(
+ attributes=JsonApiOrganizationInAttributes(
+ allowed_origins=[
+ "allowed_origins_example",
+ ],
+ early_access="early_access_example",
+ early_access_values=[
+ "early_access_values_example",
+ ],
+ hostname="hostname_example",
+ name="name_example",
+ ),
+ id="id1",
+ relationships=JsonApiOrganizationInRelationships(
+ identity_provider=JsonApiOrganizationInRelationshipsIdentityProvider(
+ data=JsonApiIdentityProviderToOneLinkage(None),
+ ),
+ ),
+ type="organization",
+ ),
+ ) # JsonApiOrganizationInDocument |
+ filter = "name==someString;hostname==someString;bootstrapUser.id==321;bootstrapUserGroup.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 = [
+ "bootstrapUser,bootstrapUserGroup,identityProvider",
+ ] # [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
+ try:
+ # Put Organization
+ api_response = api_instance.update_entity_organizations(id, json_api_organization_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->update_entity_organizations: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put Organization
+ api_response = api_instance.update_entity_organizations(id, json_api_organization_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling OrganizationEntityControllerApi->update_entity_organizations: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| |
+ **json_api_organization_in_document** | [**JsonApiOrganizationInDocument**](JsonApiOrganizationInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiOrganizationOutDocument**](JsonApiOrganizationOutDocument.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/ReadCsvFileManifestsRequest.md b/gooddata-api-client/docs/ReadCsvFileManifestsRequest.md
new file mode 100644
index 000000000..8ab382add
--- /dev/null
+++ b/gooddata-api-client/docs/ReadCsvFileManifestsRequest.md
@@ -0,0 +1,13 @@
+# ReadCsvFileManifestsRequest
+
+Request to read the manifests of the specified CSV files.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**manifest_requests** | [**[ReadCsvFileManifestsRequestItem]**](ReadCsvFileManifestsRequestItem.md) | Files to read the manifests for. |
+**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/ReadCsvFileManifestsRequestItem.md b/gooddata-api-client/docs/ReadCsvFileManifestsRequestItem.md
new file mode 100644
index 000000000..6f85b235e
--- /dev/null
+++ b/gooddata-api-client/docs/ReadCsvFileManifestsRequestItem.md
@@ -0,0 +1,14 @@
+# ReadCsvFileManifestsRequestItem
+
+Request to read the manifest of a single CSV file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**file_name** | **str** | Name of the CSV file to read the manifest for. |
+**version** | **int** | Optional version of the file to read the manifest for. If null or not specified, the latest version is read. | [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/ReadCsvFileManifestsResponse.md b/gooddata-api-client/docs/ReadCsvFileManifestsResponse.md
new file mode 100644
index 000000000..8819669cb
--- /dev/null
+++ b/gooddata-api-client/docs/ReadCsvFileManifestsResponse.md
@@ -0,0 +1,15 @@
+# ReadCsvFileManifestsResponse
+
+Describes the results of a CSV manifest read of a single file.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**manifest** | [**CsvManifestBody**](CsvManifestBody.md) | |
+**name** | **str** | Name of the file in the source data source. |
+**version** | **int** | Version of the file in the source data source. |
+**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/RichTextWidgetDescriptor.md b/gooddata-api-client/docs/RichTextWidgetDescriptor.md
new file mode 100644
index 000000000..e0b482541
--- /dev/null
+++ b/gooddata-api-client/docs/RichTextWidgetDescriptor.md
@@ -0,0 +1,15 @@
+# RichTextWidgetDescriptor
+
+Rich text widget displaying static content. Has no execution result.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**title** | **str** | Widget title as displayed on the dashboard. |
+**widget_id** | **str** | Widget object ID. |
+**widget_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/RichTextWidgetDescriptorAllOf.md b/gooddata-api-client/docs/RichTextWidgetDescriptorAllOf.md
new file mode 100644
index 000000000..06f207309
--- /dev/null
+++ b/gooddata-api-client/docs/RichTextWidgetDescriptorAllOf.md
@@ -0,0 +1,13 @@
+# RichTextWidgetDescriptorAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**title** | **str** | Widget title as displayed on the dashboard. | [optional]
+**widget_id** | **str** | Widget object 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/TestLlmProviderByIdRequest.md b/gooddata-api-client/docs/TestLlmProviderByIdRequest.md
new file mode 100644
index 000000000..a4b9e4929
--- /dev/null
+++ b/gooddata-api-client/docs/TestLlmProviderByIdRequest.md
@@ -0,0 +1,13 @@
+# TestLlmProviderByIdRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**models** | [**[LlmModel]**](LlmModel.md) | Models overrides. | [optional]
+**provider_config** | [**ListLlmProviderModelsRequestProviderConfig**](ListLlmProviderModelsRequestProviderConfig.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/ToolCallEventResult.md b/gooddata-api-client/docs/ToolCallEventResult.md
new file mode 100644
index 000000000..692f44653
--- /dev/null
+++ b/gooddata-api-client/docs/ToolCallEventResult.md
@@ -0,0 +1,15 @@
+# ToolCallEventResult
+
+Tool call events emitted during the agentic loop (only present when GEN_AI_YIELD_TOOL_CALL_EVENTS is enabled).
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**function_arguments** | **str** | JSON-encoded arguments passed to the tool function. |
+**function_name** | **str** | Name of the tool function that was called. |
+**result** | **str** | Result returned by the tool function. |
+**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/TrendingObjectItem.md b/gooddata-api-client/docs/TrendingObjectItem.md
new file mode 100644
index 000000000..ff577d66f
--- /dev/null
+++ b/gooddata-api-client/docs/TrendingObjectItem.md
@@ -0,0 +1,30 @@
+# TrendingObjectItem
+
+Trending analytics catalog objects
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Object ID. |
+**tags** | **[str]** | |
+**title** | **str** | Object title. |
+**type** | **str** | Object type, e.g. dashboard, visualization, metric. |
+**usage_count** | **int** | Number of times this object has been used/referenced. |
+**workspace_id** | **str** | Workspace ID the object belongs to. |
+**created_at** | **datetime** | Timestamp when object was created. | [optional]
+**created_by** | **str** | ID of the user who created the object. | [optional]
+**dataset_id** | **str** | ID of the associated dataset, if applicable. | [optional]
+**dataset_title** | **str** | Title of the associated dataset, if applicable. | [optional]
+**dataset_type** | **str** | Type of the associated dataset, if applicable. | [optional]
+**description** | **str** | Object description. | [optional]
+**is_hidden** | **bool** | If true, this object is hidden from AI search results by default. | [optional]
+**is_hidden_from_kda** | **bool** | If true, this object is hidden from KDA. | [optional]
+**metric_type** | **str** | Type of the metric (e.g. MAQL), if applicable. | [optional]
+**modified_at** | **datetime** | Timestamp when object was last modified. | [optional]
+**modified_by** | **str** | ID of the user who last modified the object. | [optional]
+**visualization_url** | **str** | URL of the visualization, if applicable. | [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/TrendingObjectsResult.md b/gooddata-api-client/docs/TrendingObjectsResult.md
new file mode 100644
index 000000000..8c33e779f
--- /dev/null
+++ b/gooddata-api-client/docs/TrendingObjectsResult.md
@@ -0,0 +1,12 @@
+# TrendingObjectsResult
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**objects** | [**[TrendingObjectItem]**](TrendingObjectItem.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/UIContext.md b/gooddata-api-client/docs/UIContext.md
new file mode 100644
index 000000000..35c989c34
--- /dev/null
+++ b/gooddata-api-client/docs/UIContext.md
@@ -0,0 +1,13 @@
+# UIContext
+
+Ambient UI state: what the user is currently looking at (dashboard, visible widgets).
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**dashboard** | [**DashboardContext**](DashboardContext.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/UploadFileResponse.md b/gooddata-api-client/docs/UploadFileResponse.md
new file mode 100644
index 000000000..901d8ef7e
--- /dev/null
+++ b/gooddata-api-client/docs/UploadFileResponse.md
@@ -0,0 +1,13 @@
+# UploadFileResponse
+
+Information related to the file uploaded to the staging area.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location to use when referencing the uploaded file in subsequent requests. |
+**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/UploadGeoCollectionFileResponse.md b/gooddata-api-client/docs/UploadGeoCollectionFileResponse.md
new file mode 100644
index 000000000..4a5b03e60
--- /dev/null
+++ b/gooddata-api-client/docs/UploadGeoCollectionFileResponse.md
@@ -0,0 +1,13 @@
+# UploadGeoCollectionFileResponse
+
+Information related to the geo collection file uploaded to the staging area.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**location** | **str** | Location to use when referencing the uploaded file in subsequent requests. |
+**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/UserDataFilterControllerApi.md b/gooddata-api-client/docs/UserDataFilterControllerApi.md
new file mode 100644
index 000000000..494cf1cff
--- /dev/null
+++ b/gooddata-api-client/docs/UserDataFilterControllerApi.md
@@ -0,0 +1,694 @@
+# gooddata_api_client.UserDataFilterControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_user_data_filters**](UserDataFilterControllerApi.md#create_entity_user_data_filters) | **POST** /api/v1/entities/workspaces/{workspaceId}/userDataFilters | Post User Data Filters
+[**delete_entity_user_data_filters**](UserDataFilterControllerApi.md#delete_entity_user_data_filters) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Delete a User Data Filter
+[**get_all_entities_user_data_filters**](UserDataFilterControllerApi.md#get_all_entities_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters | Get all User Data Filters
+[**get_entity_user_data_filters**](UserDataFilterControllerApi.md#get_entity_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Get a User Data Filter
+[**patch_entity_user_data_filters**](UserDataFilterControllerApi.md#patch_entity_user_data_filters) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Patch a User Data Filter
+[**search_entities_user_data_filters**](UserDataFilterControllerApi.md#search_entities_user_data_filters) | **POST** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/search | The search endpoint (beta)
+[**update_entity_user_data_filters**](UserDataFilterControllerApi.md#update_entity_user_data_filters) | **PUT** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Put a User Data Filter
+
+
+# **create_entity_user_data_filters**
+> JsonApiUserDataFilterOutDocument create_entity_user_data_filters(workspace_id, json_api_user_data_filter_post_optional_id_document)
+
+Post User Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_document import JsonApiUserDataFilterOutDocument
+from gooddata_api_client.model.json_api_user_data_filter_post_optional_id_document import JsonApiUserDataFilterPostOptionalIdDocument
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_user_data_filter_post_optional_id_document = JsonApiUserDataFilterPostOptionalIdDocument(
+ data=JsonApiUserDataFilterPostOptionalId(
+ attributes=JsonApiUserDataFilterInAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ maql="maql_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiUserDataFilterInRelationships(
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ user_group=JsonApiOrganizationOutRelationshipsBootstrapUserGroup(
+ data=JsonApiUserGroupToOneLinkage(None),
+ ),
+ ),
+ type="userDataFilter",
+ ),
+ ) # JsonApiUserDataFilterPostOptionalIdDocument |
+ include = [
+ "user,userGroup,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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post User Data Filters
+ api_response = api_instance.create_entity_user_data_filters(workspace_id, json_api_user_data_filter_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->create_entity_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post User Data Filters
+ api_response = api_instance.create_entity_user_data_filters(workspace_id, json_api_user_data_filter_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->create_entity_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_user_data_filter_post_optional_id_document** | [**JsonApiUserDataFilterPostOptionalIdDocument**](JsonApiUserDataFilterPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiUserDataFilterOutDocument**](JsonApiUserDataFilterOutDocument.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_user_data_filters**
+> delete_entity_user_data_filters(workspace_id, object_id)
+
+Delete a User Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;user.id==321;userGroup.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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a User Data Filter
+ api_instance.delete_entity_user_data_filters(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->delete_entity_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a User Data Filter
+ api_instance.delete_entity_user_data_filters(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->delete_entity_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_user_data_filters**
+> JsonApiUserDataFilterOutList get_all_entities_user_data_filters(workspace_id)
+
+Get all User Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_list import JsonApiUserDataFilterOutList
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;user.id==321;userGroup.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 = [
+ "user,userGroup,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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all User Data Filters
+ api_response = api_instance.get_all_entities_user_data_filters(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->get_all_entities_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all User Data Filters
+ api_response = api_instance.get_all_entities_user_data_filters(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->get_all_entities_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiUserDataFilterOutList**](JsonApiUserDataFilterOutList.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_user_data_filters**
+> JsonApiUserDataFilterOutDocument get_entity_user_data_filters(workspace_id, object_id)
+
+Get a User Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_document import JsonApiUserDataFilterOutDocument
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;user.id==321;userGroup.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 = [
+ "user,userGroup,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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a User Data Filter
+ api_response = api_instance.get_entity_user_data_filters(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->get_entity_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a User Data Filter
+ api_response = api_instance.get_entity_user_data_filters(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->get_entity_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiUserDataFilterOutDocument**](JsonApiUserDataFilterOutDocument.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_user_data_filters**
+> JsonApiUserDataFilterOutDocument patch_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_patch_document)
+
+Patch a User Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_document import JsonApiUserDataFilterOutDocument
+from gooddata_api_client.model.json_api_user_data_filter_patch_document import JsonApiUserDataFilterPatchDocument
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_user_data_filter_patch_document = JsonApiUserDataFilterPatchDocument(
+ data=JsonApiUserDataFilterPatch(
+ attributes=JsonApiUserDataFilterPatchAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ maql="maql_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiUserDataFilterInRelationships(
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ user_group=JsonApiOrganizationOutRelationshipsBootstrapUserGroup(
+ data=JsonApiUserGroupToOneLinkage(None),
+ ),
+ ),
+ type="userDataFilter",
+ ),
+ ) # JsonApiUserDataFilterPatchDocument |
+ filter = "title==someString;description==someString;user.id==321;userGroup.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 = [
+ "user,userGroup,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
+ try:
+ # Patch a User Data Filter
+ api_response = api_instance.patch_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->patch_entity_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a User Data Filter
+ api_response = api_instance.patch_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->patch_entity_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_user_data_filter_patch_document** | [**JsonApiUserDataFilterPatchDocument**](JsonApiUserDataFilterPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiUserDataFilterOutDocument**](JsonApiUserDataFilterOutDocument.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)
+
+# **search_entities_user_data_filters**
+> JsonApiUserDataFilterOutList search_entities_user_data_filters(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_list import JsonApiUserDataFilterOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_user_data_filters(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->search_entities_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_user_data_filters(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->search_entities_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiUserDataFilterOutList**](JsonApiUserDataFilterOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_user_data_filters**
+> JsonApiUserDataFilterOutDocument update_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_in_document)
+
+Put a User Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_data_filter_controller_api
+from gooddata_api_client.model.json_api_user_data_filter_out_document import JsonApiUserDataFilterOutDocument
+from gooddata_api_client.model.json_api_user_data_filter_in_document import JsonApiUserDataFilterInDocument
+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 = user_data_filter_controller_api.UserDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_user_data_filter_in_document = JsonApiUserDataFilterInDocument(
+ data=JsonApiUserDataFilterIn(
+ attributes=JsonApiUserDataFilterInAttributes(
+ are_relations_valid=True,
+ description="description_example",
+ maql="maql_example",
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiUserDataFilterInRelationships(
+ user=JsonApiFilterViewInRelationshipsUser(
+ data=JsonApiUserToOneLinkage(None),
+ ),
+ user_group=JsonApiOrganizationOutRelationshipsBootstrapUserGroup(
+ data=JsonApiUserGroupToOneLinkage(None),
+ ),
+ ),
+ type="userDataFilter",
+ ),
+ ) # JsonApiUserDataFilterInDocument |
+ filter = "title==someString;description==someString;user.id==321;userGroup.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 = [
+ "user,userGroup,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
+ try:
+ # Put a User Data Filter
+ api_response = api_instance.update_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->update_entity_user_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a User Data Filter
+ api_response = api_instance.update_entity_user_data_filters(workspace_id, object_id, json_api_user_data_filter_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserDataFilterControllerApi->update_entity_user_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_user_data_filter_in_document** | [**JsonApiUserDataFilterInDocument**](JsonApiUserDataFilterInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiUserDataFilterOutDocument**](JsonApiUserDataFilterOutDocument.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/UserSettingControllerApi.md b/gooddata-api-client/docs/UserSettingControllerApi.md
new file mode 100644
index 000000000..f490be11e
--- /dev/null
+++ b/gooddata-api-client/docs/UserSettingControllerApi.md
@@ -0,0 +1,421 @@
+# gooddata_api_client.UserSettingControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_user_settings**](UserSettingControllerApi.md#create_entity_user_settings) | **POST** /api/v1/entities/users/{userId}/userSettings | Post new user settings for the user
+[**delete_entity_user_settings**](UserSettingControllerApi.md#delete_entity_user_settings) | **DELETE** /api/v1/entities/users/{userId}/userSettings/{id} | Delete a setting for a user
+[**get_all_entities_user_settings**](UserSettingControllerApi.md#get_all_entities_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings | List all settings for a user
+[**get_entity_user_settings**](UserSettingControllerApi.md#get_entity_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings/{id} | Get a setting for a user
+[**update_entity_user_settings**](UserSettingControllerApi.md#update_entity_user_settings) | **PUT** /api/v1/entities/users/{userId}/userSettings/{id} | Put new user settings for the user
+
+
+# **create_entity_user_settings**
+> JsonApiUserSettingOutDocument create_entity_user_settings(user_id, json_api_user_setting_in_document)
+
+Post new user settings for the user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_setting_controller_api
+from gooddata_api_client.model.json_api_user_setting_out_document import JsonApiUserSettingOutDocument
+from gooddata_api_client.model.json_api_user_setting_in_document import JsonApiUserSettingInDocument
+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 = user_setting_controller_api.UserSettingControllerApi(api_client)
+ user_id = "userId_example" # str |
+ json_api_user_setting_in_document = JsonApiUserSettingInDocument(
+ data=JsonApiUserSettingIn(
+ attributes=JsonApiOrganizationSettingInAttributes(
+ content={},
+ type="TIMEZONE",
+ ),
+ id="id1",
+ type="userSetting",
+ ),
+ ) # JsonApiUserSettingInDocument |
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post new user settings for the user
+ api_response = api_instance.create_entity_user_settings(user_id, json_api_user_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->create_entity_user_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **json_api_user_setting_in_document** | [**JsonApiUserSettingInDocument**](JsonApiUserSettingInDocument.md)| |
+
+### Return type
+
+[**JsonApiUserSettingOutDocument**](JsonApiUserSettingOutDocument.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_user_settings**
+> delete_entity_user_settings(user_id, id)
+
+Delete a setting for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_setting_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 = user_setting_controller_api.UserSettingControllerApi(api_client)
+ user_id = "userId_example" # str |
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 a setting for a user
+ api_instance.delete_entity_user_settings(user_id, id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->delete_entity_user_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a setting for a user
+ api_instance.delete_entity_user_settings(user_id, id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->delete_entity_user_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **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_user_settings**
+> JsonApiUserSettingOutList get_all_entities_user_settings(user_id)
+
+List all settings for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_setting_controller_api
+from gooddata_api_client.model.json_api_user_setting_out_list import JsonApiUserSettingOutList
+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 = user_setting_controller_api.UserSettingControllerApi(api_client)
+ user_id = "userId_example" # str |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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
+ try:
+ # List all settings for a user
+ api_response = api_instance.get_all_entities_user_settings(user_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->get_all_entities_user_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # List all settings for a user
+ api_response = api_instance.get_all_entities_user_settings(user_id, 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 UserSettingControllerApi->get_all_entities_user_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_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]
+ **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
+
+[**JsonApiUserSettingOutList**](JsonApiUserSettingOutList.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_user_settings**
+> JsonApiUserSettingOutDocument get_entity_user_settings(user_id, id)
+
+Get a setting for a user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_setting_controller_api
+from gooddata_api_client.model.json_api_user_setting_out_document import JsonApiUserSettingOutDocument
+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 = user_setting_controller_api.UserSettingControllerApi(api_client)
+ user_id = "userId_example" # str |
+ id = "/6bUUGjjNSwg0_bs" # str |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 a setting for a user
+ api_response = api_instance.get_entity_user_settings(user_id, id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->get_entity_user_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a setting for a user
+ api_response = api_instance.get_entity_user_settings(user_id, id, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->get_entity_user_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **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
+
+[**JsonApiUserSettingOutDocument**](JsonApiUserSettingOutDocument.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)
+
+# **update_entity_user_settings**
+> JsonApiUserSettingOutDocument update_entity_user_settings(user_id, id, json_api_user_setting_in_document)
+
+Put new user settings for the user
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import user_setting_controller_api
+from gooddata_api_client.model.json_api_user_setting_out_document import JsonApiUserSettingOutDocument
+from gooddata_api_client.model.json_api_user_setting_in_document import JsonApiUserSettingInDocument
+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 = user_setting_controller_api.UserSettingControllerApi(api_client)
+ user_id = "userId_example" # str |
+ id = "/6bUUGjjNSwg0_bs" # str |
+ json_api_user_setting_in_document = JsonApiUserSettingInDocument(
+ data=JsonApiUserSettingIn(
+ attributes=JsonApiOrganizationSettingInAttributes(
+ content={},
+ type="TIMEZONE",
+ ),
+ id="id1",
+ type="userSetting",
+ ),
+ ) # JsonApiUserSettingInDocument |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 new user settings for the user
+ api_response = api_instance.update_entity_user_settings(user_id, id, json_api_user_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->update_entity_user_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put new user settings for the user
+ api_response = api_instance.update_entity_user_settings(user_id, id, json_api_user_setting_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling UserSettingControllerApi->update_entity_user_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **user_id** | **str**| |
+ **id** | **str**| |
+ **json_api_user_setting_in_document** | [**JsonApiUserSettingInDocument**](JsonApiUserSettingInDocument.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
+
+[**JsonApiUserSettingOutDocument**](JsonApiUserSettingOutDocument.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/VisualizationObjectControllerApi.md b/gooddata-api-client/docs/VisualizationObjectControllerApi.md
new file mode 100644
index 000000000..cd9e75ea9
--- /dev/null
+++ b/gooddata-api-client/docs/VisualizationObjectControllerApi.md
@@ -0,0 +1,673 @@
+# gooddata_api_client.VisualizationObjectControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_visualization_objects**](VisualizationObjectControllerApi.md#create_entity_visualization_objects) | **POST** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects | Post Visualization Objects
+[**delete_entity_visualization_objects**](VisualizationObjectControllerApi.md#delete_entity_visualization_objects) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Delete a Visualization Object
+[**get_all_entities_visualization_objects**](VisualizationObjectControllerApi.md#get_all_entities_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects | Get all Visualization Objects
+[**get_entity_visualization_objects**](VisualizationObjectControllerApi.md#get_entity_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Get a Visualization Object
+[**patch_entity_visualization_objects**](VisualizationObjectControllerApi.md#patch_entity_visualization_objects) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Patch a Visualization Object
+[**search_entities_visualization_objects**](VisualizationObjectControllerApi.md#search_entities_visualization_objects) | **POST** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/search | The search endpoint (beta)
+[**update_entity_visualization_objects**](VisualizationObjectControllerApi.md#update_entity_visualization_objects) | **PUT** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Put a Visualization Object
+
+
+# **create_entity_visualization_objects**
+> JsonApiVisualizationObjectOutDocument create_entity_visualization_objects(workspace_id, json_api_visualization_object_post_optional_id_document)
+
+Post Visualization Objects
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_document import JsonApiVisualizationObjectOutDocument
+from gooddata_api_client.model.json_api_visualization_object_post_optional_id_document import JsonApiVisualizationObjectPostOptionalIdDocument
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_visualization_object_post_optional_id_document = JsonApiVisualizationObjectPostOptionalIdDocument(
+ data=JsonApiVisualizationObjectPostOptionalId(
+ attributes=JsonApiVisualizationObjectInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_hidden=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="visualizationObject",
+ ),
+ ) # JsonApiVisualizationObjectPostOptionalIdDocument |
+ include = [
+ "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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Visualization Objects
+ api_response = api_instance.create_entity_visualization_objects(workspace_id, json_api_visualization_object_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->create_entity_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Visualization Objects
+ api_response = api_instance.create_entity_visualization_objects(workspace_id, json_api_visualization_object_post_optional_id_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->create_entity_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_visualization_object_post_optional_id_document** | [**JsonApiVisualizationObjectPostOptionalIdDocument**](JsonApiVisualizationObjectPostOptionalIdDocument.md)| |
+ **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 type
+
+[**JsonApiVisualizationObjectOutDocument**](JsonApiVisualizationObjectOutDocument.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_visualization_objects**
+> delete_entity_visualization_objects(workspace_id, object_id)
+
+Delete a Visualization Object
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a Visualization Object
+ api_instance.delete_entity_visualization_objects(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->delete_entity_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Visualization Object
+ api_instance.delete_entity_visualization_objects(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->delete_entity_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_visualization_objects**
+> JsonApiVisualizationObjectOutList get_all_entities_visualization_objects(workspace_id)
+
+Get all Visualization Objects
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_list import JsonApiVisualizationObjectOutList
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Visualization Objects
+ api_response = api_instance.get_all_entities_visualization_objects(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->get_all_entities_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Visualization Objects
+ api_response = api_instance.get_all_entities_visualization_objects(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->get_all_entities_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiVisualizationObjectOutList**](JsonApiVisualizationObjectOutList.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_visualization_objects**
+> JsonApiVisualizationObjectOutDocument get_entity_visualization_objects(workspace_id, object_id)
+
+Get a Visualization Object
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_document import JsonApiVisualizationObjectOutDocument
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ 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,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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Visualization Object
+ api_response = api_instance.get_entity_visualization_objects(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->get_entity_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Visualization Object
+ api_response = api_instance.get_entity_visualization_objects(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->get_entity_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiVisualizationObjectOutDocument**](JsonApiVisualizationObjectOutDocument.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_visualization_objects**
+> JsonApiVisualizationObjectOutDocument patch_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_patch_document)
+
+Patch a Visualization Object
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_document import JsonApiVisualizationObjectOutDocument
+from gooddata_api_client.model.json_api_visualization_object_patch_document import JsonApiVisualizationObjectPatchDocument
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_visualization_object_patch_document = JsonApiVisualizationObjectPatchDocument(
+ data=JsonApiVisualizationObjectPatch(
+ attributes=JsonApiVisualizationObjectPatchAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_hidden=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="visualizationObject",
+ ),
+ ) # 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,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
+ try:
+ # Patch a Visualization Object
+ api_response = api_instance.patch_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->patch_entity_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Visualization Object
+ api_response = api_instance.patch_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->patch_entity_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_visualization_object_patch_document** | [**JsonApiVisualizationObjectPatchDocument**](JsonApiVisualizationObjectPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiVisualizationObjectOutDocument**](JsonApiVisualizationObjectOutDocument.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)
+
+# **search_entities_visualization_objects**
+> JsonApiVisualizationObjectOutList search_entities_visualization_objects(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_list import JsonApiVisualizationObjectOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_visualization_objects(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->search_entities_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_visualization_objects(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->search_entities_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiVisualizationObjectOutList**](JsonApiVisualizationObjectOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_visualization_objects**
+> JsonApiVisualizationObjectOutDocument update_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_in_document)
+
+Put a Visualization Object
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import visualization_object_controller_api
+from gooddata_api_client.model.json_api_visualization_object_out_document import JsonApiVisualizationObjectOutDocument
+from gooddata_api_client.model.json_api_visualization_object_in_document import JsonApiVisualizationObjectInDocument
+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 = visualization_object_controller_api.VisualizationObjectControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_visualization_object_in_document = JsonApiVisualizationObjectInDocument(
+ data=JsonApiVisualizationObjectIn(
+ attributes=JsonApiVisualizationObjectInAttributes(
+ are_relations_valid=True,
+ content={},
+ description="description_example",
+ is_hidden=True,
+ tags=[
+ "tags_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ type="visualizationObject",
+ ),
+ ) # 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,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
+ try:
+ # Put a Visualization Object
+ api_response = api_instance.update_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->update_entity_visualization_objects: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Visualization Object
+ api_response = api_instance.update_entity_visualization_objects(workspace_id, object_id, json_api_visualization_object_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling VisualizationObjectControllerApi->update_entity_visualization_objects: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_visualization_object_in_document** | [**JsonApiVisualizationObjectInDocument**](JsonApiVisualizationObjectInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiVisualizationObjectOutDocument**](JsonApiVisualizationObjectOutDocument.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/VisualizationSwitcherWidgetDescriptor.md b/gooddata-api-client/docs/VisualizationSwitcherWidgetDescriptor.md
new file mode 100644
index 000000000..14833c12c
--- /dev/null
+++ b/gooddata-api-client/docs/VisualizationSwitcherWidgetDescriptor.md
@@ -0,0 +1,18 @@
+# VisualizationSwitcherWidgetDescriptor
+
+Visualization switcher widget allowing users to toggle between multiple visualizations.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**active_visualization_id** | **str** | ID of the currently active visualization in the switcher. |
+**title** | **str** | Widget title as displayed on the dashboard. |
+**visualization_ids** | **[str]** | IDs of all visualizations available in the switcher. |
+**widget_id** | **str** | Widget object ID. |
+**widget_type** | **str** | |
+**result_id** | **str** | Signed result ID for the currently active visualization's execution result. | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/gooddata-api-client/docs/VisualizationSwitcherWidgetDescriptorAllOf.md b/gooddata-api-client/docs/VisualizationSwitcherWidgetDescriptorAllOf.md
new file mode 100644
index 000000000..6a1a2e592
--- /dev/null
+++ b/gooddata-api-client/docs/VisualizationSwitcherWidgetDescriptorAllOf.md
@@ -0,0 +1,16 @@
+# VisualizationSwitcherWidgetDescriptorAllOf
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**active_visualization_id** | **str** | ID of the currently active visualization in the switcher. | [optional]
+**result_id** | **str** | Signed result ID for the currently active visualization's execution result. | [optional]
+**title** | **str** | Widget title as displayed on the dashboard. | [optional]
+**visualization_ids** | **[str]** | IDs of all visualizations available in the switcher. | [optional]
+**widget_id** | **str** | Widget object 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/WidgetDescriptor.md b/gooddata-api-client/docs/WidgetDescriptor.md
new file mode 100644
index 000000000..2a88d122d
--- /dev/null
+++ b/gooddata-api-client/docs/WidgetDescriptor.md
@@ -0,0 +1,15 @@
+# WidgetDescriptor
+
+Descriptor for a widget on the dashboard.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**title** | **str** | |
+**widget_id** | **str** | |
+**widget_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/WorkspaceCacheSettings.md b/gooddata-api-client/docs/WorkspaceCacheSettings.md
new file mode 100644
index 000000000..cdaf219b5
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceCacheSettings.md
@@ -0,0 +1,13 @@
+# WorkspaceCacheSettings
+
+Cache settings for the workspace.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**extra_cache** | **int** | Extra cache for the workspace, in bytes. |
+**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/WorkspaceCacheUsage.md b/gooddata-api-client/docs/WorkspaceCacheUsage.md
new file mode 100644
index 000000000..206f58e5d
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceCacheUsage.md
@@ -0,0 +1,15 @@
+# WorkspaceCacheUsage
+
+Data about a particular workspace cache usage.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**current** | [**WorkspaceCurrentCacheUsage**](WorkspaceCurrentCacheUsage.md) | |
+**removal_intervals** | [**[CacheRemovalInterval]**](CacheRemovalInterval.md) | List of cache removal intervals for workspace. |
+**settings** | [**WorkspaceCacheSettings**](WorkspaceCacheSettings.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/WorkspaceCurrentCacheUsage.md b/gooddata-api-client/docs/WorkspaceCurrentCacheUsage.md
new file mode 100644
index 000000000..3f35ad54f
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceCurrentCacheUsage.md
@@ -0,0 +1,16 @@
+# WorkspaceCurrentCacheUsage
+
+Current cache usage of the workspace.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**cache_available** | **int** | Cache available for the workspace. |
+**cache_used** | **int** | Cache used by the workspace. |
+**removal_period_start** | **datetime** | Start timestamp of removal period for the workspace. |
+**removed_since_start** | **int** | Bytes removed since start due to insufficient cache for the workspace. |
+**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/WorkspaceDataFilterControllerApi.md b/gooddata-api-client/docs/WorkspaceDataFilterControllerApi.md
new file mode 100644
index 000000000..85f4a6655
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceDataFilterControllerApi.md
@@ -0,0 +1,688 @@
+# gooddata_api_client.WorkspaceDataFilterControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#create_entity_workspace_data_filters) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters | Post Workspace Data Filters
+[**delete_entity_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#delete_entity_workspace_data_filters) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId} | Delete a Workspace Data Filter
+[**get_all_entities_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#get_all_entities_workspace_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters | Get all Workspace Data Filters
+[**get_entity_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#get_entity_workspace_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId} | Get a Workspace Data Filter
+[**patch_entity_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#patch_entity_workspace_data_filters) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId} | Patch a Workspace Data Filter
+[**search_entities_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#search_entities_workspace_data_filters) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/search | The search endpoint (beta)
+[**update_entity_workspace_data_filters**](WorkspaceDataFilterControllerApi.md#update_entity_workspace_data_filters) | **PUT** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId} | Put a Workspace Data Filter
+
+
+# **create_entity_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutDocument create_entity_workspace_data_filters(workspace_id, json_api_workspace_data_filter_in_document)
+
+Post Workspace Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_document import JsonApiWorkspaceDataFilterOutDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_in_document import JsonApiWorkspaceDataFilterInDocument
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_workspace_data_filter_in_document = JsonApiWorkspaceDataFilterInDocument(
+ data=JsonApiWorkspaceDataFilterIn(
+ attributes=JsonApiWorkspaceDataFilterInAttributes(
+ column_name="column_name_example",
+ description="description_example",
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterInRelationships(
+ filter_settings=JsonApiWorkspaceDataFilterInRelationshipsFilterSettings(
+ data=JsonApiWorkspaceDataFilterSettingToManyLinkage([
+ JsonApiWorkspaceDataFilterSettingLinkage(
+ id="id_example",
+ type="workspaceDataFilterSetting",
+ ),
+ ]),
+ ),
+ ),
+ type="workspaceDataFilter",
+ ),
+ ) # JsonApiWorkspaceDataFilterInDocument |
+ include = [
+ "filterSettings",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Workspace Data Filters
+ api_response = api_instance.create_entity_workspace_data_filters(workspace_id, json_api_workspace_data_filter_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->create_entity_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Workspace Data Filters
+ api_response = api_instance.create_entity_workspace_data_filters(workspace_id, json_api_workspace_data_filter_in_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->create_entity_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_workspace_data_filter_in_document** | [**JsonApiWorkspaceDataFilterInDocument**](JsonApiWorkspaceDataFilterInDocument.md)| |
+ **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 type
+
+[**JsonApiWorkspaceDataFilterOutDocument**](JsonApiWorkspaceDataFilterOutDocument.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_workspace_data_filters**
+> delete_entity_workspace_data_filters(workspace_id, object_id)
+
+Delete a Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==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 a Workspace Data Filter
+ api_instance.delete_entity_workspace_data_filters(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->delete_entity_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Workspace Data Filter
+ api_instance.delete_entity_workspace_data_filters(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->delete_entity_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutList get_all_entities_workspace_data_filters(workspace_id)
+
+Get all Workspace Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_list import JsonApiWorkspaceDataFilterOutList
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==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)
+ include = [
+ "filterSettings",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Workspace Data Filters
+ api_response = api_instance.get_all_entities_workspace_data_filters(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->get_all_entities_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Workspace Data Filters
+ api_response = api_instance.get_all_entities_workspace_data_filters(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->get_all_entities_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiWorkspaceDataFilterOutList**](JsonApiWorkspaceDataFilterOutList.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_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutDocument get_entity_workspace_data_filters(workspace_id, object_id)
+
+Get a Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_document import JsonApiWorkspaceDataFilterOutDocument
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==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)
+ include = [
+ "filterSettings",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Workspace Data Filter
+ api_response = api_instance.get_entity_workspace_data_filters(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->get_entity_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Workspace Data Filter
+ api_response = api_instance.get_entity_workspace_data_filters(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->get_entity_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiWorkspaceDataFilterOutDocument**](JsonApiWorkspaceDataFilterOutDocument.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_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutDocument patch_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_patch_document)
+
+Patch a Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_document import JsonApiWorkspaceDataFilterOutDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_patch_document import JsonApiWorkspaceDataFilterPatchDocument
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_data_filter_patch_document = JsonApiWorkspaceDataFilterPatchDocument(
+ data=JsonApiWorkspaceDataFilterPatch(
+ attributes=JsonApiWorkspaceDataFilterInAttributes(
+ column_name="column_name_example",
+ description="description_example",
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterInRelationships(
+ filter_settings=JsonApiWorkspaceDataFilterInRelationshipsFilterSettings(
+ data=JsonApiWorkspaceDataFilterSettingToManyLinkage([
+ JsonApiWorkspaceDataFilterSettingLinkage(
+ id="id_example",
+ type="workspaceDataFilterSetting",
+ ),
+ ]),
+ ),
+ ),
+ type="workspaceDataFilter",
+ ),
+ ) # JsonApiWorkspaceDataFilterPatchDocument |
+ filter = "title==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)
+ include = [
+ "filterSettings",
+ ] # [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
+ try:
+ # Patch a Workspace Data Filter
+ api_response = api_instance.patch_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->patch_entity_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Workspace Data Filter
+ api_response = api_instance.patch_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->patch_entity_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_data_filter_patch_document** | [**JsonApiWorkspaceDataFilterPatchDocument**](JsonApiWorkspaceDataFilterPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterOutDocument**](JsonApiWorkspaceDataFilterOutDocument.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)
+
+# **search_entities_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutList search_entities_workspace_data_filters(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_list import JsonApiWorkspaceDataFilterOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_data_filters(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->search_entities_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_data_filters(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->search_entities_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterOutList**](JsonApiWorkspaceDataFilterOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_workspace_data_filters**
+> JsonApiWorkspaceDataFilterOutDocument update_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_in_document)
+
+Put a Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_out_document import JsonApiWorkspaceDataFilterOutDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_in_document import JsonApiWorkspaceDataFilterInDocument
+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 = workspace_data_filter_controller_api.WorkspaceDataFilterControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_data_filter_in_document = JsonApiWorkspaceDataFilterInDocument(
+ data=JsonApiWorkspaceDataFilterIn(
+ attributes=JsonApiWorkspaceDataFilterInAttributes(
+ column_name="column_name_example",
+ description="description_example",
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterInRelationships(
+ filter_settings=JsonApiWorkspaceDataFilterInRelationshipsFilterSettings(
+ data=JsonApiWorkspaceDataFilterSettingToManyLinkage([
+ JsonApiWorkspaceDataFilterSettingLinkage(
+ id="id_example",
+ type="workspaceDataFilterSetting",
+ ),
+ ]),
+ ),
+ ),
+ type="workspaceDataFilter",
+ ),
+ ) # JsonApiWorkspaceDataFilterInDocument |
+ filter = "title==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)
+ include = [
+ "filterSettings",
+ ] # [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
+ try:
+ # Put a Workspace Data Filter
+ api_response = api_instance.update_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->update_entity_workspace_data_filters: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Workspace Data Filter
+ api_response = api_instance.update_entity_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterControllerApi->update_entity_workspace_data_filters: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_data_filter_in_document** | [**JsonApiWorkspaceDataFilterInDocument**](JsonApiWorkspaceDataFilterInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterOutDocument**](JsonApiWorkspaceDataFilterOutDocument.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/WorkspaceDataFilterSettingControllerApi.md b/gooddata-api-client/docs/WorkspaceDataFilterSettingControllerApi.md
new file mode 100644
index 000000000..d658c554a
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceDataFilterSettingControllerApi.md
@@ -0,0 +1,679 @@
+# gooddata_api_client.WorkspaceDataFilterSettingControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#create_entity_workspace_data_filter_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings | Post Settings for Workspace Data Filters
+[**delete_entity_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#delete_entity_workspace_data_filter_settings) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId} | Delete a Settings for Workspace Data Filter
+[**get_all_entities_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#get_all_entities_workspace_data_filter_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings | Get all Settings for Workspace Data Filters
+[**get_entity_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#get_entity_workspace_data_filter_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId} | Get a Setting for Workspace Data Filter
+[**patch_entity_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#patch_entity_workspace_data_filter_settings) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId} | Patch a Settings for Workspace Data Filter
+[**search_entities_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#search_entities_workspace_data_filter_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/search | The search endpoint (beta)
+[**update_entity_workspace_data_filter_settings**](WorkspaceDataFilterSettingControllerApi.md#update_entity_workspace_data_filter_settings) | **PUT** /api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId} | Put a Settings for Workspace Data Filter
+
+
+# **create_entity_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutDocument create_entity_workspace_data_filter_settings(workspace_id, json_api_workspace_data_filter_setting_in_document)
+
+Post Settings for Workspace Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_in_document import JsonApiWorkspaceDataFilterSettingInDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_document import JsonApiWorkspaceDataFilterSettingOutDocument
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_workspace_data_filter_setting_in_document = JsonApiWorkspaceDataFilterSettingInDocument(
+ data=JsonApiWorkspaceDataFilterSettingIn(
+ attributes=JsonApiWorkspaceDataFilterSettingInAttributes(
+ description="description_example",
+ filter_values=[
+ "filter_values_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterSettingInRelationships(
+ workspace_data_filter=JsonApiWorkspaceDataFilterSettingInRelationshipsWorkspaceDataFilter(
+ data=JsonApiWorkspaceDataFilterToOneLinkage(None),
+ ),
+ ),
+ type="workspaceDataFilterSetting",
+ ),
+ ) # JsonApiWorkspaceDataFilterSettingInDocument |
+ include = [
+ "workspaceDataFilter",
+ ] # [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",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Settings for Workspace Data Filters
+ api_response = api_instance.create_entity_workspace_data_filter_settings(workspace_id, json_api_workspace_data_filter_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->create_entity_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Settings for Workspace Data Filters
+ api_response = api_instance.create_entity_workspace_data_filter_settings(workspace_id, json_api_workspace_data_filter_setting_in_document, include=include, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->create_entity_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_workspace_data_filter_setting_in_document** | [**JsonApiWorkspaceDataFilterSettingInDocument**](JsonApiWorkspaceDataFilterSettingInDocument.md)| |
+ **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 type
+
+[**JsonApiWorkspaceDataFilterSettingOutDocument**](JsonApiWorkspaceDataFilterSettingOutDocument.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_workspace_data_filter_settings**
+> delete_entity_workspace_data_filter_settings(workspace_id, object_id)
+
+Delete a Settings for Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;workspaceDataFilter.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)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Delete a Settings for Workspace Data Filter
+ api_instance.delete_entity_workspace_data_filter_settings(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->delete_entity_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Settings for Workspace Data Filter
+ api_instance.delete_entity_workspace_data_filter_settings(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->delete_entity_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutList get_all_entities_workspace_data_filter_settings(workspace_id)
+
+Get all Settings for Workspace Data Filters
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_list import JsonApiWorkspaceDataFilterSettingOutList
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "title==someString;description==someString;workspaceDataFilter.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 = [
+ "workspaceDataFilter",
+ ] # [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
+ sort = [
+ "sort_example",
+ ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Settings for Workspace Data Filters
+ api_response = api_instance.get_all_entities_workspace_data_filter_settings(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->get_all_entities_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Settings for Workspace Data Filters
+ api_response = api_instance.get_all_entities_workspace_data_filter_settings(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->get_all_entities_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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 type
+
+[**JsonApiWorkspaceDataFilterSettingOutList**](JsonApiWorkspaceDataFilterSettingOutList.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_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutDocument get_entity_workspace_data_filter_settings(workspace_id, object_id)
+
+Get a Setting for Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_document import JsonApiWorkspaceDataFilterSettingOutDocument
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "title==someString;description==someString;workspaceDataFilter.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 = [
+ "workspaceDataFilter",
+ ] # [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 = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Setting for Workspace Data Filter
+ api_response = api_instance.get_entity_workspace_data_filter_settings(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->get_entity_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Setting for Workspace Data Filter
+ api_response = api_instance.get_entity_workspace_data_filter_settings(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->get_entity_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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]
+ **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 type
+
+[**JsonApiWorkspaceDataFilterSettingOutDocument**](JsonApiWorkspaceDataFilterSettingOutDocument.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_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutDocument patch_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_patch_document)
+
+Patch a Settings for Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_patch_document import JsonApiWorkspaceDataFilterSettingPatchDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_document import JsonApiWorkspaceDataFilterSettingOutDocument
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_data_filter_setting_patch_document = JsonApiWorkspaceDataFilterSettingPatchDocument(
+ data=JsonApiWorkspaceDataFilterSettingPatch(
+ attributes=JsonApiWorkspaceDataFilterSettingInAttributes(
+ description="description_example",
+ filter_values=[
+ "filter_values_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterSettingInRelationships(
+ workspace_data_filter=JsonApiWorkspaceDataFilterSettingInRelationshipsWorkspaceDataFilter(
+ data=JsonApiWorkspaceDataFilterToOneLinkage(None),
+ ),
+ ),
+ type="workspaceDataFilterSetting",
+ ),
+ ) # JsonApiWorkspaceDataFilterSettingPatchDocument |
+ filter = "title==someString;description==someString;workspaceDataFilter.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 = [
+ "workspaceDataFilter",
+ ] # [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
+ try:
+ # Patch a Settings for Workspace Data Filter
+ api_response = api_instance.patch_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->patch_entity_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Settings for Workspace Data Filter
+ api_response = api_instance.patch_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_patch_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->patch_entity_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_data_filter_setting_patch_document** | [**JsonApiWorkspaceDataFilterSettingPatchDocument**](JsonApiWorkspaceDataFilterSettingPatchDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterSettingOutDocument**](JsonApiWorkspaceDataFilterSettingOutDocument.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)
+
+# **search_entities_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutList search_entities_workspace_data_filter_settings(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_list import JsonApiWorkspaceDataFilterSettingOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_data_filter_settings(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->search_entities_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_data_filter_settings(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->search_entities_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterSettingOutList**](JsonApiWorkspaceDataFilterSettingOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_workspace_data_filter_settings**
+> JsonApiWorkspaceDataFilterSettingOutDocument update_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_in_document)
+
+Put a Settings for Workspace Data Filter
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_data_filter_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_in_document import JsonApiWorkspaceDataFilterSettingInDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_document import JsonApiWorkspaceDataFilterSettingOutDocument
+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 = workspace_data_filter_setting_controller_api.WorkspaceDataFilterSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_data_filter_setting_in_document = JsonApiWorkspaceDataFilterSettingInDocument(
+ data=JsonApiWorkspaceDataFilterSettingIn(
+ attributes=JsonApiWorkspaceDataFilterSettingInAttributes(
+ description="description_example",
+ filter_values=[
+ "filter_values_example",
+ ],
+ title="title_example",
+ ),
+ id="id1",
+ relationships=JsonApiWorkspaceDataFilterSettingInRelationships(
+ workspace_data_filter=JsonApiWorkspaceDataFilterSettingInRelationshipsWorkspaceDataFilter(
+ data=JsonApiWorkspaceDataFilterToOneLinkage(None),
+ ),
+ ),
+ type="workspaceDataFilterSetting",
+ ),
+ ) # JsonApiWorkspaceDataFilterSettingInDocument |
+ filter = "title==someString;description==someString;workspaceDataFilter.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 = [
+ "workspaceDataFilter",
+ ] # [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
+ try:
+ # Put a Settings for Workspace Data Filter
+ api_response = api_instance.update_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->update_entity_workspace_data_filter_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Settings for Workspace Data Filter
+ api_response = api_instance.update_entity_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_in_document, filter=filter, include=include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceDataFilterSettingControllerApi->update_entity_workspace_data_filter_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_data_filter_setting_in_document** | [**JsonApiWorkspaceDataFilterSettingInDocument**](JsonApiWorkspaceDataFilterSettingInDocument.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]
+ **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]
+
+### Return type
+
+[**JsonApiWorkspaceDataFilterSettingOutDocument**](JsonApiWorkspaceDataFilterSettingOutDocument.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/WorkspaceSettingControllerApi.md b/gooddata-api-client/docs/WorkspaceSettingControllerApi.md
new file mode 100644
index 000000000..634267afa
--- /dev/null
+++ b/gooddata-api-client/docs/WorkspaceSettingControllerApi.md
@@ -0,0 +1,635 @@
+# gooddata_api_client.WorkspaceSettingControllerApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_entity_workspace_settings**](WorkspaceSettingControllerApi.md#create_entity_workspace_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings | Post Settings for Workspaces
+[**delete_entity_workspace_settings**](WorkspaceSettingControllerApi.md#delete_entity_workspace_settings) | **DELETE** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId} | Delete a Setting for Workspace
+[**get_all_entities_workspace_settings**](WorkspaceSettingControllerApi.md#get_all_entities_workspace_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings | Get all Setting for Workspaces
+[**get_entity_workspace_settings**](WorkspaceSettingControllerApi.md#get_entity_workspace_settings) | **GET** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId} | Get a Setting for Workspace
+[**patch_entity_workspace_settings**](WorkspaceSettingControllerApi.md#patch_entity_workspace_settings) | **PATCH** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId} | Patch a Setting for Workspace
+[**search_entities_workspace_settings**](WorkspaceSettingControllerApi.md#search_entities_workspace_settings) | **POST** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings/search | The search endpoint (beta)
+[**update_entity_workspace_settings**](WorkspaceSettingControllerApi.md#update_entity_workspace_settings) | **PUT** /api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId} | Put a Setting for a Workspace
+
+
+# **create_entity_workspace_settings**
+> JsonApiWorkspaceSettingOutDocument create_entity_workspace_settings(workspace_id, json_api_workspace_setting_post_optional_id_document)
+
+Post Settings for Workspaces
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_post_optional_id_document import JsonApiWorkspaceSettingPostOptionalIdDocument
+from gooddata_api_client.model.json_api_workspace_setting_out_document import JsonApiWorkspaceSettingOutDocument
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ json_api_workspace_setting_post_optional_id_document = JsonApiWorkspaceSettingPostOptionalIdDocument(
+ data=JsonApiWorkspaceSettingPostOptionalId(
+ attributes=JsonApiOrganizationSettingInAttributes(
+ content={},
+ type="TIMEZONE",
+ ),
+ id="id1",
+ type="workspaceSetting",
+ ),
+ ) # JsonApiWorkspaceSettingPostOptionalIdDocument |
+ meta_include = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Post Settings for Workspaces
+ api_response = api_instance.create_entity_workspace_settings(workspace_id, json_api_workspace_setting_post_optional_id_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->create_entity_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Post Settings for Workspaces
+ api_response = api_instance.create_entity_workspace_settings(workspace_id, json_api_workspace_setting_post_optional_id_document, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->create_entity_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **json_api_workspace_setting_post_optional_id_document** | [**JsonApiWorkspaceSettingPostOptionalIdDocument**](JsonApiWorkspaceSettingPostOptionalIdDocument.md)| |
+ **meta_include** | **[str]**| Include Meta objects. | [optional]
+
+### Return type
+
+[**JsonApiWorkspaceSettingOutDocument**](JsonApiWorkspaceSettingOutDocument.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_workspace_settings**
+> delete_entity_workspace_settings(workspace_id, object_id)
+
+Delete a Setting for Workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 a Setting for Workspace
+ api_instance.delete_entity_workspace_settings(workspace_id, object_id)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->delete_entity_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Delete a Setting for Workspace
+ api_instance.delete_entity_workspace_settings(workspace_id, object_id, filter=filter)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->delete_entity_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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_workspace_settings**
+> JsonApiWorkspaceSettingOutList get_all_entities_workspace_settings(workspace_id)
+
+Get all Setting for Workspaces
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_out_list import JsonApiWorkspaceSettingOutList
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,page,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get all Setting for Workspaces
+ api_response = api_instance.get_all_entities_workspace_settings(workspace_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->get_all_entities_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get all Setting for Workspaces
+ api_response = api_instance.get_all_entities_workspace_settings(workspace_id, origin=origin, filter=filter, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->get_all_entities_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **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]
+ **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 type
+
+[**JsonApiWorkspaceSettingOutList**](JsonApiWorkspaceSettingOutList.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_workspace_settings**
+> JsonApiWorkspaceSettingOutDocument get_entity_workspace_settings(workspace_id, object_id)
+
+Get a Setting for Workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_out_document import JsonApiWorkspaceSettingOutDocument
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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)
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+ meta_include = [
+ "metaInclude=origin,all",
+ ] # [str] | Include Meta objects. (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get a Setting for Workspace
+ api_response = api_instance.get_entity_workspace_settings(workspace_id, object_id)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->get_entity_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get a Setting for Workspace
+ api_response = api_instance.get_entity_workspace_settings(workspace_id, object_id, filter=filter, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->get_entity_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_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]
+ **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 type
+
+[**JsonApiWorkspaceSettingOutDocument**](JsonApiWorkspaceSettingOutDocument.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_workspace_settings**
+> JsonApiWorkspaceSettingOutDocument patch_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_patch_document)
+
+Patch a Setting for Workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_out_document import JsonApiWorkspaceSettingOutDocument
+from gooddata_api_client.model.json_api_workspace_setting_patch_document import JsonApiWorkspaceSettingPatchDocument
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_setting_patch_document = JsonApiWorkspaceSettingPatchDocument(
+ data=JsonApiWorkspaceSettingPatch(
+ attributes=JsonApiOrganizationSettingInAttributes(
+ content={},
+ type="TIMEZONE",
+ ),
+ id="id1",
+ type="workspaceSetting",
+ ),
+ ) # JsonApiWorkspaceSettingPatchDocument |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 a Setting for Workspace
+ api_response = api_instance.patch_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_patch_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->patch_entity_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Patch a Setting for Workspace
+ api_response = api_instance.patch_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_patch_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->patch_entity_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_setting_patch_document** | [**JsonApiWorkspaceSettingPatchDocument**](JsonApiWorkspaceSettingPatchDocument.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
+
+[**JsonApiWorkspaceSettingOutDocument**](JsonApiWorkspaceSettingOutDocument.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)
+
+# **search_entities_workspace_settings**
+> JsonApiWorkspaceSettingOutList search_entities_workspace_settings(workspace_id, entity_search_body)
+
+The search endpoint (beta)
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_out_list import JsonApiWorkspaceSettingOutList
+from gooddata_api_client.model.entity_search_body import EntitySearchBody
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ entity_search_body = EntitySearchBody(
+ filter="filter_example",
+ include=[
+ "include_example",
+ ],
+ meta_include=[
+ "meta_include_example",
+ ],
+ page=EntitySearchPage(
+ index=0,
+ size=100,
+ ),
+ sort=[
+ EntitySearchSort(
+ direction="ASC",
+ _property="_property_example",
+ ),
+ ],
+ ) # EntitySearchBody | Search request body with filter, pagination, and sorting options
+ origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False
+
+ # example passing only required values which don't have defaults set
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_settings(workspace_id, entity_search_body)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->search_entities_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # The search endpoint (beta)
+ api_response = api_instance.search_entities_workspace_settings(workspace_id, entity_search_body, origin=origin, x_gdc_validate_relations=x_gdc_validate_relations)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->search_entities_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **entity_search_body** | [**EntitySearchBody**](EntitySearchBody.md)| Search request body with filter, pagination, and sorting options |
+ **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL"
+ **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False
+
+### Return type
+
+[**JsonApiWorkspaceSettingOutList**](JsonApiWorkspaceSettingOutList.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/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_workspace_settings**
+> JsonApiWorkspaceSettingOutDocument update_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_in_document)
+
+Put a Setting for a Workspace
+
+### Example
+
+
+```python
+import time
+import gooddata_api_client
+from gooddata_api_client.api import workspace_setting_controller_api
+from gooddata_api_client.model.json_api_workspace_setting_in_document import JsonApiWorkspaceSettingInDocument
+from gooddata_api_client.model.json_api_workspace_setting_out_document import JsonApiWorkspaceSettingOutDocument
+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 = workspace_setting_controller_api.WorkspaceSettingControllerApi(api_client)
+ workspace_id = "workspaceId_example" # str |
+ object_id = "objectId_example" # str |
+ json_api_workspace_setting_in_document = JsonApiWorkspaceSettingInDocument(
+ data=JsonApiWorkspaceSettingIn(
+ attributes=JsonApiOrganizationSettingInAttributes(
+ content={},
+ type="TIMEZONE",
+ ),
+ id="id1",
+ type="workspaceSetting",
+ ),
+ ) # JsonApiWorkspaceSettingInDocument |
+ filter = "content==JsonNodeValue;type==SettingTypeValue" # 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 a Setting for a Workspace
+ api_response = api_instance.update_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_in_document)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->update_entity_workspace_settings: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Put a Setting for a Workspace
+ api_response = api_instance.update_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_in_document, filter=filter)
+ pprint(api_response)
+ except gooddata_api_client.ApiException as e:
+ print("Exception when calling WorkspaceSettingControllerApi->update_entity_workspace_settings: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **workspace_id** | **str**| |
+ **object_id** | **str**| |
+ **json_api_workspace_setting_in_document** | [**JsonApiWorkspaceSettingInDocument**](JsonApiWorkspaceSettingInDocument.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
+
+[**JsonApiWorkspaceSettingOutDocument**](JsonApiWorkspaceSettingOutDocument.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/gooddata_api_client/api/actions_api.py b/gooddata-api-client/gooddata_api_client/api/actions_api.py
index a578be876..c2597c74b 100644
--- a/gooddata-api-client/gooddata_api_client/api/actions_api.py
+++ b/gooddata-api-client/gooddata_api_client/api/actions_api.py
@@ -32,10 +32,13 @@
from gooddata_api_client.model.afm_valid_objects_response import AfmValidObjectsResponse
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.analyze_csv_request import AnalyzeCsvRequest
+from gooddata_api_client.model.analyze_csv_response import AnalyzeCsvResponse
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.api_entitlement import ApiEntitlement
from gooddata_api_client.model.available_assignees import AvailableAssignees
+from gooddata_api_client.model.cache_usage_data import CacheUsageData
from gooddata_api_client.model.change_analysis_request import ChangeAnalysisRequest
from gooddata_api_client.model.change_analysis_response import ChangeAnalysisResponse
from gooddata_api_client.model.change_analysis_result import ChangeAnalysisResult
@@ -48,6 +51,8 @@
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.convert_geo_file_request import ConvertGeoFileRequest
+from gooddata_api_client.model.convert_geo_file_response import ConvertGeoFileResponse
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
@@ -55,6 +60,7 @@
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_files_request import DeleteFilesRequest
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
@@ -65,6 +71,7 @@
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.gd_storage_file import GdStorageFile
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
@@ -75,6 +82,10 @@
from gooddata_api_client.model.hierarchy_object_identification import HierarchyObjectIdentification
from gooddata_api_client.model.identifier_duplications import IdentifierDuplications
from gooddata_api_client.model.image_export_request import ImageExportRequest
+from gooddata_api_client.model.import_csv_request import ImportCsvRequest
+from gooddata_api_client.model.import_csv_response import ImportCsvResponse
+from gooddata_api_client.model.import_geo_collection_request import ImportGeoCollectionRequest
+from gooddata_api_client.model.import_geo_collection_response import ImportGeoCollectionResponse
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
@@ -94,6 +105,8 @@
from gooddata_api_client.model.platform_usage_request import PlatformUsageRequest
from gooddata_api_client.model.quality_issues_calculation_status_response import QualityIssuesCalculationStatusResponse
from gooddata_api_client.model.raw_export_request import RawExportRequest
+from gooddata_api_client.model.read_csv_file_manifests_request import ReadCsvFileManifestsRequest
+from gooddata_api_client.model.read_csv_file_manifests_response import ReadCsvFileManifestsResponse
from gooddata_api_client.model.resolve_settings_request import ResolveSettingsRequest
from gooddata_api_client.model.resolved_llm_endpoints import ResolvedLlmEndpoints
from gooddata_api_client.model.resolved_setting import ResolvedSetting
@@ -118,6 +131,8 @@
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.upload_file_response import UploadFileResponse
+from gooddata_api_client.model.upload_geo_collection_file_response import UploadGeoCollectionFileResponse
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
@@ -492,6 +507,56 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.analyze_csv_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([AnalyzeCsvResponse],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/staging/analyzeCsv',
+ 'operation_id': 'analyze_csv',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'analyze_csv_request',
+ ],
+ 'required': [
+ 'analyze_csv_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'analyze_csv_request':
+ (AnalyzeCsvRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'analyze_csv_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.anomaly_detection_endpoint = _Endpoint(
settings={
'response_type': (SmartFunctionResponse,),
@@ -1137,6 +1202,48 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.collect_cache_usage_endpoint = _Endpoint(
+ settings={
+ 'response_type': (CacheUsageData,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/collectCacheUsage',
+ 'operation_id': 'collect_cache_usage',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.column_statistics_endpoint = _Endpoint(
settings={
'response_type': (ColumnStatisticsResponse,),
@@ -1482,6 +1589,56 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.convert_geo_file_endpoint = _Endpoint(
+ settings={
+ 'response_type': (ConvertGeoFileResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/customGeoCollection/convert',
+ 'operation_id': 'convert_geo_file',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'convert_geo_file_request',
+ ],
+ 'required': [
+ 'convert_geo_file_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'convert_geo_file_request':
+ (ConvertGeoFileRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'convert_geo_file_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ '*/*'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.create_dashboard_export_request_endpoint = _Endpoint(
settings={
'response_type': (ExportResponse,),
@@ -1953,6 +2110,57 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.custom_geo_collection_staging_upload_endpoint = _Endpoint(
+ settings={
+ 'response_type': (UploadGeoCollectionFileResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/customGeoCollection/staging/upload',
+ 'operation_id': 'custom_geo_collection_staging_upload',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'file',
+ ],
+ 'required': [
+ 'file',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'file':
+ (file_type,),
+ },
+ 'attribute_map': {
+ 'file': 'file',
+ },
+ 'location_map': {
+ 'file': 'form',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ '*/*'
+ ],
+ 'content_type': [
+ 'multipart/form-data'
+ ]
+ },
+ api_client=api_client
+ )
self.dashboard_permissions_endpoint = _Endpoint(
settings={
'response_type': (DashboardPermissions,),
@@ -2070,6 +2278,60 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.delete_files_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles',
+ 'operation_id': 'delete_files',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ 'delete_files_request',
+ ],
+ 'required': [
+ 'data_source_id',
+ 'delete_files_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ 'delete_files_request':
+ (DeleteFilesRequest,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ 'delete_files_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.delete_organization_automations_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -3567,21 +3829,23 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.inherited_entity_conflicts_endpoint = _Endpoint(
+ self.import_csv_endpoint = _Endpoint(
settings={
- 'response_type': ([IdentifierDuplications],),
+ 'response_type': ([ImportCsvResponse],),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts',
- 'operation_id': 'inherited_entity_conflicts',
- 'http_method': 'GET',
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv',
+ 'operation_id': 'import_csv',
+ 'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
- 'workspace_id',
+ 'data_source_id',
+ 'import_csv_request',
],
'required': [
- 'workspace_id',
+ 'data_source_id',
+ 'import_csv_request',
],
'nullable': [
],
@@ -3596,14 +3860,17 @@ def __init__(self, api_client=None):
'allowed_values': {
},
'openapi_types': {
- 'workspace_id':
+ 'data_source_id':
(str,),
+ 'import_csv_request':
+ (ImportCsvRequest,),
},
'attribute_map': {
- 'workspace_id': 'workspaceId',
+ 'data_source_id': 'dataSourceId',
},
'location_map': {
- 'workspace_id': 'path',
+ 'data_source_id': 'path',
+ 'import_csv_request': 'body',
},
'collection_format_map': {
}
@@ -3612,25 +3879,29 @@ def __init__(self, api_client=None):
'accept': [
'application/json'
],
- 'content_type': [],
+ 'content_type': [
+ 'application/json'
+ ]
},
api_client=api_client
)
- self.inherited_entity_prefixes_endpoint = _Endpoint(
+ self.import_custom_geo_collection_endpoint = _Endpoint(
settings={
- 'response_type': ([str],),
+ 'response_type': (ImportGeoCollectionResponse,),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes',
- 'operation_id': 'inherited_entity_prefixes',
- 'http_method': 'GET',
+ 'endpoint_path': '/api/v1/actions/customGeoCollection/{collectionId}/import',
+ 'operation_id': 'import_custom_geo_collection',
+ 'http_method': 'POST',
'servers': None,
},
params_map={
'all': [
- 'workspace_id',
+ 'collection_id',
+ 'import_geo_collection_request',
],
'required': [
- 'workspace_id',
+ 'collection_id',
+ 'import_geo_collection_request',
],
'nullable': [
],
@@ -3645,57 +3916,160 @@ def __init__(self, api_client=None):
'allowed_values': {
},
'openapi_types': {
- 'workspace_id':
+ 'collection_id':
(str,),
+ 'import_geo_collection_request':
+ (ImportGeoCollectionRequest,),
},
'attribute_map': {
- 'workspace_id': 'workspaceId',
+ 'collection_id': 'collectionId',
},
'location_map': {
- 'workspace_id': 'path',
+ 'collection_id': 'path',
+ 'import_geo_collection_request': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
- 'application/json'
+ '*/*'
],
- 'content_type': [],
+ 'content_type': [
+ 'application/json'
+ ]
},
api_client=api_client
)
- self.key_driver_analysis_endpoint = _Endpoint(
+ self.inherited_entity_conflicts_endpoint = _Endpoint(
settings={
- 'response_type': (KeyDriversResponse,),
+ 'response_type': ([IdentifierDuplications],),
'auth': [],
- 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers',
- 'operation_id': 'key_driver_analysis',
- 'http_method': 'POST',
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/inheritedEntityConflicts',
+ 'operation_id': 'inherited_entity_conflicts',
+ 'http_method': 'GET',
'servers': None,
},
params_map={
'all': [
'workspace_id',
- 'key_drivers_request',
- 'skip_cache',
],
'required': [
'workspace_id',
- 'key_drivers_request',
],
'nullable': [
],
'enum': [
],
'validation': [
- 'workspace_id',
]
},
root_map={
'validations': {
- ('workspace_id',): {
-
+ },
+ '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.inherited_entity_prefixes_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([str],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/inheritedEntityPrefixes',
+ 'operation_id': 'inherited_entity_prefixes',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ '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.key_driver_analysis_endpoint = _Endpoint(
+ settings={
+ 'response_type': (KeyDriversResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/execution/computeKeyDrivers',
+ 'operation_id': 'key_driver_analysis',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'key_drivers_request',
+ 'skip_cache',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'key_drivers_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'workspace_id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('workspace_id',): {
+
'regex': {
'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
},
@@ -3882,6 +4256,55 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.list_files_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([GdStorageFile],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles',
+ 'operation_id': 'list_files',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ ],
+ 'required': [
+ 'data_source_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
self.list_workspace_user_groups_endpoint = _Endpoint(
settings={
'response_type': (WorkspaceUserGroups,),
@@ -4911,6 +5334,62 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.read_csv_file_manifests_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([ReadCsvFileManifestsResponse],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests',
+ 'operation_id': 'read_csv_file_manifests',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ 'read_csv_file_manifests_request',
+ ],
+ 'required': [
+ 'data_source_id',
+ 'read_csv_file_manifests_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ 'read_csv_file_manifests_request':
+ (ReadCsvFileManifestsRequest,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ 'read_csv_file_manifests_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
self.register_upload_notification_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -5723,6 +6202,57 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.staging_upload_endpoint = _Endpoint(
+ settings={
+ 'response_type': (UploadFileResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/staging/upload',
+ 'operation_id': 'staging_upload',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'file',
+ ],
+ 'required': [
+ 'file',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'file':
+ (file_type,),
+ },
+ 'attribute_map': {
+ 'file': 'file',
+ },
+ 'location_map': {
+ 'file': 'form',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'multipart/form-data'
+ ]
+ },
+ api_client=api_client
+ )
self.switch_active_identity_provider_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -7444,29 +7974,24 @@ def all_platform_usage(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
return self.all_platform_usage_endpoint.call_with_http_info(**kwargs)
- def anomaly_detection(
+ def analyze_csv(
self,
- workspace_id,
- result_id,
- anomaly_detection_request,
+ analyze_csv_request,
**kwargs
):
- """(EXPERIMENTAL) Smart functions - Anomaly Detection # noqa: E501
+ """Analyze CSV # noqa: E501
- (EXPERIMENTAL) Computes anomaly detection. # noqa: E501
+ Analyzes CSV files at the given locations # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.anomaly_detection(workspace_id, result_id, anomaly_detection_request, async_req=True)
+ >>> thread = api.analyze_csv(analyze_csv_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str): Workspace identifier
- result_id (str): Input result ID to be used in the computation
- anomaly_detection_request (AnomalyDetectionRequest):
+ analyze_csv_request (AnalyzeCsvRequest):
Keyword Args:
- skip_cache (bool): Ignore all caches during execution of current request.. [optional] if omitted the server will use the default value of False
_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
@@ -7499,7 +8024,7 @@ def anomaly_detection(
async_req (bool): execute request asynchronously
Returns:
- SmartFunctionResponse
+ [AnalyzeCsvResponse]
If the method is called asynchronously, returns the request
thread.
"""
@@ -7528,15 +8053,103 @@ def anomaly_detection(
'_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
- kwargs['anomaly_detection_request'] = \
- anomaly_detection_request
- return self.anomaly_detection_endpoint.call_with_http_info(**kwargs)
+ kwargs['analyze_csv_request'] = \
+ analyze_csv_request
+ return self.analyze_csv_endpoint.call_with_http_info(**kwargs)
- def anomaly_detection_result(
+ def anomaly_detection(
+ self,
+ workspace_id,
+ result_id,
+ anomaly_detection_request,
+ **kwargs
+ ):
+ """(EXPERIMENTAL) Smart functions - Anomaly Detection # noqa: E501
+
+ (EXPERIMENTAL) Computes anomaly detection. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.anomaly_detection(workspace_id, result_id, anomaly_detection_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str): Workspace identifier
+ result_id (str): Input result ID to be used in the computation
+ anomaly_detection_request (AnomalyDetectionRequest):
+
+ Keyword Args:
+ skip_cache (bool): Ignore all caches during execution of current request.. [optional] if omitted the server will use the default value of False
+ _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:
+ SmartFunctionResponse
+ 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
+ kwargs['anomaly_detection_request'] = \
+ anomaly_detection_request
+ return self.anomaly_detection_endpoint.call_with_http_info(**kwargs)
+
+ def anomaly_detection_result(
self,
workspace_id,
result_id,
@@ -8327,6 +8940,84 @@ def clustering_result(
result_id
return self.clustering_result_endpoint.call_with_http_info(**kwargs)
+ def collect_cache_usage(
+ self,
+ **kwargs
+ ):
+ """Collect data about the current cache usage # noqa: E501
+
+ Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.collect_cache_usage(async_req=True)
+ >>> result = thread.get()
+
+
+ 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:
+ CacheUsageData
+ 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.collect_cache_usage_endpoint.call_with_http_info(**kwargs)
+
def column_statistics(
self,
data_source_id,
@@ -8767,6 +9458,89 @@ def compute_valid_objects(
afm_valid_objects_query
return self.compute_valid_objects_endpoint.call_with_http_info(**kwargs)
+ def convert_geo_file(
+ self,
+ convert_geo_file_request,
+ **kwargs
+ ):
+ """Convert a geo file to GeoParquet format # noqa: E501
+
+ Converts a geo file from the staging area to GeoParquet format. Supported source formats: GeoJSON (.geojson, .json), ESRI Shapefile (.zip). If the source file is already in GeoParquet format, the same location is returned without conversion. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.convert_geo_file(convert_geo_file_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ convert_geo_file_request (ConvertGeoFileRequest):
+
+ 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:
+ ConvertGeoFileResponse
+ 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['convert_geo_file_request'] = \
+ convert_geo_file_request
+ return self.convert_geo_file_endpoint.call_with_http_info(**kwargs)
+
def create_dashboard_export_request(
self,
workspace_id,
@@ -9209,24 +9983,196 @@ def create_raw_export(
def create_slides_export(
self,
workspace_id,
- slides_export_request,
+ slides_export_request,
+ **kwargs
+ ):
+ """(EXPERIMENTAL) Create slides export request # noqa: E501
+
+ Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.create_slides_export(workspace_id, slides_export_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ slides_export_request (SlidesExportRequest):
+
+ Keyword Args:
+ x_gdc_debug (bool): [optional] if omitted the server will use the default value of False
+ _return_http_data_only (bool): response data without head status
+ code and headers. Default is True.
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
+ will be returned without reading/decoding response data.
+ Default is True.
+ _request_timeout (int/float/tuple): timeout setting for this request. If
+ one number provided, it will be total request timeout. It can also
+ be a pair (tuple) of (connection, read) timeouts.
+ Default is None.
+ _check_input_type (bool): specifies if type checking
+ should be done one the data sent to the server.
+ Default is True.
+ _check_return_type (bool): specifies if type checking
+ should be done one the data received from the server.
+ Default is True.
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _content_type (str/None): force body content-type.
+ Default is None and content-type will be predicted by allowed
+ content-types and body.
+ _host_index (int/None): specifies the index of the server
+ that we want to use.
+ Default is read from the configuration.
+ _request_auths (list): set to override the auth_settings for an a single
+ request; this effectively ignores the authentication
+ in the spec for a single request.
+ Default is None
+ async_req (bool): execute request asynchronously
+
+ Returns:
+ ExportResponse
+ If the method is called asynchronously, returns the request
+ thread.
+ """
+ kwargs['async_req'] = kwargs.get(
+ 'async_req', False
+ )
+ kwargs['_return_http_data_only'] = kwargs.get(
+ '_return_http_data_only', True
+ )
+ kwargs['_preload_content'] = kwargs.get(
+ '_preload_content', True
+ )
+ kwargs['_request_timeout'] = kwargs.get(
+ '_request_timeout', None
+ )
+ kwargs['_check_input_type'] = kwargs.get(
+ '_check_input_type', True
+ )
+ kwargs['_check_return_type'] = kwargs.get(
+ '_check_return_type', True
+ )
+ kwargs['_spec_property_naming'] = kwargs.get(
+ '_spec_property_naming', False
+ )
+ kwargs['_content_type'] = kwargs.get(
+ '_content_type')
+ kwargs['_host_index'] = kwargs.get('_host_index')
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
+ kwargs['workspace_id'] = \
+ workspace_id
+ kwargs['slides_export_request'] = \
+ slides_export_request
+ return self.create_slides_export_endpoint.call_with_http_info(**kwargs)
+
+ def create_tabular_export(
+ self,
+ workspace_id,
+ tabular_export_request,
+ **kwargs
+ ):
+ """Create tabular export request # noqa: E501
+
+ An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.create_tabular_export(workspace_id, tabular_export_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ tabular_export_request (TabularExportRequest):
+
+ 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['tabular_export_request'] = \
+ tabular_export_request
+ return self.create_tabular_export_endpoint.call_with_http_info(**kwargs)
+
+ def created_by(
+ self,
+ workspace_id,
**kwargs
):
- """(EXPERIMENTAL) Create slides export request # noqa: E501
+ """Get Analytics Catalog CreatedBy Users # noqa: E501
- Note: This API is an experimental and is going to change. Please, use it accordingly. A slides export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501
+ Returns a list of Users who created any object 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.create_slides_export(workspace_id, slides_export_request, async_req=True)
+ >>> thread = api.created_by(workspace_id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- slides_export_request (SlidesExportRequest):
+ workspace_id (str): Workspace identifier
Keyword Args:
- x_gdc_debug (bool): [optional] if omitted the server will use the default value of False
_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
@@ -9259,7 +10205,7 @@ def create_slides_export(
async_req (bool): execute request asynchronously
Returns:
- ExportResponse
+ AnalyticsCatalogCreatedBy
If the method is called asynchronously, returns the request
thread.
"""
@@ -9290,28 +10236,24 @@ def create_slides_export(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['slides_export_request'] = \
- slides_export_request
- return self.create_slides_export_endpoint.call_with_http_info(**kwargs)
+ return self.created_by_endpoint.call_with_http_info(**kwargs)
- def create_tabular_export(
+ def custom_geo_collection_staging_upload(
self,
- workspace_id,
- tabular_export_request,
+ file,
**kwargs
):
- """Create tabular export request # noqa: E501
+ """Upload a geo collection file to the staging area # noqa: E501
- An tabular export job will be created based on the export request and put to queue to be executed. The result of the operation will be an exportResult identifier that will be assembled by the client into a url that can be polled. # noqa: E501
+ Provides a location for uploading staging files for custom geo collections. Supported file types: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip). Maximum file size: 100 MB. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_tabular_export(workspace_id, tabular_export_request, async_req=True)
+ >>> thread = api.custom_geo_collection_staging_upload(file, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- tabular_export_request (TabularExportRequest):
+ file (file_type): The geo collection file to upload. Supported formats: GeoParquet (.parquet), GeoJSON (.geojson, .json), ESRI Shapefile (.zip).
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9346,7 +10288,7 @@ def create_tabular_export(
async_req (bool): execute request asynchronously
Returns:
- ExportResponse
+ UploadGeoCollectionFileResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -9375,28 +10317,27 @@ def create_tabular_export(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['tabular_export_request'] = \
- tabular_export_request
- return self.create_tabular_export_endpoint.call_with_http_info(**kwargs)
+ kwargs['file'] = \
+ file
+ return self.custom_geo_collection_staging_upload_endpoint.call_with_http_info(**kwargs)
- def created_by(
+ def dashboard_permissions(
self,
workspace_id,
+ dashboard_id,
**kwargs
):
- """Get Analytics Catalog CreatedBy Users # noqa: E501
+ """Get Dashboard Permissions # noqa: E501
- Returns a list of Users who created any object 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.created_by(workspace_id, async_req=True)
+ >>> thread = api.dashboard_permissions(workspace_id, dashboard_id, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str): Workspace identifier
+ workspace_id (str):
+ dashboard_id (str):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9431,7 +10372,7 @@ def created_by(
async_req (bool): execute request asynchronously
Returns:
- AnalyticsCatalogCreatedBy
+ DashboardPermissions
If the method is called asynchronously, returns the request
thread.
"""
@@ -9462,25 +10403,27 @@ def created_by(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- return self.created_by_endpoint.call_with_http_info(**kwargs)
+ kwargs['dashboard_id'] = \
+ dashboard_id
+ return self.dashboard_permissions_endpoint.call_with_http_info(**kwargs)
- def dashboard_permissions(
+ def delete_document(
self,
workspace_id,
- dashboard_id,
+ filename,
**kwargs
):
- """Get Dashboard Permissions # noqa: E501
+ """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.dashboard_permissions(workspace_id, dashboard_id, async_req=True)
+ >>> thread = api.delete_document(workspace_id, filename, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- dashboard_id (str):
+ workspace_id (str): Workspace identifier
+ filename (str):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9515,7 +10458,7 @@ def dashboard_permissions(
async_req (bool): execute request asynchronously
Returns:
- DashboardPermissions
+ DeleteKnowledgeDocumentResponseDto
If the method is called asynchronously, returns the request
thread.
"""
@@ -9546,27 +10489,28 @@ def dashboard_permissions(
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
kwargs['workspace_id'] = \
workspace_id
- kwargs['dashboard_id'] = \
- dashboard_id
- return self.dashboard_permissions_endpoint.call_with_http_info(**kwargs)
+ kwargs['filename'] = \
+ filename
+ return self.delete_document_endpoint.call_with_http_info(**kwargs)
- def delete_document(
+ def delete_files(
self,
- workspace_id,
- filename,
+ data_source_id,
+ delete_files_request,
**kwargs
):
- """delete_document # noqa: E501
+ """Delete datasource files # noqa: E501
+ Delete the files in the given 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.delete_document(workspace_id, filename, async_req=True)
+ >>> thread = api.delete_files(data_source_id, delete_files_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str): Workspace identifier
- filename (str):
+ data_source_id (str):
+ delete_files_request (DeleteFilesRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -9601,7 +10545,7 @@ def delete_document(
async_req (bool): execute request asynchronously
Returns:
- DeleteKnowledgeDocumentResponseDto
+ None
If the method is called asynchronously, returns the request
thread.
"""
@@ -9630,11 +10574,11 @@ def delete_document(
'_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)
+ kwargs['data_source_id'] = \
+ data_source_id
+ kwargs['delete_files_request'] = \
+ delete_files_request
+ return self.delete_files_endpoint.call_with_http_info(**kwargs)
def delete_organization_automations(
self,
@@ -11622,24 +12566,194 @@ def get_slides_export_metadata(
export_id
return self.get_slides_export_metadata_endpoint.call_with_http_info(**kwargs)
- def get_tabular_export(
+ def get_tabular_export(
+ self,
+ workspace_id,
+ export_id,
+ **kwargs
+ ):
+ """Retrieve exported files # noqa: E501
+
+ After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.get_tabular_export(workspace_id, export_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ export_id (str):
+
+ Keyword Args:
+ _return_http_data_only (bool): response data without head status
+ code and headers. Default is True.
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
+ will be returned without reading/decoding response data.
+ Default is True.
+ _request_timeout (int/float/tuple): timeout setting for this request. If
+ one number provided, it will be total request timeout. It can also
+ be a pair (tuple) of (connection, read) timeouts.
+ Default is None.
+ _check_input_type (bool): specifies if type checking
+ should be done one the data sent to the server.
+ Default is True.
+ _check_return_type (bool): specifies if type checking
+ should be done one the data received from the server.
+ Default is True.
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _content_type (str/None): force body content-type.
+ Default is None and content-type will be predicted by allowed
+ content-types and body.
+ _host_index (int/None): specifies the index of the server
+ that we want to use.
+ Default is read from the configuration.
+ _request_auths (list): set to override the auth_settings for an a single
+ request; this effectively ignores the authentication
+ in the spec for a single request.
+ Default is None
+ async_req (bool): execute request asynchronously
+
+ Returns:
+ file_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['workspace_id'] = \
+ workspace_id
+ kwargs['export_id'] = \
+ export_id
+ return self.get_tabular_export_endpoint.call_with_http_info(**kwargs)
+
+ def get_translation_tags(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get translation tags. # noqa: E501
+
+ Provides a list of effective translation tags. # 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_translation_tags(workspace_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_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:
+ [str]
+ 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_translation_tags_endpoint.call_with_http_info(**kwargs)
+
+ def import_csv(
self,
- workspace_id,
- export_id,
+ data_source_id,
+ import_csv_request,
**kwargs
):
- """Retrieve exported files # noqa: E501
+ """Import CSV # noqa: E501
- After clients creates a POST export request, the processing of it will start shortly asynchronously. To retrieve the result, client has to check periodically for the result on this endpoint. In case the result isn't ready yet, the service returns 202. If the result is ready, it returns 200 and octet stream of the result file with provided filename. # noqa: E501
+ Import the CSV files at the given locations in the staging area to the final location. # 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_tabular_export(workspace_id, export_id, async_req=True)
+ >>> thread = api.import_csv(data_source_id, import_csv_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
- export_id (str):
+ data_source_id (str):
+ import_csv_request (ImportCsvRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -11674,7 +12788,7 @@ def get_tabular_export(
async_req (bool): execute request asynchronously
Returns:
- file_type
+ [ImportCsvResponse]
If the method is called asynchronously, returns the request
thread.
"""
@@ -11703,28 +12817,30 @@ def get_tabular_export(
'_content_type')
kwargs['_host_index'] = kwargs.get('_host_index')
kwargs['_request_auths'] = kwargs.get('_request_auths', None)
- kwargs['workspace_id'] = \
- workspace_id
- kwargs['export_id'] = \
- export_id
- return self.get_tabular_export_endpoint.call_with_http_info(**kwargs)
+ kwargs['data_source_id'] = \
+ data_source_id
+ kwargs['import_csv_request'] = \
+ import_csv_request
+ return self.import_csv_endpoint.call_with_http_info(**kwargs)
- def get_translation_tags(
+ def import_custom_geo_collection(
self,
- workspace_id,
+ collection_id,
+ import_geo_collection_request,
**kwargs
):
- """Get translation tags. # noqa: E501
+ """Import custom geo collection # noqa: E501
- Provides a list of effective translation tags. # noqa: E501
+ Import a geo collection file from the staging area to be available for use. The file must be in GeoParquet format (use the convert endpoint first for other formats). Validates file size (max 100 MB), organization storage quota (max 1 GB total), and GeoParquet schema (requires id, geometry, and bbox 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.get_translation_tags(workspace_id, async_req=True)
+ >>> thread = api.import_custom_geo_collection(collection_id, import_geo_collection_request, async_req=True)
>>> result = thread.get()
Args:
- workspace_id (str):
+ collection_id (str):
+ import_geo_collection_request (ImportGeoCollectionRequest):
Keyword Args:
_return_http_data_only (bool): response data without head status
@@ -11759,7 +12875,7 @@ def get_translation_tags(
async_req (bool): execute request asynchronously
Returns:
- [str]
+ ImportGeoCollectionResponse
If the method is called asynchronously, returns the request
thread.
"""
@@ -11788,9 +12904,11 @@ def get_translation_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.get_translation_tags_endpoint.call_with_http_info(**kwargs)
+ kwargs['collection_id'] = \
+ collection_id
+ kwargs['import_geo_collection_request'] = \
+ import_geo_collection_request
+ return self.import_custom_geo_collection_endpoint.call_with_http_info(**kwargs)
def inherited_entity_conflicts(
self,
@@ -12221,6 +13339,89 @@ def list_documents(
workspace_id
return self.list_documents_endpoint.call_with_http_info(**kwargs)
+ def list_files(
+ self,
+ data_source_id,
+ **kwargs
+ ):
+ """List datasource files # noqa: E501
+
+ List all the files in the given 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.list_files(data_source_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_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:
+ [GdStorageFile]
+ 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
+ return self.list_files_endpoint.call_with_http_info(**kwargs)
+
def list_workspace_user_groups(
self,
workspace_id,
@@ -13823,6 +15024,93 @@ def pause_workspace_automations(
workspace_automation_management_bulk_request
return self.pause_workspace_automations_endpoint.call_with_http_info(**kwargs)
+ def read_csv_file_manifests(
+ self,
+ data_source_id,
+ read_csv_file_manifests_request,
+ **kwargs
+ ):
+ """Read CSV file manifests # noqa: E501
+
+ Read the manifests of the CSV files in the given 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.read_csv_file_manifests(data_source_id, read_csv_file_manifests_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str):
+ read_csv_file_manifests_request (ReadCsvFileManifestsRequest):
+
+ 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:
+ [ReadCsvFileManifestsResponse]
+ 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['read_csv_file_manifests_request'] = \
+ read_csv_file_manifests_request
+ return self.read_csv_file_manifests_endpoint.call_with_http_info(**kwargs)
+
def register_upload_notification(
self,
data_source_id,
@@ -15015,6 +16303,89 @@ def set_translations(
xliff
return self.set_translations_endpoint.call_with_http_info(**kwargs)
+ def staging_upload(
+ self,
+ file,
+ **kwargs
+ ):
+ """Upload a file to the staging area # noqa: E501
+
+ Provides a location for uploading staging files. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.staging_upload(file, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ file (file_type): The file to upload.
+
+ 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:
+ UploadFileResponse
+ 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['file'] = \
+ file
+ return self.staging_upload_endpoint.call_with_http_info(**kwargs)
+
def switch_active_identity_provider(
self,
switch_identity_provider_request,
diff --git a/gooddata-api-client/gooddata_api_client/api/analytical_dashboard_controller_api.py b/gooddata-api-client/gooddata_api_client/api/analytical_dashboard_controller_api.py
new file mode 100644
index 000000000..d8b434ff4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/analytical_dashboard_controller_api.py
@@ -0,0 +1,1321 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_analytical_dashboard_in_document import JsonApiAnalyticalDashboardInDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_out_list import JsonApiAnalyticalDashboardOutList
+from gooddata_api_client.model.json_api_analytical_dashboard_patch_document import JsonApiAnalyticalDashboardPatchDocument
+from gooddata_api_client.model.json_api_analytical_dashboard_post_optional_id_document import JsonApiAnalyticalDashboardPostOptionalIdDocument
+
+
+class AnalyticalDashboardControllerApi(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_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards',
+ 'operation_id': 'create_entity_analytical_dashboards',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_analytical_dashboard_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_analytical_dashboard_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "FILTERCONTEXTS": "filterContexts",
+ "DASHBOARDPLUGINS": "dashboardPlugins",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ORIGIN": "origin",
+ "ACCESSINFO": "accessInfo",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_analytical_dashboard_post_optional_id_document':
+ (JsonApiAnalyticalDashboardPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_analytical_dashboard_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId}',
+ 'operation_id': 'delete_entity_analytical_dashboards',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards',
+ 'operation_id': 'get_all_entities_analytical_dashboards',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "FILTERCONTEXTS": "filterContexts",
+ "DASHBOARDPLUGINS": "dashboardPlugins",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ORIGIN": "origin",
+ "ACCESSINFO": "accessInfo",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId}',
+ 'operation_id': 'get_entity_analytical_dashboards',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "FILTERCONTEXTS": "filterContexts",
+ "DASHBOARDPLUGINS": "dashboardPlugins",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ORIGIN": "origin",
+ "ACCESSINFO": "accessInfo",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId}',
+ 'operation_id': 'patch_entity_analytical_dashboards',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_analytical_dashboard_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_analytical_dashboard_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "FILTERCONTEXTS": "filterContexts",
+ "DASHBOARDPLUGINS": "dashboardPlugins",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_analytical_dashboard_patch_document':
+ (JsonApiAnalyticalDashboardPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_analytical_dashboard_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/search',
+ 'operation_id': 'search_entities_analytical_dashboards',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_analytical_dashboards_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAnalyticalDashboardOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/analyticalDashboards/{objectId}',
+ 'operation_id': 'update_entity_analytical_dashboards',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_analytical_dashboard_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_analytical_dashboard_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "FILTERCONTEXTS": "filterContexts",
+ "DASHBOARDPLUGINS": "dashboardPlugins",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_analytical_dashboard_in_document':
+ (JsonApiAnalyticalDashboardInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_analytical_dashboard_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_analytical_dashboards(
+ self,
+ workspace_id,
+ json_api_analytical_dashboard_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Dashboards # 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_analytical_dashboards(workspace_id, json_api_analytical_dashboard_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_analytical_dashboard_post_optional_id_document (JsonApiAnalyticalDashboardPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiAnalyticalDashboardOutDocument
+ 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_analytical_dashboard_post_optional_id_document'] = \
+ json_api_analytical_dashboard_post_optional_id_document
+ return self.create_entity_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_analytical_dashboards(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Dashboard # 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_analytical_dashboards(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_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_analytical_dashboards(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Dashboards # 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_analytical_dashboards(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:
+ JsonApiAnalyticalDashboardOutList
+ 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_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_analytical_dashboards(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Dashboard # 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_analytical_dashboards(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]
+ 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]
+ 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:
+ JsonApiAnalyticalDashboardOutDocument
+ 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.get_entity_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_analytical_dashboards(
+ self,
+ workspace_id,
+ object_id,
+ json_api_analytical_dashboard_patch_document,
+ **kwargs
+ ):
+ """Patch a Dashboard # 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_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_analytical_dashboard_patch_document (JsonApiAnalyticalDashboardPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAnalyticalDashboardOutDocument
+ 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
+ kwargs['json_api_analytical_dashboard_patch_document'] = \
+ json_api_analytical_dashboard_patch_document
+ return self.patch_entity_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_analytical_dashboards(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_analytical_dashboards(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiAnalyticalDashboardOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_analytical_dashboards(
+ self,
+ workspace_id,
+ object_id,
+ json_api_analytical_dashboard_in_document,
+ **kwargs
+ ):
+ """Put Dashboards # 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_analytical_dashboards(workspace_id, object_id, json_api_analytical_dashboard_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_analytical_dashboard_in_document (JsonApiAnalyticalDashboardInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAnalyticalDashboardOutDocument
+ 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
+ kwargs['json_api_analytical_dashboard_in_document'] = \
+ json_api_analytical_dashboard_in_document
+ return self.update_entity_analytical_dashboards_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/api_token_controller_api.py b/gooddata-api-client/gooddata_api_client/api/api_token_controller_api.py
new file mode 100644
index 000000000..db7a27f79
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/api_token_controller_api.py
@@ -0,0 +1,667 @@
+"""
+ 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_api_token_in_document import JsonApiApiTokenInDocument
+from gooddata_api_client.model.json_api_api_token_out_document import JsonApiApiTokenOutDocument
+from gooddata_api_client.model.json_api_api_token_out_list import JsonApiApiTokenOutList
+
+
+class ApiTokenControllerApi(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_api_tokens_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiApiTokenOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/apiTokens',
+ 'operation_id': 'create_entity_api_tokens',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'json_api_api_token_in_document',
+ ],
+ 'required': [
+ 'user_id',
+ 'json_api_api_token_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'json_api_api_token_in_document':
+ (JsonApiApiTokenInDocument,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'json_api_api_token_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_api_tokens_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/apiTokens/{id}',
+ 'operation_id': 'delete_entity_api_tokens',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'user_id',
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_api_tokens_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiApiTokenOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/apiTokens',
+ 'operation_id': 'get_all_entities_api_tokens',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'meta_include',
+ ],
+ 'required': [
+ 'user_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ '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_api_tokens_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiApiTokenOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/apiTokens/{id}',
+ 'operation_id': 'get_entity_api_tokens',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'user_id',
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+
+ def create_entity_api_tokens(
+ self,
+ user_id,
+ json_api_api_token_in_document,
+ **kwargs
+ ):
+ """Post a new API token for the user # 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_api_tokens(user_id, json_api_api_token_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_id (str):
+ json_api_api_token_in_document (JsonApiApiTokenInDocument):
+
+ 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:
+ JsonApiApiTokenOutDocument
+ 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['user_id'] = \
+ user_id
+ kwargs['json_api_api_token_in_document'] = \
+ json_api_api_token_in_document
+ return self.create_entity_api_tokens_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_api_tokens(
+ self,
+ user_id,
+ id,
+ **kwargs
+ ):
+ """Delete an API Token for a user # 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_api_tokens(user_id, id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ _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['user_id'] = \
+ user_id
+ kwargs['id'] = \
+ id
+ return self.delete_entity_api_tokens_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_api_tokens(
+ self,
+ user_id,
+ **kwargs
+ ):
+ """List all api tokens for a user # 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_api_tokens(user_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ 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:
+ JsonApiApiTokenOutList
+ 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['user_id'] = \
+ user_id
+ return self.get_all_entities_api_tokens_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_api_tokens(
+ self,
+ user_id,
+ id,
+ **kwargs
+ ):
+ """Get an API Token for a user # 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_api_tokens(user_id, id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ _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:
+ JsonApiApiTokenOutDocument
+ 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['user_id'] = \
+ user_id
+ kwargs['id'] = \
+ id
+ return self.get_entity_api_tokens_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/attribute_controller_api.py b/gooddata-api-client/gooddata_api_client/api/attribute_controller_api.py
new file mode 100644
index 000000000..65c6f8a76
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/attribute_controller_api.py
@@ -0,0 +1,782 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_attribute_out_document import JsonApiAttributeOutDocument
+from gooddata_api_client.model.json_api_attribute_out_list import JsonApiAttributeOutList
+from gooddata_api_client.model.json_api_attribute_patch_document import JsonApiAttributePatchDocument
+
+
+class AttributeControllerApi(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.get_all_entities_attributes_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributes',
+ 'operation_id': 'get_all_entities_attributes',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ATTRIBUTEHIERARCHIES": "attributeHierarchies",
+ "DATASET": "dataset",
+ "DEFAULTVIEW": "defaultView",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_attributes_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributes/{objectId}',
+ 'operation_id': 'get_entity_attributes',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ATTRIBUTEHIERARCHIES": "attributeHierarchies",
+ "DATASET": "dataset",
+ "DEFAULTVIEW": "defaultView",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_attributes_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributes/{objectId}',
+ 'operation_id': 'patch_entity_attributes',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ATTRIBUTEHIERARCHIES": "attributeHierarchies",
+ "DATASET": "dataset",
+ "DEFAULTVIEW": "defaultView",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_attribute_patch_document':
+ (JsonApiAttributePatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_attribute_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_attributes_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributes/search',
+ 'operation_id': 'search_entities_attributes',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def get_all_entities_attributes(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Attributes # 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_attributes(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:
+ JsonApiAttributeOutList
+ 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_attributes_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_attributes(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get an Attribute # 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_attributes(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]
+ 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]
+ 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:
+ JsonApiAttributeOutDocument
+ 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.get_entity_attributes_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_attributes(
+ self,
+ workspace_id,
+ object_id,
+ json_api_attribute_patch_document,
+ **kwargs
+ ):
+ """Patch an Attribute (beta) # 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_attributes(workspace_id, object_id, json_api_attribute_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_attribute_patch_document (JsonApiAttributePatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAttributeOutDocument
+ 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
+ kwargs['json_api_attribute_patch_document'] = \
+ json_api_attribute_patch_document
+ return self.patch_entity_attributes_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_attributes(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_attributes(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiAttributeOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_attributes_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/attribute_hierarchy_controller_api.py b/gooddata-api-client/gooddata_api_client/api/attribute_hierarchy_controller_api.py
new file mode 100644
index 000000000..9be5c8c0e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/attribute_hierarchy_controller_api.py
@@ -0,0 +1,1279 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_attribute_hierarchy_in_document import JsonApiAttributeHierarchyInDocument
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_document import JsonApiAttributeHierarchyOutDocument
+from gooddata_api_client.model.json_api_attribute_hierarchy_out_list import JsonApiAttributeHierarchyOutList
+from gooddata_api_client.model.json_api_attribute_hierarchy_patch_document import JsonApiAttributeHierarchyPatchDocument
+
+
+class AttributeHierarchyControllerApi(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_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies',
+ 'operation_id': 'create_entity_attribute_hierarchies',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_attribute_hierarchy_in_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_attribute_hierarchy_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "ATTRIBUTES": "attributes",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_attribute_hierarchy_in_document':
+ (JsonApiAttributeHierarchyInDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_attribute_hierarchy_in_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId}',
+ 'operation_id': 'delete_entity_attribute_hierarchies',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies',
+ 'operation_id': 'get_all_entities_attribute_hierarchies',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "ATTRIBUTES": "attributes",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId}',
+ 'operation_id': 'get_entity_attribute_hierarchies',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "ATTRIBUTES": "attributes",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId}',
+ 'operation_id': 'patch_entity_attribute_hierarchies',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_hierarchy_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_hierarchy_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "ATTRIBUTES": "attributes",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_attribute_hierarchy_patch_document':
+ (JsonApiAttributeHierarchyPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_attribute_hierarchy_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/search',
+ 'operation_id': 'search_entities_attribute_hierarchies',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_attribute_hierarchies_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAttributeHierarchyOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/attributeHierarchies/{objectId}',
+ 'operation_id': 'update_entity_attribute_hierarchies',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_hierarchy_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_attribute_hierarchy_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "ATTRIBUTES": "attributes",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_attribute_hierarchy_in_document':
+ (JsonApiAttributeHierarchyInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_attribute_hierarchy_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_attribute_hierarchies(
+ self,
+ workspace_id,
+ json_api_attribute_hierarchy_in_document,
+ **kwargs
+ ):
+ """Post Attribute Hierarchies # 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_attribute_hierarchies(workspace_id, json_api_attribute_hierarchy_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_attribute_hierarchy_in_document (JsonApiAttributeHierarchyInDocument):
+
+ 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
+ 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:
+ JsonApiAttributeHierarchyOutDocument
+ 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_attribute_hierarchy_in_document'] = \
+ json_api_attribute_hierarchy_in_document
+ return self.create_entity_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_attribute_hierarchies(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete an Attribute Hierarchy # 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_attribute_hierarchies(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_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_attribute_hierarchies(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Attribute Hierarchies # 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_attribute_hierarchies(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:
+ JsonApiAttributeHierarchyOutList
+ 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_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_attribute_hierarchies(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get an Attribute Hierarchy # 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_attribute_hierarchies(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]
+ 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]
+ 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:
+ JsonApiAttributeHierarchyOutDocument
+ 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.get_entity_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_attribute_hierarchies(
+ self,
+ workspace_id,
+ object_id,
+ json_api_attribute_hierarchy_patch_document,
+ **kwargs
+ ):
+ """Patch an Attribute Hierarchy # 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_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_attribute_hierarchy_patch_document (JsonApiAttributeHierarchyPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAttributeHierarchyOutDocument
+ 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
+ kwargs['json_api_attribute_hierarchy_patch_document'] = \
+ json_api_attribute_hierarchy_patch_document
+ return self.patch_entity_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_attribute_hierarchies(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_attribute_hierarchies(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiAttributeHierarchyOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_attribute_hierarchies(
+ self,
+ workspace_id,
+ object_id,
+ json_api_attribute_hierarchy_in_document,
+ **kwargs
+ ):
+ """Put an Attribute Hierarchy # 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_attribute_hierarchies(workspace_id, object_id, json_api_attribute_hierarchy_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_attribute_hierarchy_in_document (JsonApiAttributeHierarchyInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAttributeHierarchyOutDocument
+ 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
+ kwargs['json_api_attribute_hierarchy_in_document'] = \
+ json_api_attribute_hierarchy_in_document
+ return self.update_entity_attribute_hierarchies_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/automation_controller_api.py b/gooddata-api-client/gooddata_api_client/api/automation_controller_api.py
new file mode 100644
index 000000000..15cbaac6e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/automation_controller_api.py
@@ -0,0 +1,1314 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_automation_in_document import JsonApiAutomationInDocument
+from gooddata_api_client.model.json_api_automation_out_document import JsonApiAutomationOutDocument
+from gooddata_api_client.model.json_api_automation_out_list import JsonApiAutomationOutList
+from gooddata_api_client.model.json_api_automation_patch_document import JsonApiAutomationPatchDocument
+
+
+class AutomationControllerApi(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_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations',
+ 'operation_id': 'create_entity_automations',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_automation_in_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_automation_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "NOTIFICATIONCHANNELS": "notificationChannels",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "EXPORTDEFINITIONS": "exportDefinitions",
+ "USERS": "users",
+ "AUTOMATIONRESULTS": "automationResults",
+ "NOTIFICATIONCHANNEL": "notificationChannel",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "RECIPIENTS": "recipients",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_automation_in_document':
+ (JsonApiAutomationInDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_automation_in_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations/{objectId}',
+ 'operation_id': 'delete_entity_automations',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations',
+ 'operation_id': 'get_all_entities_automations',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "NOTIFICATIONCHANNELS": "notificationChannels",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "EXPORTDEFINITIONS": "exportDefinitions",
+ "USERS": "users",
+ "AUTOMATIONRESULTS": "automationResults",
+ "NOTIFICATIONCHANNEL": "notificationChannel",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "RECIPIENTS": "recipients",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations/{objectId}',
+ 'operation_id': 'get_entity_automations',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "NOTIFICATIONCHANNELS": "notificationChannels",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "EXPORTDEFINITIONS": "exportDefinitions",
+ "USERS": "users",
+ "AUTOMATIONRESULTS": "automationResults",
+ "NOTIFICATIONCHANNEL": "notificationChannel",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "RECIPIENTS": "recipients",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations/{objectId}',
+ 'operation_id': 'patch_entity_automations',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_automation_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_automation_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "NOTIFICATIONCHANNELS": "notificationChannels",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "EXPORTDEFINITIONS": "exportDefinitions",
+ "USERS": "users",
+ "AUTOMATIONRESULTS": "automationResults",
+ "NOTIFICATIONCHANNEL": "notificationChannel",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "RECIPIENTS": "recipients",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_automation_patch_document':
+ (JsonApiAutomationPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_automation_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations/search',
+ 'operation_id': 'search_entities_automations',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_automations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiAutomationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/automations/{objectId}',
+ 'operation_id': 'update_entity_automations',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_automation_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_automation_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "NOTIFICATIONCHANNELS": "notificationChannels",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "EXPORTDEFINITIONS": "exportDefinitions",
+ "USERS": "users",
+ "AUTOMATIONRESULTS": "automationResults",
+ "NOTIFICATIONCHANNEL": "notificationChannel",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "RECIPIENTS": "recipients",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_automation_in_document':
+ (JsonApiAutomationInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_automation_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_automations(
+ self,
+ workspace_id,
+ json_api_automation_in_document,
+ **kwargs
+ ):
+ """Post Automations # 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_automations(workspace_id, json_api_automation_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_automation_in_document (JsonApiAutomationInDocument):
+
+ 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
+ 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:
+ JsonApiAutomationOutDocument
+ 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_automation_in_document'] = \
+ json_api_automation_in_document
+ return self.create_entity_automations_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_automations(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete an Automation # 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_automations(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_automations_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_automations(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Automations # 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_automations(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:
+ JsonApiAutomationOutList
+ 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_automations_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_automations(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get an Automation # 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_automations(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]
+ 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]
+ 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:
+ JsonApiAutomationOutDocument
+ 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.get_entity_automations_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_automations(
+ self,
+ workspace_id,
+ object_id,
+ json_api_automation_patch_document,
+ **kwargs
+ ):
+ """Patch an Automation # 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_automations(workspace_id, object_id, json_api_automation_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_automation_patch_document (JsonApiAutomationPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAutomationOutDocument
+ 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
+ kwargs['json_api_automation_patch_document'] = \
+ json_api_automation_patch_document
+ return self.patch_entity_automations_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_automations(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_automations(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiAutomationOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_automations_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_automations(
+ self,
+ workspace_id,
+ object_id,
+ json_api_automation_in_document,
+ **kwargs
+ ):
+ """Put an Automation # 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_automations(workspace_id, object_id, json_api_automation_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_automation_in_document (JsonApiAutomationInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiAutomationOutDocument
+ 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
+ kwargs['json_api_automation_in_document'] = \
+ json_api_automation_in_document
+ return self.update_entity_automations_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/cache_usage_api.py b/gooddata-api-client/gooddata_api_client/api/cache_usage_api.py
new file mode 100644
index 000000000..93363f3ae
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/cache_usage_api.py
@@ -0,0 +1,159 @@
+"""
+ 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.cache_usage_data import CacheUsageData
+
+
+class CacheUsageApi(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.collect_cache_usage_endpoint = _Endpoint(
+ settings={
+ 'response_type': (CacheUsageData,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/collectCacheUsage',
+ 'operation_id': 'collect_cache_usage',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+
+ def collect_cache_usage(
+ self,
+ **kwargs
+ ):
+ """Collect data about the current cache usage # noqa: E501
+
+ Get the detailed data about how much cache your organization is currently using, broken down by individual workspaces. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.collect_cache_usage(async_req=True)
+ >>> result = thread.get()
+
+
+ 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:
+ CacheUsageData
+ 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.collect_cache_usage_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/cookie_security_configuration_controller_api.py b/gooddata-api-client/gooddata_api_client/api/cookie_security_configuration_controller_api.py
new file mode 100644
index 000000000..9b5647dcc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/cookie_security_configuration_controller_api.py
@@ -0,0 +1,500 @@
+"""
+ 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_cookie_security_configuration_in_document import JsonApiCookieSecurityConfigurationInDocument
+from gooddata_api_client.model.json_api_cookie_security_configuration_out_document import JsonApiCookieSecurityConfigurationOutDocument
+from gooddata_api_client.model.json_api_cookie_security_configuration_patch_document import JsonApiCookieSecurityConfigurationPatchDocument
+
+
+class CookieSecurityConfigurationControllerApi(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.get_entity_cookie_security_configurations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCookieSecurityConfigurationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/cookieSecurityConfigurations/{id}',
+ 'operation_id': 'get_entity_cookie_security_configurations',
+ '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_cookie_security_configurations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCookieSecurityConfigurationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/cookieSecurityConfigurations/{id}',
+ 'operation_id': 'patch_entity_cookie_security_configurations',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_cookie_security_configuration_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_cookie_security_configuration_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_cookie_security_configuration_patch_document':
+ (JsonApiCookieSecurityConfigurationPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_cookie_security_configuration_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_cookie_security_configurations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCookieSecurityConfigurationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/cookieSecurityConfigurations/{id}',
+ 'operation_id': 'update_entity_cookie_security_configurations',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_cookie_security_configuration_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_cookie_security_configuration_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_cookie_security_configuration_in_document':
+ (JsonApiCookieSecurityConfigurationInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_cookie_security_configuration_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 get_entity_cookie_security_configurations(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get CookieSecurityConfiguration # 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_cookie_security_configurations(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:
+ JsonApiCookieSecurityConfigurationOutDocument
+ 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_cookie_security_configurations_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_cookie_security_configurations(
+ self,
+ id,
+ json_api_cookie_security_configuration_patch_document,
+ **kwargs
+ ):
+ """Patch CookieSecurityConfiguration # 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_cookie_security_configurations(id, json_api_cookie_security_configuration_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_cookie_security_configuration_patch_document (JsonApiCookieSecurityConfigurationPatchDocument):
+
+ 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:
+ JsonApiCookieSecurityConfigurationOutDocument
+ 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_cookie_security_configuration_patch_document'] = \
+ json_api_cookie_security_configuration_patch_document
+ return self.patch_entity_cookie_security_configurations_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_cookie_security_configurations(
+ self,
+ id,
+ json_api_cookie_security_configuration_in_document,
+ **kwargs
+ ):
+ """Put CookieSecurityConfiguration # 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_cookie_security_configurations(id, json_api_cookie_security_configuration_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_cookie_security_configuration_in_document (JsonApiCookieSecurityConfigurationInDocument):
+
+ 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:
+ JsonApiCookieSecurityConfigurationOutDocument
+ 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_cookie_security_configuration_in_document'] = \
+ json_api_cookie_security_configuration_in_document
+ return self.update_entity_cookie_security_configurations_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/custom_application_setting_controller_api.py b/gooddata-api-client/gooddata_api_client/api/custom_application_setting_controller_api.py
new file mode 100644
index 000000000..a89f8f7f2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/custom_application_setting_controller_api.py
@@ -0,0 +1,1200 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_custom_application_setting_in_document import JsonApiCustomApplicationSettingInDocument
+from gooddata_api_client.model.json_api_custom_application_setting_out_document import JsonApiCustomApplicationSettingOutDocument
+from gooddata_api_client.model.json_api_custom_application_setting_out_list import JsonApiCustomApplicationSettingOutList
+from gooddata_api_client.model.json_api_custom_application_setting_patch_document import JsonApiCustomApplicationSettingPatchDocument
+from gooddata_api_client.model.json_api_custom_application_setting_post_optional_id_document import JsonApiCustomApplicationSettingPostOptionalIdDocument
+
+
+class CustomApplicationSettingControllerApi(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_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings',
+ 'operation_id': 'create_entity_custom_application_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_custom_application_setting_post_optional_id_document',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_custom_application_setting_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_custom_application_setting_post_optional_id_document':
+ (JsonApiCustomApplicationSettingPostOptionalIdDocument,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_custom_application_setting_post_optional_id_document': 'body',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ 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_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId}',
+ 'operation_id': 'delete_entity_custom_application_settings',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings',
+ 'operation_id': 'get_all_entities_custom_application_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ '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_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId}',
+ 'operation_id': 'get_entity_custom_application_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId}',
+ 'operation_id': 'patch_entity_custom_application_settings',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_custom_application_setting_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_custom_application_setting_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_custom_application_setting_patch_document':
+ (JsonApiCustomApplicationSettingPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_custom_application_setting_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.search_entities_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/search',
+ 'operation_id': 'search_entities_custom_application_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_custom_application_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomApplicationSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/customApplicationSettings/{objectId}',
+ 'operation_id': 'update_entity_custom_application_settings',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_custom_application_setting_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_custom_application_setting_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_custom_application_setting_in_document':
+ (JsonApiCustomApplicationSettingInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_custom_application_setting_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_custom_application_settings(
+ self,
+ workspace_id,
+ json_api_custom_application_setting_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Custom Application Settings # 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_custom_application_settings(workspace_id, json_api_custom_application_setting_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_custom_application_setting_post_optional_id_document (JsonApiCustomApplicationSettingPostOptionalIdDocument):
+
+ Keyword Args:
+ 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:
+ JsonApiCustomApplicationSettingOutDocument
+ 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_custom_application_setting_post_optional_id_document'] = \
+ json_api_custom_application_setting_post_optional_id_document
+ return self.create_entity_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_custom_application_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Custom Application Setting # 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_custom_application_settings(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_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_custom_application_settings(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Custom Application Settings # 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_custom_application_settings(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]
+ 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:
+ JsonApiCustomApplicationSettingOutList
+ 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_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_custom_application_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Custom Application Setting # 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_custom_application_settings(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]
+ 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:
+ JsonApiCustomApplicationSettingOutDocument
+ 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.get_entity_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_custom_application_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_custom_application_setting_patch_document,
+ **kwargs
+ ):
+ """Patch a Custom Application Setting # 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_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_custom_application_setting_patch_document (JsonApiCustomApplicationSettingPatchDocument):
+
+ 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:
+ JsonApiCustomApplicationSettingOutDocument
+ 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
+ kwargs['json_api_custom_application_setting_patch_document'] = \
+ json_api_custom_application_setting_patch_document
+ return self.patch_entity_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_custom_application_settings(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_custom_application_settings(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiCustomApplicationSettingOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_custom_application_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_custom_application_setting_in_document,
+ **kwargs
+ ):
+ """Put a Custom Application Setting # 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_custom_application_settings(workspace_id, object_id, json_api_custom_application_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_custom_application_setting_in_document (JsonApiCustomApplicationSettingInDocument):
+
+ 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:
+ JsonApiCustomApplicationSettingOutDocument
+ 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
+ kwargs['json_api_custom_application_setting_in_document'] = \
+ json_api_custom_application_setting_in_document
+ return self.update_entity_custom_application_settings_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/custom_geo_collection_controller_api.py b/gooddata-api-client/gooddata_api_client/api/custom_geo_collection_controller_api.py
new file mode 100644
index 000000000..65abbddec
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/custom_geo_collection_controller_api.py
@@ -0,0 +1,940 @@
+"""
+ 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_custom_geo_collection_in_document import JsonApiCustomGeoCollectionInDocument
+from gooddata_api_client.model.json_api_custom_geo_collection_out_document import JsonApiCustomGeoCollectionOutDocument
+from gooddata_api_client.model.json_api_custom_geo_collection_out_list import JsonApiCustomGeoCollectionOutList
+from gooddata_api_client.model.json_api_custom_geo_collection_patch_document import JsonApiCustomGeoCollectionPatchDocument
+
+
+class CustomGeoCollectionControllerApi(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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomGeoCollectionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections',
+ 'operation_id': 'create_entity_custom_geo_collections',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_custom_geo_collection_in_document',
+ ],
+ 'required': [
+ 'json_api_custom_geo_collection_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'json_api_custom_geo_collection_in_document':
+ (JsonApiCustomGeoCollectionInDocument,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'json_api_custom_geo_collection_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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections/{id}',
+ 'operation_id': 'delete_entity_custom_geo_collections',
+ '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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomGeoCollectionOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections',
+ 'operation_id': 'get_all_entities_custom_geo_collections',
+ '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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomGeoCollectionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections/{id}',
+ 'operation_id': 'get_entity_custom_geo_collections',
+ '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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomGeoCollectionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections/{id}',
+ 'operation_id': 'patch_entity_custom_geo_collections',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_custom_geo_collection_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_custom_geo_collection_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_custom_geo_collection_patch_document':
+ (JsonApiCustomGeoCollectionPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_custom_geo_collection_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_custom_geo_collections_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiCustomGeoCollectionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/customGeoCollections/{id}',
+ 'operation_id': 'update_entity_custom_geo_collections',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_custom_geo_collection_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_custom_geo_collection_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_custom_geo_collection_in_document':
+ (JsonApiCustomGeoCollectionInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_custom_geo_collection_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_custom_geo_collections(
+ self,
+ json_api_custom_geo_collection_in_document,
+ **kwargs
+ ):
+ """Post Custom Geo Collections # 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_custom_geo_collections(json_api_custom_geo_collection_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_custom_geo_collection_in_document (JsonApiCustomGeoCollectionInDocument):
+
+ 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:
+ JsonApiCustomGeoCollectionOutDocument
+ 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_custom_geo_collection_in_document'] = \
+ json_api_custom_geo_collection_in_document
+ return self.create_entity_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_custom_geo_collections(
+ self,
+ id,
+ **kwargs
+ ):
+ """Delete Custom Geo Collection # 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_custom_geo_collections(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_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_custom_geo_collections(
+ self,
+ **kwargs
+ ):
+ """Get all Custom Geo Collections # 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_custom_geo_collections(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:
+ JsonApiCustomGeoCollectionOutList
+ 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_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_custom_geo_collections(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get Custom Geo Collection # 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_custom_geo_collections(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:
+ JsonApiCustomGeoCollectionOutDocument
+ 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_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_custom_geo_collections(
+ self,
+ id,
+ json_api_custom_geo_collection_patch_document,
+ **kwargs
+ ):
+ """Patch Custom Geo Collection # 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_custom_geo_collections(id, json_api_custom_geo_collection_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_custom_geo_collection_patch_document (JsonApiCustomGeoCollectionPatchDocument):
+
+ 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:
+ JsonApiCustomGeoCollectionOutDocument
+ 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_custom_geo_collection_patch_document'] = \
+ json_api_custom_geo_collection_patch_document
+ return self.patch_entity_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_custom_geo_collections(
+ self,
+ id,
+ json_api_custom_geo_collection_in_document,
+ **kwargs
+ ):
+ """Put Custom Geo Collection # 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_custom_geo_collections(id, json_api_custom_geo_collection_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_custom_geo_collection_in_document (JsonApiCustomGeoCollectionInDocument):
+
+ 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:
+ JsonApiCustomGeoCollectionOutDocument
+ 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_custom_geo_collection_in_document'] = \
+ json_api_custom_geo_collection_in_document
+ return self.update_entity_custom_geo_collections_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/dashboard_plugin_controller_api.py b/gooddata-api-client/gooddata_api_client/api/dashboard_plugin_controller_api.py
new file mode 100644
index 000000000..1ea10bd41
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/dashboard_plugin_controller_api.py
@@ -0,0 +1,1275 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_dashboard_plugin_in_document import JsonApiDashboardPluginInDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_out_list import JsonApiDashboardPluginOutList
+from gooddata_api_client.model.json_api_dashboard_plugin_patch_document import JsonApiDashboardPluginPatchDocument
+from gooddata_api_client.model.json_api_dashboard_plugin_post_optional_id_document import JsonApiDashboardPluginPostOptionalIdDocument
+
+
+class DashboardPluginControllerApi(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_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins',
+ 'operation_id': 'create_entity_dashboard_plugins',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_dashboard_plugin_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_dashboard_plugin_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_dashboard_plugin_post_optional_id_document':
+ (JsonApiDashboardPluginPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_dashboard_plugin_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId}',
+ 'operation_id': 'delete_entity_dashboard_plugins',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins',
+ 'operation_id': 'get_all_entities_dashboard_plugins',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId}',
+ 'operation_id': 'get_entity_dashboard_plugins',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId}',
+ 'operation_id': 'patch_entity_dashboard_plugins',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dashboard_plugin_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dashboard_plugin_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_dashboard_plugin_patch_document':
+ (JsonApiDashboardPluginPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_dashboard_plugin_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/search',
+ 'operation_id': 'search_entities_dashboard_plugins',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_dashboard_plugins_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDashboardPluginOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/dashboardPlugins/{objectId}',
+ 'operation_id': 'update_entity_dashboard_plugins',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dashboard_plugin_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dashboard_plugin_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_dashboard_plugin_in_document':
+ (JsonApiDashboardPluginInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_dashboard_plugin_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_dashboard_plugins(
+ self,
+ workspace_id,
+ json_api_dashboard_plugin_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Plugins # 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_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_dashboard_plugin_post_optional_id_document (JsonApiDashboardPluginPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiDashboardPluginOutDocument
+ 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_dashboard_plugin_post_optional_id_document'] = \
+ json_api_dashboard_plugin_post_optional_id_document
+ return self.create_entity_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_dashboard_plugins(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Plugin # 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_dashboard_plugins(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_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_dashboard_plugins(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Plugins # 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_dashboard_plugins(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:
+ JsonApiDashboardPluginOutList
+ 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_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_dashboard_plugins(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Plugin # 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_dashboard_plugins(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]
+ 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]
+ 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:
+ JsonApiDashboardPluginOutDocument
+ 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.get_entity_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_dashboard_plugins(
+ self,
+ workspace_id,
+ object_id,
+ json_api_dashboard_plugin_patch_document,
+ **kwargs
+ ):
+ """Patch a Plugin # 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_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_dashboard_plugin_patch_document (JsonApiDashboardPluginPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiDashboardPluginOutDocument
+ 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
+ kwargs['json_api_dashboard_plugin_patch_document'] = \
+ json_api_dashboard_plugin_patch_document
+ return self.patch_entity_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_dashboard_plugins(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_dashboard_plugins(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiDashboardPluginOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_dashboard_plugins(
+ self,
+ workspace_id,
+ object_id,
+ json_api_dashboard_plugin_in_document,
+ **kwargs
+ ):
+ """Put a Plugin # 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_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_dashboard_plugin_in_document (JsonApiDashboardPluginInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiDashboardPluginOutDocument
+ 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
+ kwargs['json_api_dashboard_plugin_in_document'] = \
+ json_api_dashboard_plugin_in_document
+ return self.update_entity_dashboard_plugins_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_controller_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_controller_api.py
new file mode 100644
index 000000000..2bad124d5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_controller_api.py
@@ -0,0 +1,983 @@
+"""
+ 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_data_source_in_document import JsonApiDataSourceInDocument
+from gooddata_api_client.model.json_api_data_source_out_document import JsonApiDataSourceOutDocument
+from gooddata_api_client.model.json_api_data_source_out_list import JsonApiDataSourceOutList
+from gooddata_api_client.model.json_api_data_source_patch_document import JsonApiDataSourcePatchDocument
+
+
+class DataSourceControllerApi(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_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDataSourceOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources',
+ 'operation_id': 'create_entity_data_sources',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_data_source_in_document',
+ 'meta_include',
+ ],
+ 'required': [
+ 'json_api_data_source_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'json_api_data_source_in_document':
+ (JsonApiDataSourceInDocument,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'json_api_data_source_in_document': 'body',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ 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_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources/{id}',
+ 'operation_id': 'delete_entity_data_sources',
+ '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_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDataSourceOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources',
+ 'operation_id': 'get_all_entities_data_sources',
+ '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',): {
+
+ "PERMISSIONS": "permissions",
+ "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_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDataSourceOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources/{id}',
+ 'operation_id': 'get_entity_data_sources',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ 'meta_include',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'id',
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDataSourceOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources/{id}',
+ 'operation_id': 'patch_entity_data_sources',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_data_source_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_data_source_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_data_source_patch_document':
+ (JsonApiDataSourcePatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_data_source_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_data_sources_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDataSourceOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/dataSources/{id}',
+ 'operation_id': 'update_entity_data_sources',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_data_source_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_data_source_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_data_source_in_document':
+ (JsonApiDataSourceInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_data_source_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_data_sources(
+ self,
+ json_api_data_source_in_document,
+ **kwargs
+ ):
+ """Post Data Sources # noqa: E501
+
+ Data Source - represents data source for the 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.create_entity_data_sources(json_api_data_source_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_data_source_in_document (JsonApiDataSourceInDocument):
+
+ Keyword Args:
+ 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:
+ JsonApiDataSourceOutDocument
+ 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_data_source_in_document'] = \
+ json_api_data_source_in_document
+ return self.create_entity_data_sources_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_data_sources(
+ self,
+ id,
+ **kwargs
+ ):
+ """Delete Data Source entity # noqa: E501
+
+ Data Source - represents data source for the 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.delete_entity_data_sources(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_data_sources_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_data_sources(
+ self,
+ **kwargs
+ ):
+ """Get Data Source entities # noqa: E501
+
+ Data Source - represents data source for the 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.get_all_entities_data_sources(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:
+ JsonApiDataSourceOutList
+ 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_data_sources_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_data_sources(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get Data Source entity # noqa: E501
+
+ Data Source - represents data source for the 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.get_entity_data_sources(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]
+ 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:
+ JsonApiDataSourceOutDocument
+ 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_data_sources_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_data_sources(
+ self,
+ id,
+ json_api_data_source_patch_document,
+ **kwargs
+ ):
+ """Patch Data Source entity # noqa: E501
+
+ Data Source - represents data source for the 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.patch_entity_data_sources(id, json_api_data_source_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_data_source_patch_document (JsonApiDataSourcePatchDocument):
+
+ 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:
+ JsonApiDataSourceOutDocument
+ 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_data_source_patch_document'] = \
+ json_api_data_source_patch_document
+ return self.patch_entity_data_sources_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_data_sources(
+ self,
+ id,
+ json_api_data_source_in_document,
+ **kwargs
+ ):
+ """Put Data Source entity # noqa: E501
+
+ Data Source - represents data source for the 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.update_entity_data_sources(id, json_api_data_source_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_data_source_in_document (JsonApiDataSourceInDocument):
+
+ 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:
+ JsonApiDataSourceOutDocument
+ 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_data_source_in_document'] = \
+ json_api_data_source_in_document
+ return self.update_entity_data_sources_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_files_analysis_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_files_analysis_api.py
new file mode 100644
index 000000000..e4a2affde
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_files_analysis_api.py
@@ -0,0 +1,173 @@
+"""
+ 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.analyze_csv_request import AnalyzeCsvRequest
+from gooddata_api_client.model.analyze_csv_response import AnalyzeCsvResponse
+
+
+class DataSourceFilesAnalysisApi(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.analyze_csv_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([AnalyzeCsvResponse],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/staging/analyzeCsv',
+ 'operation_id': 'analyze_csv',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'analyze_csv_request',
+ ],
+ 'required': [
+ 'analyze_csv_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'analyze_csv_request':
+ (AnalyzeCsvRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'analyze_csv_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def analyze_csv(
+ self,
+ analyze_csv_request,
+ **kwargs
+ ):
+ """Analyze CSV # noqa: E501
+
+ Analyzes CSV files at the given locations # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.analyze_csv(analyze_csv_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ analyze_csv_request (AnalyzeCsvRequest):
+
+ 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:
+ [AnalyzeCsvResponse]
+ 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['analyze_csv_request'] = \
+ analyze_csv_request
+ return self.analyze_csv_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_files_deletion_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_files_deletion_api.py
new file mode 100644
index 000000000..539388fa9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_files_deletion_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.delete_files_request import DeleteFilesRequest
+
+
+class DataSourceFilesDeletionApi(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.delete_files_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/deleteFiles',
+ 'operation_id': 'delete_files',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ 'delete_files_request',
+ ],
+ 'required': [
+ 'data_source_id',
+ 'delete_files_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ 'delete_files_request':
+ (DeleteFilesRequest,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ 'delete_files_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def delete_files(
+ self,
+ data_source_id,
+ delete_files_request,
+ **kwargs
+ ):
+ """Delete datasource files # noqa: E501
+
+ Delete the files in the given 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.delete_files(data_source_id, delete_files_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str):
+ delete_files_request (DeleteFilesRequest):
+
+ 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['data_source_id'] = \
+ data_source_id
+ kwargs['delete_files_request'] = \
+ delete_files_request
+ return self.delete_files_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_files_import_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_files_import_api.py
new file mode 100644
index 000000000..46395edf0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_files_import_api.py
@@ -0,0 +1,183 @@
+"""
+ 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.import_csv_request import ImportCsvRequest
+from gooddata_api_client.model.import_csv_response import ImportCsvResponse
+
+
+class DataSourceFilesImportApi(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.import_csv_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([ImportCsvResponse],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/importCsv',
+ 'operation_id': 'import_csv',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ 'import_csv_request',
+ ],
+ 'required': [
+ 'data_source_id',
+ 'import_csv_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ 'import_csv_request':
+ (ImportCsvRequest,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ 'import_csv_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def import_csv(
+ self,
+ data_source_id,
+ import_csv_request,
+ **kwargs
+ ):
+ """Import CSV # noqa: E501
+
+ Import the CSV files at the given locations in the staging area to the final location. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.import_csv(data_source_id, import_csv_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str):
+ import_csv_request (ImportCsvRequest):
+
+ 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:
+ [ImportCsvResponse]
+ 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['import_csv_request'] = \
+ import_csv_request
+ return self.import_csv_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_files_listing_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_files_listing_api.py
new file mode 100644
index 000000000..b67bd3d53
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_files_listing_api.py
@@ -0,0 +1,171 @@
+"""
+ 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.gd_storage_file import GdStorageFile
+
+
+class DataSourceFilesListingApi(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.list_files_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([GdStorageFile],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/listFiles',
+ 'operation_id': 'list_files',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ ],
+ 'required': [
+ 'data_source_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+
+ def list_files(
+ self,
+ data_source_id,
+ **kwargs
+ ):
+ """List datasource files # noqa: E501
+
+ List all the files in the given 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.list_files(data_source_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_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:
+ [GdStorageFile]
+ 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
+ return self.list_files_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_files_manifest_read_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_files_manifest_read_api.py
new file mode 100644
index 000000000..2f9261a24
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_files_manifest_read_api.py
@@ -0,0 +1,183 @@
+"""
+ 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.read_csv_file_manifests_request import ReadCsvFileManifestsRequest
+from gooddata_api_client.model.read_csv_file_manifests_response import ReadCsvFileManifestsResponse
+
+
+class DataSourceFilesManifestReadApi(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.read_csv_file_manifests_endpoint = _Endpoint(
+ settings={
+ 'response_type': ([ReadCsvFileManifestsResponse],),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/dataSources/{dataSourceId}/readCsvFileManifests',
+ 'operation_id': 'read_csv_file_manifests',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'data_source_id',
+ 'read_csv_file_manifests_request',
+ ],
+ 'required': [
+ 'data_source_id',
+ 'read_csv_file_manifests_request',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'data_source_id':
+ (str,),
+ 'read_csv_file_manifests_request':
+ (ReadCsvFileManifestsRequest,),
+ },
+ 'attribute_map': {
+ 'data_source_id': 'dataSourceId',
+ },
+ 'location_map': {
+ 'data_source_id': 'path',
+ 'read_csv_file_manifests_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def read_csv_file_manifests(
+ self,
+ data_source_id,
+ read_csv_file_manifests_request,
+ **kwargs
+ ):
+ """Read CSV file manifests # noqa: E501
+
+ Read the manifests of the CSV files in the given 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.read_csv_file_manifests(data_source_id, read_csv_file_manifests_request, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ data_source_id (str):
+ read_csv_file_manifests_request (ReadCsvFileManifestsRequest):
+
+ 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:
+ [ReadCsvFileManifestsResponse]
+ 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['read_csv_file_manifests_request'] = \
+ read_csv_file_manifests_request
+ return self.read_csv_file_manifests_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/data_source_staging_location_api.py b/gooddata-api-client/gooddata_api_client/api/data_source_staging_location_api.py
new file mode 100644
index 000000000..e0739b27f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/data_source_staging_location_api.py
@@ -0,0 +1,173 @@
+"""
+ 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.upload_file_response import UploadFileResponse
+
+
+class DataSourceStagingLocationApi(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.staging_upload_endpoint = _Endpoint(
+ settings={
+ 'response_type': (UploadFileResponse,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/actions/fileStorage/staging/upload',
+ 'operation_id': 'staging_upload',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'file',
+ ],
+ 'required': [
+ 'file',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'file':
+ (file_type,),
+ },
+ 'attribute_map': {
+ 'file': 'file',
+ },
+ 'location_map': {
+ 'file': 'form',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'multipart/form-data'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def staging_upload(
+ self,
+ file,
+ **kwargs
+ ):
+ """Upload a file to the staging area # noqa: E501
+
+ Provides a location for uploading staging files. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.staging_upload(file, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ file (file_type): The file to upload.
+
+ 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:
+ UploadFileResponse
+ 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['file'] = \
+ file
+ return self.staging_upload_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/dataset_controller_api.py b/gooddata-api-client/gooddata_api_client/api/dataset_controller_api.py
new file mode 100644
index 000000000..58adf7926
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/dataset_controller_api.py
@@ -0,0 +1,785 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_dataset_out_document import JsonApiDatasetOutDocument
+from gooddata_api_client.model.json_api_dataset_out_list import JsonApiDatasetOutList
+from gooddata_api_client.model.json_api_dataset_patch_document import JsonApiDatasetPatchDocument
+
+
+class DatasetControllerApi(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.get_all_entities_datasets_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDatasetOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/datasets',
+ 'operation_id': 'get_all_entities_datasets',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "FACTS": "facts",
+ "AGGREGATEDFACTS": "aggregatedFacts",
+ "DATASETS": "datasets",
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "REFERENCES": "references",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_datasets_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDatasetOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/datasets/{objectId}',
+ 'operation_id': 'get_entity_datasets',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "FACTS": "facts",
+ "AGGREGATEDFACTS": "aggregatedFacts",
+ "DATASETS": "datasets",
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "REFERENCES": "references",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_datasets_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDatasetOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/datasets/{objectId}',
+ 'operation_id': 'patch_entity_datasets',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dataset_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_dataset_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "FACTS": "facts",
+ "AGGREGATEDFACTS": "aggregatedFacts",
+ "DATASETS": "datasets",
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "REFERENCES": "references",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_dataset_patch_document':
+ (JsonApiDatasetPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_dataset_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_datasets_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiDatasetOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/datasets/search',
+ 'operation_id': 'search_entities_datasets',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def get_all_entities_datasets(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Datasets # 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_datasets(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:
+ JsonApiDatasetOutList
+ 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_datasets_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_datasets(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Dataset # 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_datasets(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]
+ 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]
+ 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:
+ JsonApiDatasetOutDocument
+ 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.get_entity_datasets_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_datasets(
+ self,
+ workspace_id,
+ object_id,
+ json_api_dataset_patch_document,
+ **kwargs
+ ):
+ """Patch a Dataset (beta) # 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_datasets(workspace_id, object_id, json_api_dataset_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_dataset_patch_document (JsonApiDatasetPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiDatasetOutDocument
+ 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
+ kwargs['json_api_dataset_patch_document'] = \
+ json_api_dataset_patch_document
+ return self.patch_entity_datasets_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_datasets(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_datasets(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiDatasetOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_datasets_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/export_definition_controller_api.py b/gooddata-api-client/gooddata_api_client/api/export_definition_controller_api.py
new file mode 100644
index 000000000..5c98c9104
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/export_definition_controller_api.py
@@ -0,0 +1,1305 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_export_definition_in_document import JsonApiExportDefinitionInDocument
+from gooddata_api_client.model.json_api_export_definition_out_document import JsonApiExportDefinitionOutDocument
+from gooddata_api_client.model.json_api_export_definition_out_list import JsonApiExportDefinitionOutList
+from gooddata_api_client.model.json_api_export_definition_patch_document import JsonApiExportDefinitionPatchDocument
+from gooddata_api_client.model.json_api_export_definition_post_optional_id_document import JsonApiExportDefinitionPostOptionalIdDocument
+
+
+class ExportDefinitionControllerApi(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_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions',
+ 'operation_id': 'create_entity_export_definitions',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_export_definition_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_export_definition_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "AUTOMATIONS": "automations",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECT": "visualizationObject",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "AUTOMATION": "automation",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_export_definition_post_optional_id_document':
+ (JsonApiExportDefinitionPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_export_definition_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId}',
+ 'operation_id': 'delete_entity_export_definitions',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions',
+ 'operation_id': 'get_all_entities_export_definitions',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "AUTOMATIONS": "automations",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECT": "visualizationObject",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "AUTOMATION": "automation",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId}',
+ 'operation_id': 'get_entity_export_definitions',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "AUTOMATIONS": "automations",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECT": "visualizationObject",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "AUTOMATION": "automation",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId}',
+ 'operation_id': 'patch_entity_export_definitions',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_export_definition_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_export_definition_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "AUTOMATIONS": "automations",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECT": "visualizationObject",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "AUTOMATION": "automation",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_export_definition_patch_document':
+ (JsonApiExportDefinitionPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_export_definition_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions/search',
+ 'operation_id': 'search_entities_export_definitions',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_export_definitions_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiExportDefinitionOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/exportDefinitions/{objectId}',
+ 'operation_id': 'update_entity_export_definitions',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_export_definition_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_export_definition_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "VISUALIZATIONOBJECTS": "visualizationObjects",
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "AUTOMATIONS": "automations",
+ "USERIDENTIFIERS": "userIdentifiers",
+ "VISUALIZATIONOBJECT": "visualizationObject",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "AUTOMATION": "automation",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_export_definition_in_document':
+ (JsonApiExportDefinitionInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_export_definition_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_export_definitions(
+ self,
+ workspace_id,
+ json_api_export_definition_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Export 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.create_entity_export_definitions(workspace_id, json_api_export_definition_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_export_definition_post_optional_id_document (JsonApiExportDefinitionPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiExportDefinitionOutDocument
+ 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_export_definition_post_optional_id_document'] = \
+ json_api_export_definition_post_optional_id_document
+ return self.create_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_export_definitions(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete an Export 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.delete_entity_export_definitions(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_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_export_definitions(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Export 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_all_entities_export_definitions(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:
+ JsonApiExportDefinitionOutList
+ 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_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_export_definitions(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get an Export 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.get_entity_export_definitions(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]
+ 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]
+ 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:
+ JsonApiExportDefinitionOutDocument
+ 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.get_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_export_definitions(
+ self,
+ workspace_id,
+ object_id,
+ json_api_export_definition_patch_document,
+ **kwargs
+ ):
+ """Patch an Export 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.patch_entity_export_definitions(workspace_id, object_id, json_api_export_definition_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_export_definition_patch_document (JsonApiExportDefinitionPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiExportDefinitionOutDocument
+ 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
+ kwargs['json_api_export_definition_patch_document'] = \
+ json_api_export_definition_patch_document
+ return self.patch_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_export_definitions(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_export_definitions(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiExportDefinitionOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_export_definitions_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_export_definitions(
+ self,
+ workspace_id,
+ object_id,
+ json_api_export_definition_in_document,
+ **kwargs
+ ):
+ """Put an Export 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.update_entity_export_definitions(workspace_id, object_id, json_api_export_definition_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_export_definition_in_document (JsonApiExportDefinitionInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiExportDefinitionOutDocument
+ 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
+ kwargs['json_api_export_definition_in_document'] = \
+ json_api_export_definition_in_document
+ return self.update_entity_export_definitions_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/fact_controller_api.py b/gooddata-api-client/gooddata_api_client/api/fact_controller_api.py
new file mode 100644
index 000000000..0e14c5536
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/fact_controller_api.py
@@ -0,0 +1,773 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_fact_out_document import JsonApiFactOutDocument
+from gooddata_api_client.model.json_api_fact_out_list import JsonApiFactOutList
+from gooddata_api_client.model.json_api_fact_patch_document import JsonApiFactPatchDocument
+
+
+class FactControllerApi(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.get_all_entities_facts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFactOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/facts',
+ 'operation_id': 'get_all_entities_facts',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "DATASET": "dataset",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_facts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFactOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/facts/{objectId}',
+ 'operation_id': 'get_entity_facts',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "DATASET": "dataset",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_facts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFactOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/facts/{objectId}',
+ 'operation_id': 'patch_entity_facts',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_fact_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_fact_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "DATASETS": "datasets",
+ "DATASET": "dataset",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_fact_patch_document':
+ (JsonApiFactPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_fact_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_facts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFactOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/facts/search',
+ 'operation_id': 'search_entities_facts',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def get_all_entities_facts(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Facts # 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_facts(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:
+ JsonApiFactOutList
+ 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_facts_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_facts(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Fact # 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_facts(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]
+ 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]
+ 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:
+ JsonApiFactOutDocument
+ 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.get_entity_facts_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_facts(
+ self,
+ workspace_id,
+ object_id,
+ json_api_fact_patch_document,
+ **kwargs
+ ):
+ """Patch a Fact (beta) # 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_facts(workspace_id, object_id, json_api_fact_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_fact_patch_document (JsonApiFactPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiFactOutDocument
+ 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
+ kwargs['json_api_fact_patch_document'] = \
+ json_api_fact_patch_document
+ return self.patch_entity_facts_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_facts(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_facts(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiFactOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_facts_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/filter_context_controller_api.py b/gooddata-api-client/gooddata_api_client/api/filter_context_controller_api.py
new file mode 100644
index 000000000..55f32dbcb
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/filter_context_controller_api.py
@@ -0,0 +1,1275 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_filter_context_in_document import JsonApiFilterContextInDocument
+from gooddata_api_client.model.json_api_filter_context_out_document import JsonApiFilterContextOutDocument
+from gooddata_api_client.model.json_api_filter_context_out_list import JsonApiFilterContextOutList
+from gooddata_api_client.model.json_api_filter_context_patch_document import JsonApiFilterContextPatchDocument
+from gooddata_api_client.model.json_api_filter_context_post_optional_id_document import JsonApiFilterContextPostOptionalIdDocument
+
+
+class FilterContextControllerApi(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_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts',
+ 'operation_id': 'create_entity_filter_contexts',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_filter_context_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_filter_context_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_filter_context_post_optional_id_document':
+ (JsonApiFilterContextPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_filter_context_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId}',
+ 'operation_id': 'delete_entity_filter_contexts',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts',
+ 'operation_id': 'get_all_entities_filter_contexts',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId}',
+ 'operation_id': 'get_entity_filter_contexts',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId}',
+ 'operation_id': 'patch_entity_filter_contexts',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_context_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_context_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_filter_context_patch_document':
+ (JsonApiFilterContextPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_filter_context_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts/search',
+ 'operation_id': 'search_entities_filter_contexts',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_filter_contexts_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterContextOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterContexts/{objectId}',
+ 'operation_id': 'update_entity_filter_contexts',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_context_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_context_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "DATASETS": "datasets",
+ "LABELS": "labels",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_filter_context_in_document':
+ (JsonApiFilterContextInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_filter_context_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_filter_contexts(
+ self,
+ workspace_id,
+ json_api_filter_context_post_optional_id_document,
+ **kwargs
+ ):
+ """Post 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.create_entity_filter_contexts(workspace_id, json_api_filter_context_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_filter_context_post_optional_id_document (JsonApiFilterContextPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiFilterContextOutDocument
+ 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_context_post_optional_id_document'] = \
+ json_api_filter_context_post_optional_id_document
+ return self.create_entity_filter_contexts_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 get_all_entities_filter_contexts(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all 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.get_all_entities_filter_contexts(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:
+ JsonApiFilterContextOutList
+ 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_filter_contexts_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_filter_contexts(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get 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.get_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]
+ 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]
+ 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:
+ JsonApiFilterContextOutDocument
+ 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.get_entity_filter_contexts_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_filter_contexts(
+ self,
+ workspace_id,
+ object_id,
+ json_api_filter_context_patch_document,
+ **kwargs
+ ):
+ """Patch 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.patch_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_filter_context_patch_document (JsonApiFilterContextPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiFilterContextOutDocument
+ 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
+ kwargs['json_api_filter_context_patch_document'] = \
+ json_api_filter_context_patch_document
+ return self.patch_entity_filter_contexts_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_filter_contexts(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_filter_contexts(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiFilterContextOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_filter_contexts_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_filter_contexts(
+ self,
+ workspace_id,
+ object_id,
+ json_api_filter_context_in_document,
+ **kwargs
+ ):
+ """Put 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.update_entity_filter_contexts(workspace_id, object_id, json_api_filter_context_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_filter_context_in_document (JsonApiFilterContextInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiFilterContextOutDocument
+ 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
+ kwargs['json_api_filter_context_in_document'] = \
+ json_api_filter_context_in_document
+ return self.update_entity_filter_contexts_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/filter_view_controller_api.py b/gooddata-api-client/gooddata_api_client/api/filter_view_controller_api.py
new file mode 100644
index 000000000..24085476e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/filter_view_controller_api.py
@@ -0,0 +1,1242 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_filter_view_in_document import JsonApiFilterViewInDocument
+from gooddata_api_client.model.json_api_filter_view_out_document import JsonApiFilterViewOutDocument
+from gooddata_api_client.model.json_api_filter_view_out_list import JsonApiFilterViewOutList
+from gooddata_api_client.model.json_api_filter_view_patch_document import JsonApiFilterViewPatchDocument
+
+
+class FilterViewControllerApi(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_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews',
+ 'operation_id': 'create_entity_filter_views',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_filter_view_in_document',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_filter_view_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERS": "users",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "USER": "user",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_filter_view_in_document':
+ (JsonApiFilterViewInDocument,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_filter_view_in_document': 'body',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId}',
+ 'operation_id': 'delete_entity_filter_views',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews',
+ 'operation_id': 'get_all_entities_filter_views',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERS": "users",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "USER": "user",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId}',
+ 'operation_id': 'get_entity_filter_views',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERS": "users",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "USER": "user",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId}',
+ 'operation_id': 'patch_entity_filter_views',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_view_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_view_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERS": "users",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "USER": "user",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_filter_view_patch_document':
+ (JsonApiFilterViewPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_filter_view_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews/search',
+ 'operation_id': 'search_entities_filter_views',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_filter_views_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiFilterViewOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/filterViews/{objectId}',
+ 'operation_id': 'update_entity_filter_views',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_view_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_filter_view_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ANALYTICALDASHBOARDS": "analyticalDashboards",
+ "USERS": "users",
+ "ANALYTICALDASHBOARD": "analyticalDashboard",
+ "USER": "user",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_filter_view_in_document':
+ (JsonApiFilterViewInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_filter_view_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_filter_views(
+ self,
+ workspace_id,
+ json_api_filter_view_in_document,
+ **kwargs
+ ):
+ """Post Filter views # 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_filter_views(workspace_id, json_api_filter_view_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_filter_view_in_document (JsonApiFilterViewInDocument):
+
+ 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]
+ _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:
+ 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 delete_entity_filter_views(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """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_views(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_views_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_filter_views(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Filter views # 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_filter_views(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:
+ JsonApiFilterViewOutList
+ 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_filter_views_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_filter_views(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get 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.get_entity_filter_views(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]
+ 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]
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ 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['object_id'] = \
+ object_id
+ return self.get_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_filter_views(
+ self,
+ workspace_id,
+ object_id,
+ json_api_filter_view_patch_document,
+ **kwargs
+ ):
+ """Patch 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.patch_entity_filter_views(workspace_id, object_id, json_api_filter_view_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_filter_view_patch_document (JsonApiFilterViewPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ 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['object_id'] = \
+ object_id
+ kwargs['json_api_filter_view_patch_document'] = \
+ json_api_filter_view_patch_document
+ return self.patch_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_filter_views(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_filter_views(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiFilterViewOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_filter_views_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_filter_views(
+ self,
+ workspace_id,
+ object_id,
+ json_api_filter_view_in_document,
+ **kwargs
+ ):
+ """Put Filter views # 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_filter_views(workspace_id, object_id, json_api_filter_view_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_filter_view_in_document (JsonApiFilterViewInDocument):
+
+ 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]
+ 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]
+ _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:
+ 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['object_id'] = \
+ object_id
+ kwargs['json_api_filter_view_in_document'] = \
+ json_api_filter_view_in_document
+ return self.update_entity_filter_views_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/jwk_controller_api.py b/gooddata-api-client/gooddata_api_client/api/jwk_controller_api.py
new file mode 100644
index 000000000..6fcbfc9cd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/jwk_controller_api.py
@@ -0,0 +1,946 @@
+"""
+ 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_jwk_in_document import JsonApiJwkInDocument
+from gooddata_api_client.model.json_api_jwk_out_document import JsonApiJwkOutDocument
+from gooddata_api_client.model.json_api_jwk_out_list import JsonApiJwkOutList
+from gooddata_api_client.model.json_api_jwk_patch_document import JsonApiJwkPatchDocument
+
+
+class JwkControllerApi(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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiJwkOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks',
+ 'operation_id': 'create_entity_jwks',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'json_api_jwk_in_document',
+ ],
+ 'required': [
+ 'json_api_jwk_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'json_api_jwk_in_document':
+ (JsonApiJwkInDocument,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'json_api_jwk_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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks/{id}',
+ 'operation_id': 'delete_entity_jwks',
+ '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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiJwkOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks',
+ 'operation_id': 'get_all_entities_jwks',
+ '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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiJwkOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks/{id}',
+ 'operation_id': 'get_entity_jwks',
+ '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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiJwkOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks/{id}',
+ 'operation_id': 'patch_entity_jwks',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_jwk_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_jwk_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_jwk_patch_document':
+ (JsonApiJwkPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_jwk_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_jwks_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiJwkOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/jwks/{id}',
+ 'operation_id': 'update_entity_jwks',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_jwk_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_jwk_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_jwk_in_document':
+ (JsonApiJwkInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_jwk_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_jwks(
+ self,
+ json_api_jwk_in_document,
+ **kwargs
+ ):
+ """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_jwks(json_api_jwk_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ json_api_jwk_in_document (JsonApiJwkInDocument):
+
+ 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:
+ JsonApiJwkOutDocument
+ 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_jwk_in_document'] = \
+ json_api_jwk_in_document
+ return self.create_entity_jwks_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_jwks(
+ self,
+ id,
+ **kwargs
+ ):
+ """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_jwks(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_jwks_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()
+
+
+ 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:
+ JsonApiJwkOutList
+ 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_jwks_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_jwks(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get Jwk # noqa: E501
+
+ Returns 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.get_entity_jwks(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:
+ JsonApiJwkOutDocument
+ 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_jwks_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_jwks(
+ self,
+ id,
+ json_api_jwk_patch_document,
+ **kwargs
+ ):
+ """Patch Jwk # noqa: E501
+
+ Patches 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.patch_entity_jwks(id, json_api_jwk_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_jwk_patch_document (JsonApiJwkPatchDocument):
+
+ 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:
+ JsonApiJwkOutDocument
+ 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_jwk_patch_document'] = \
+ json_api_jwk_patch_document
+ return self.patch_entity_jwks_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_jwks(
+ self,
+ id,
+ json_api_jwk_in_document,
+ **kwargs
+ ):
+ """Put Jwk # noqa: E501
+
+ Updates 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.update_entity_jwks(id, json_api_jwk_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_jwk_in_document (JsonApiJwkInDocument):
+
+ 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:
+ JsonApiJwkOutDocument
+ 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_jwk_in_document'] = \
+ json_api_jwk_in_document
+ return self.update_entity_jwks_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/label_controller_api.py b/gooddata-api-client/gooddata_api_client/api/label_controller_api.py
new file mode 100644
index 000000000..d17e69a18
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/label_controller_api.py
@@ -0,0 +1,773 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_label_out_document import JsonApiLabelOutDocument
+from gooddata_api_client.model.json_api_label_out_list import JsonApiLabelOutList
+from gooddata_api_client.model.json_api_label_patch_document import JsonApiLabelPatchDocument
+
+
+class LabelControllerApi(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.get_all_entities_labels_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLabelOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/labels',
+ 'operation_id': 'get_all_entities_labels',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "ATTRIBUTE": "attribute",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_labels_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLabelOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/labels/{objectId}',
+ 'operation_id': 'get_entity_labels',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "ATTRIBUTE": "attribute",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_labels_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLabelOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/labels/{objectId}',
+ 'operation_id': 'patch_entity_labels',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_label_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_label_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "ATTRIBUTES": "attributes",
+ "ATTRIBUTE": "attribute",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_label_patch_document':
+ (JsonApiLabelPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_label_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_labels_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiLabelOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/labels/search',
+ 'operation_id': 'search_entities_labels',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ 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_entity_labels(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Label # 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_labels(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]
+ 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]
+ 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:
+ JsonApiLabelOutDocument
+ 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.get_entity_labels_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_labels(
+ self,
+ workspace_id,
+ object_id,
+ json_api_label_patch_document,
+ **kwargs
+ ):
+ """Patch a Label (beta) # 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_labels(workspace_id, object_id, json_api_label_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_label_patch_document (JsonApiLabelPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiLabelOutDocument
+ 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
+ kwargs['json_api_label_patch_document'] = \
+ json_api_label_patch_document
+ return self.patch_entity_labels_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_labels(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_labels(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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
+ kwargs['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_labels_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/metric_controller_api.py b/gooddata-api-client/gooddata_api_client/api/metric_controller_api.py
new file mode 100644
index 000000000..f728d69d5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/metric_controller_api.py
@@ -0,0 +1,1305 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_metric_in_document import JsonApiMetricInDocument
+from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument
+from gooddata_api_client.model.json_api_metric_out_list import JsonApiMetricOutList
+from gooddata_api_client.model.json_api_metric_patch_document import JsonApiMetricPatchDocument
+from gooddata_api_client.model.json_api_metric_post_optional_id_document import JsonApiMetricPostOptionalIdDocument
+
+
+class MetricControllerApi(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_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics',
+ 'operation_id': 'create_entity_metrics',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_metric_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_metric_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_metric_post_optional_id_document':
+ (JsonApiMetricPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_metric_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics/{objectId}',
+ 'operation_id': 'delete_entity_metrics',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics',
+ 'operation_id': 'get_all_entities_metrics',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics/{objectId}',
+ 'operation_id': 'get_entity_metrics',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics/{objectId}',
+ 'operation_id': 'patch_entity_metrics',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_metric_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_metric_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_metric_patch_document':
+ (JsonApiMetricPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_metric_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics/search',
+ 'operation_id': 'search_entities_metrics',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_metrics_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiMetricOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/metrics/{objectId}',
+ 'operation_id': 'update_entity_metrics',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_metric_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_metric_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_metric_in_document':
+ (JsonApiMetricInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_metric_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_metrics(
+ self,
+ workspace_id,
+ json_api_metric_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Metrics # 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_metrics(workspace_id, json_api_metric_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_metric_post_optional_id_document (JsonApiMetricPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiMetricOutDocument
+ 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_metric_post_optional_id_document'] = \
+ json_api_metric_post_optional_id_document
+ return self.create_entity_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_metrics(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Metric # 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_metrics(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_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_metrics(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Metrics # 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_metrics(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:
+ JsonApiMetricOutList
+ 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_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_metrics(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Metric # 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_metrics(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]
+ 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]
+ 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:
+ JsonApiMetricOutDocument
+ 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.get_entity_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_metrics(
+ self,
+ workspace_id,
+ object_id,
+ json_api_metric_patch_document,
+ **kwargs
+ ):
+ """Patch a Metric # 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_metrics(workspace_id, object_id, json_api_metric_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_metric_patch_document (JsonApiMetricPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiMetricOutDocument
+ 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
+ kwargs['json_api_metric_patch_document'] = \
+ json_api_metric_patch_document
+ return self.patch_entity_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_metrics(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_metrics(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiMetricOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_metrics_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_metrics(
+ self,
+ workspace_id,
+ object_id,
+ json_api_metric_in_document,
+ **kwargs
+ ):
+ """Put a Metric # 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_metrics(workspace_id, object_id, json_api_metric_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_metric_in_document (JsonApiMetricInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiMetricOutDocument
+ 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
+ kwargs['json_api_metric_in_document'] = \
+ json_api_metric_in_document
+ return self.update_entity_metrics_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/ogcapi_features_api.py b/gooddata-api-client/gooddata_api_client/api/ogcapi_features_api.py
new file mode 100644
index 000000000..a70cf1f90
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/ogcapi_features_api.py
@@ -0,0 +1,353 @@
+"""
+ 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.geo_json_feature_collection import GeoJsonFeatureCollection
+
+
+class OGCAPIFeaturesApi(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.get_collection_items_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GeoJsonFeatureCollection,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/location/collections/{collectionId}/items',
+ 'operation_id': 'get_collection_items',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'collection_id',
+ 'limit',
+ 'bbox',
+ 'values',
+ ],
+ 'required': [
+ 'collection_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'limit',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('limit',): {
+
+ 'inclusive_maximum': 100,
+ 'inclusive_minimum': 1,
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'collection_id':
+ (str,),
+ 'limit':
+ (int,),
+ 'bbox':
+ (str,),
+ 'values':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'collection_id': 'collectionId',
+ 'limit': 'limit',
+ 'bbox': 'bbox',
+ 'values': 'values',
+ },
+ 'location_map': {
+ 'collection_id': 'path',
+ 'limit': 'query',
+ 'bbox': 'query',
+ 'values': 'query',
+ },
+ 'collection_format_map': {
+ 'values': 'multi',
+ }
+ },
+ headers_map={
+ 'accept': [
+ '*/*'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_custom_collection_items_endpoint = _Endpoint(
+ settings={
+ 'response_type': (GeoJsonFeatureCollection,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/location/custom/collections/{collectionId}/items',
+ 'operation_id': 'get_custom_collection_items',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'collection_id',
+ 'limit',
+ 'bbox',
+ 'values',
+ ],
+ 'required': [
+ 'collection_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'limit',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('limit',): {
+
+ 'inclusive_maximum': 100,
+ 'inclusive_minimum': 1,
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'collection_id':
+ (str,),
+ 'limit':
+ (int,),
+ 'bbox':
+ (str,),
+ 'values':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'collection_id': 'collectionId',
+ 'limit': 'limit',
+ 'bbox': 'bbox',
+ 'values': 'values',
+ },
+ 'location_map': {
+ 'collection_id': 'path',
+ 'limit': 'query',
+ 'bbox': 'query',
+ 'values': 'query',
+ },
+ 'collection_format_map': {
+ 'values': 'multi',
+ }
+ },
+ headers_map={
+ 'accept': [
+ '*/*'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+
+ def get_collection_items(
+ self,
+ collection_id,
+ **kwargs
+ ):
+ """Get collection features # noqa: E501
+
+ Retrieve features from a GeoCollections collection as GeoJSON # 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_collection_items(collection_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ collection_id (str): Collection identifier
+
+ Keyword Args:
+ limit (int): Maximum number of features to return. [optional]
+ bbox (str): Bounding box filter (minx,miny,maxx,maxy). [optional]
+ values ([str]): List of values to filter features by. [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:
+ GeoJsonFeatureCollection
+ 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['collection_id'] = \
+ collection_id
+ return self.get_collection_items_endpoint.call_with_http_info(**kwargs)
+
+ def get_custom_collection_items(
+ self,
+ collection_id,
+ **kwargs
+ ):
+ """Get custom collection features # noqa: E501
+
+ Retrieve features from a custom (organization-scoped) GeoCollections collection as GeoJSON # 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_custom_collection_items(collection_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ collection_id (str): Collection identifier
+
+ Keyword Args:
+ limit (int): Maximum number of features to return. [optional]
+ bbox (str): Bounding box filter (minx,miny,maxx,maxy). [optional]
+ values ([str]): List of values to filter features by. [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:
+ GeoJsonFeatureCollection
+ 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['collection_id'] = \
+ collection_id
+ return self.get_custom_collection_items_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/organization_entity_controller_api.py b/gooddata-api-client/gooddata_api_client/api/organization_entity_controller_api.py
new file mode 100644
index 000000000..583490ef5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/organization_entity_controller_api.py
@@ -0,0 +1,572 @@
+"""
+ 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_organization_in_document import JsonApiOrganizationInDocument
+from gooddata_api_client.model.json_api_organization_out_document import JsonApiOrganizationOutDocument
+from gooddata_api_client.model.json_api_organization_patch_document import JsonApiOrganizationPatchDocument
+
+
+class OrganizationEntityControllerApi(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.get_entity_organizations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiOrganizationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/organizations/{id}',
+ 'operation_id': 'get_entity_organizations',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'filter',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'id',
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "IDENTITYPROVIDERS": "identityProviders",
+ "BOOTSTRAPUSER": "bootstrapUser",
+ "BOOTSTRAPUSERGROUP": "bootstrapUserGroup",
+ "IDENTITYPROVIDER": "identityProvider",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "PERMISSIONS": "permissions",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_organizations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiOrganizationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/organizations/{id}',
+ 'operation_id': 'patch_entity_organizations',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_organization_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_organization_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "IDENTITYPROVIDERS": "identityProviders",
+ "BOOTSTRAPUSER": "bootstrapUser",
+ "BOOTSTRAPUSERGROUP": "bootstrapUserGroup",
+ "IDENTITYPROVIDER": "identityProvider",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_organization_patch_document':
+ (JsonApiOrganizationPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_organization_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_organizations_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiOrganizationOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/admin/organizations/{id}',
+ 'operation_id': 'update_entity_organizations',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ 'json_api_organization_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'id',
+ 'json_api_organization_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "IDENTITYPROVIDERS": "identityProviders",
+ "BOOTSTRAPUSER": "bootstrapUser",
+ "BOOTSTRAPUSERGROUP": "bootstrapUserGroup",
+ "IDENTITYPROVIDER": "identityProvider",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ 'json_api_organization_in_document':
+ (JsonApiOrganizationInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'id': 'path',
+ 'json_api_organization_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def get_entity_organizations(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get Organizations # 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_organizations(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]
+ 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
+ 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:
+ JsonApiOrganizationOutDocument
+ 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_organizations_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_organizations(
+ self,
+ id,
+ json_api_organization_patch_document,
+ **kwargs
+ ):
+ """Patch 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.patch_entity_organizations(id, json_api_organization_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_organization_patch_document (JsonApiOrganizationPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiOrganizationOutDocument
+ 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_organization_patch_document'] = \
+ json_api_organization_patch_document
+ return self.patch_entity_organizations_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_organizations(
+ self,
+ id,
+ json_api_organization_in_document,
+ **kwargs
+ ):
+ """Put 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.update_entity_organizations(id, json_api_organization_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str):
+ json_api_organization_in_document (JsonApiOrganizationInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiOrganizationOutDocument
+ 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_organization_in_document'] = \
+ json_api_organization_in_document
+ return self.update_entity_organizations_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/user_data_filter_controller_api.py b/gooddata-api-client/gooddata_api_client/api/user_data_filter_controller_api.py
new file mode 100644
index 000000000..528abd445
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/user_data_filter_controller_api.py
@@ -0,0 +1,1305 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_user_data_filter_in_document import JsonApiUserDataFilterInDocument
+from gooddata_api_client.model.json_api_user_data_filter_out_document import JsonApiUserDataFilterOutDocument
+from gooddata_api_client.model.json_api_user_data_filter_out_list import JsonApiUserDataFilterOutList
+from gooddata_api_client.model.json_api_user_data_filter_patch_document import JsonApiUserDataFilterPatchDocument
+from gooddata_api_client.model.json_api_user_data_filter_post_optional_id_document import JsonApiUserDataFilterPostOptionalIdDocument
+
+
+class UserDataFilterControllerApi(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_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters',
+ 'operation_id': 'create_entity_user_data_filters',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_user_data_filter_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_user_data_filter_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "USER": "user",
+ "USERGROUP": "userGroup",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_user_data_filter_post_optional_id_document':
+ (JsonApiUserDataFilterPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_user_data_filter_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId}',
+ 'operation_id': 'delete_entity_user_data_filters',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters',
+ 'operation_id': 'get_all_entities_user_data_filters',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "USER": "user",
+ "USERGROUP": "userGroup",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId}',
+ 'operation_id': 'get_entity_user_data_filters',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "USER": "user",
+ "USERGROUP": "userGroup",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId}',
+ 'operation_id': 'patch_entity_user_data_filters',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_user_data_filter_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_user_data_filter_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "USER": "user",
+ "USERGROUP": "userGroup",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_user_data_filter_patch_document':
+ (JsonApiUserDataFilterPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_user_data_filter_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters/search',
+ 'operation_id': 'search_entities_user_data_filters',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_user_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId}',
+ 'operation_id': 'update_entity_user_data_filters',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_user_data_filter_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_user_data_filter_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERS": "users",
+ "USERGROUPS": "userGroups",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "USER": "user",
+ "USERGROUP": "userGroup",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_user_data_filter_in_document':
+ (JsonApiUserDataFilterInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_user_data_filter_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_user_data_filters(
+ self,
+ workspace_id,
+ json_api_user_data_filter_post_optional_id_document,
+ **kwargs
+ ):
+ """Post User Data Filters # 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_user_data_filters(workspace_id, json_api_user_data_filter_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_user_data_filter_post_optional_id_document (JsonApiUserDataFilterPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiUserDataFilterOutDocument
+ 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_user_data_filter_post_optional_id_document'] = \
+ json_api_user_data_filter_post_optional_id_document
+ return self.create_entity_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_user_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a User Data Filter # 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_user_data_filters(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_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_user_data_filters(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all User Data Filters # 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_user_data_filters(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:
+ JsonApiUserDataFilterOutList
+ 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_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_user_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a User Data Filter # 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_user_data_filters(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]
+ 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]
+ 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:
+ JsonApiUserDataFilterOutDocument
+ 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.get_entity_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_user_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ json_api_user_data_filter_patch_document,
+ **kwargs
+ ):
+ """Patch a User Data Filter # 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_user_data_filters(workspace_id, object_id, json_api_user_data_filter_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_user_data_filter_patch_document (JsonApiUserDataFilterPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiUserDataFilterOutDocument
+ 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
+ kwargs['json_api_user_data_filter_patch_document'] = \
+ json_api_user_data_filter_patch_document
+ return self.patch_entity_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_user_data_filters(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_user_data_filters(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiUserDataFilterOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_user_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ json_api_user_data_filter_in_document,
+ **kwargs
+ ):
+ """Put a User Data Filter # 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_user_data_filters(workspace_id, object_id, json_api_user_data_filter_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_user_data_filter_in_document (JsonApiUserDataFilterInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiUserDataFilterOutDocument
+ 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
+ kwargs['json_api_user_data_filter_in_document'] = \
+ json_api_user_data_filter_in_document
+ return self.update_entity_user_data_filters_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/user_setting_controller_api.py b/gooddata-api-client/gooddata_api_client/api/user_setting_controller_api.py
new file mode 100644
index 000000000..becbbdcba
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/user_setting_controller_api.py
@@ -0,0 +1,834 @@
+"""
+ 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_user_setting_in_document import JsonApiUserSettingInDocument
+from gooddata_api_client.model.json_api_user_setting_out_document import JsonApiUserSettingOutDocument
+from gooddata_api_client.model.json_api_user_setting_out_list import JsonApiUserSettingOutList
+
+
+class UserSettingControllerApi(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_user_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/userSettings',
+ 'operation_id': 'create_entity_user_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'json_api_user_setting_in_document',
+ ],
+ 'required': [
+ 'user_id',
+ 'json_api_user_setting_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'json_api_user_setting_in_document':
+ (JsonApiUserSettingInDocument,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'json_api_user_setting_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_user_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/userSettings/{id}',
+ 'operation_id': 'delete_entity_user_settings',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'user_id',
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_user_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/userSettings',
+ 'operation_id': 'get_all_entities_user_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'meta_include',
+ ],
+ 'required': [
+ 'user_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ '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_user_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/userSettings/{id}',
+ 'operation_id': 'get_entity_user_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'id',
+ 'filter',
+ ],
+ 'required': [
+ 'user_id',
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ 'id',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('id',): {
+
+ 'regex': {
+ 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501
+ },
+ },
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'user_id':
+ (str,),
+ 'id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.update_entity_user_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiUserSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/users/{userId}/userSettings/{id}',
+ 'operation_id': 'update_entity_user_settings',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'user_id',
+ 'id',
+ 'json_api_user_setting_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'user_id',
+ 'id',
+ 'json_api_user_setting_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': {
+ 'user_id':
+ (str,),
+ 'id':
+ (str,),
+ 'json_api_user_setting_in_document':
+ (JsonApiUserSettingInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'user_id': 'userId',
+ 'id': 'id',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'user_id': 'path',
+ 'id': 'path',
+ 'json_api_user_setting_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_user_settings(
+ self,
+ user_id,
+ json_api_user_setting_in_document,
+ **kwargs
+ ):
+ """Post new user settings for the user # 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_user_settings(user_id, json_api_user_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_id (str):
+ json_api_user_setting_in_document (JsonApiUserSettingInDocument):
+
+ 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:
+ JsonApiUserSettingOutDocument
+ 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['user_id'] = \
+ user_id
+ kwargs['json_api_user_setting_in_document'] = \
+ json_api_user_setting_in_document
+ return self.create_entity_user_settings_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_user_settings(
+ self,
+ user_id,
+ id,
+ **kwargs
+ ):
+ """Delete a setting for a user # 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_user_settings(user_id, id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ _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['user_id'] = \
+ user_id
+ kwargs['id'] = \
+ id
+ return self.delete_entity_user_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_user_settings(
+ self,
+ user_id,
+ **kwargs
+ ):
+ """List all settings for a user # 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_user_settings(user_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ 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:
+ JsonApiUserSettingOutList
+ 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['user_id'] = \
+ user_id
+ return self.get_all_entities_user_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_user_settings(
+ self,
+ user_id,
+ id,
+ **kwargs
+ ):
+ """Get a setting for a user # 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_user_settings(user_id, id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_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]
+ _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:
+ JsonApiUserSettingOutDocument
+ 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['user_id'] = \
+ user_id
+ kwargs['id'] = \
+ id
+ return self.get_entity_user_settings_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_user_settings(
+ self,
+ user_id,
+ id,
+ json_api_user_setting_in_document,
+ **kwargs
+ ):
+ """Put new user settings for the user # 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_user_settings(user_id, id, json_api_user_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ user_id (str):
+ id (str):
+ json_api_user_setting_in_document (JsonApiUserSettingInDocument):
+
+ 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:
+ JsonApiUserSettingOutDocument
+ 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['user_id'] = \
+ user_id
+ kwargs['id'] = \
+ id
+ kwargs['json_api_user_setting_in_document'] = \
+ json_api_user_setting_in_document
+ return self.update_entity_user_settings_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/visualization_object_controller_api.py b/gooddata-api-client/gooddata_api_client/api/visualization_object_controller_api.py
new file mode 100644
index 000000000..3008c6c39
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/visualization_object_controller_api.py
@@ -0,0 +1,1305 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_visualization_object_in_document import JsonApiVisualizationObjectInDocument
+from gooddata_api_client.model.json_api_visualization_object_out_document import JsonApiVisualizationObjectOutDocument
+from gooddata_api_client.model.json_api_visualization_object_out_list import JsonApiVisualizationObjectOutList
+from gooddata_api_client.model.json_api_visualization_object_patch_document import JsonApiVisualizationObjectPatchDocument
+from gooddata_api_client.model.json_api_visualization_object_post_optional_id_document import JsonApiVisualizationObjectPostOptionalIdDocument
+
+
+class VisualizationObjectControllerApi(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_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects',
+ 'operation_id': 'create_entity_visualization_objects',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_visualization_object_post_optional_id_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_visualization_object_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_visualization_object_post_optional_id_document':
+ (JsonApiVisualizationObjectPostOptionalIdDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_visualization_object_post_optional_id_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId}',
+ 'operation_id': 'delete_entity_visualization_objects',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects',
+ 'operation_id': 'get_all_entities_visualization_objects',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId}',
+ 'operation_id': 'get_entity_visualization_objects',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId}',
+ 'operation_id': 'patch_entity_visualization_objects',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_visualization_object_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_visualization_object_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_visualization_object_patch_document':
+ (JsonApiVisualizationObjectPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_visualization_object_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects/search',
+ 'operation_id': 'search_entities_visualization_objects',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_visualization_objects_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiVisualizationObjectOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId}',
+ 'operation_id': 'update_entity_visualization_objects',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_visualization_object_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_visualization_object_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "USERIDENTIFIERS": "userIdentifiers",
+ "FACTS": "facts",
+ "ATTRIBUTES": "attributes",
+ "LABELS": "labels",
+ "METRICS": "metrics",
+ "DATASETS": "datasets",
+ "CREATEDBY": "createdBy",
+ "MODIFIEDBY": "modifiedBy",
+ "CERTIFIEDBY": "certifiedBy",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_visualization_object_in_document':
+ (JsonApiVisualizationObjectInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_visualization_object_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_visualization_objects(
+ self,
+ workspace_id,
+ json_api_visualization_object_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Visualization Objects # 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_visualization_objects(workspace_id, json_api_visualization_object_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_visualization_object_post_optional_id_document (JsonApiVisualizationObjectPostOptionalIdDocument):
+
+ 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
+ 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:
+ JsonApiVisualizationObjectOutDocument
+ 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_visualization_object_post_optional_id_document'] = \
+ json_api_visualization_object_post_optional_id_document
+ return self.create_entity_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_visualization_objects(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Visualization Object # 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_visualization_objects(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_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_visualization_objects(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Visualization Objects # 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_visualization_objects(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:
+ JsonApiVisualizationObjectOutList
+ 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_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_visualization_objects(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Visualization Object # 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_visualization_objects(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]
+ 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]
+ 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:
+ JsonApiVisualizationObjectOutDocument
+ 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.get_entity_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_visualization_objects(
+ self,
+ workspace_id,
+ object_id,
+ json_api_visualization_object_patch_document,
+ **kwargs
+ ):
+ """Patch a Visualization Object # 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_visualization_objects(workspace_id, object_id, json_api_visualization_object_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_visualization_object_patch_document (JsonApiVisualizationObjectPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiVisualizationObjectOutDocument
+ 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
+ kwargs['json_api_visualization_object_patch_document'] = \
+ json_api_visualization_object_patch_document
+ return self.patch_entity_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_visualization_objects(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_visualization_objects(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiVisualizationObjectOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_visualization_objects(
+ self,
+ workspace_id,
+ object_id,
+ json_api_visualization_object_in_document,
+ **kwargs
+ ):
+ """Put a Visualization Object # 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_visualization_objects(workspace_id, object_id, json_api_visualization_object_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_visualization_object_in_document (JsonApiVisualizationObjectInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiVisualizationObjectOutDocument
+ 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
+ kwargs['json_api_visualization_object_in_document'] = \
+ json_api_visualization_object_in_document
+ return self.update_entity_visualization_objects_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_controller_api.py b/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_controller_api.py
new file mode 100644
index 000000000..c0996358d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_controller_api.py
@@ -0,0 +1,1269 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_workspace_data_filter_in_document import JsonApiWorkspaceDataFilterInDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_out_document import JsonApiWorkspaceDataFilterOutDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_out_list import JsonApiWorkspaceDataFilterOutList
+from gooddata_api_client.model.json_api_workspace_data_filter_patch_document import JsonApiWorkspaceDataFilterPatchDocument
+
+
+class WorkspaceDataFilterControllerApi(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_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters',
+ 'operation_id': 'create_entity_workspace_data_filters',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_workspace_data_filter_in_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_workspace_data_filter_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERSETTINGS": "workspaceDataFilterSettings",
+ "FILTERSETTINGS": "filterSettings",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_workspace_data_filter_in_document':
+ (JsonApiWorkspaceDataFilterInDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_workspace_data_filter_in_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId}',
+ 'operation_id': 'delete_entity_workspace_data_filters',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters',
+ 'operation_id': 'get_all_entities_workspace_data_filters',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "WORKSPACEDATAFILTERSETTINGS": "workspaceDataFilterSettings",
+ "FILTERSETTINGS": "filterSettings",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId}',
+ 'operation_id': 'get_entity_workspace_data_filters',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERSETTINGS": "workspaceDataFilterSettings",
+ "FILTERSETTINGS": "filterSettings",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId}',
+ 'operation_id': 'patch_entity_workspace_data_filters',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERSETTINGS": "workspaceDataFilterSettings",
+ "FILTERSETTINGS": "filterSettings",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_data_filter_patch_document':
+ (JsonApiWorkspaceDataFilterPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_data_filter_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/search',
+ 'operation_id': 'search_entities_workspace_data_filters',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_workspace_data_filters_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilters/{objectId}',
+ 'operation_id': 'update_entity_workspace_data_filters',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERSETTINGS": "workspaceDataFilterSettings",
+ "FILTERSETTINGS": "filterSettings",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_data_filter_in_document':
+ (JsonApiWorkspaceDataFilterInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_data_filter_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_workspace_data_filters(
+ self,
+ workspace_id,
+ json_api_workspace_data_filter_in_document,
+ **kwargs
+ ):
+ """Post Workspace Data Filters # 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_workspace_data_filters(workspace_id, json_api_workspace_data_filter_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_workspace_data_filter_in_document (JsonApiWorkspaceDataFilterInDocument):
+
+ 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
+ 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:
+ JsonApiWorkspaceDataFilterOutDocument
+ 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_workspace_data_filter_in_document'] = \
+ json_api_workspace_data_filter_in_document
+ return self.create_entity_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_workspace_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Workspace Data Filter # 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_workspace_data_filters(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_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_workspace_data_filters(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Workspace Data Filters # 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_workspace_data_filters(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:
+ JsonApiWorkspaceDataFilterOutList
+ 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_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_workspace_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Workspace Data Filter # 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_workspace_data_filters(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]
+ 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]
+ 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:
+ JsonApiWorkspaceDataFilterOutDocument
+ 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.get_entity_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_workspace_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_data_filter_patch_document,
+ **kwargs
+ ):
+ """Patch a Workspace Data Filter # 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_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_data_filter_patch_document (JsonApiWorkspaceDataFilterPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiWorkspaceDataFilterOutDocument
+ 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
+ kwargs['json_api_workspace_data_filter_patch_document'] = \
+ json_api_workspace_data_filter_patch_document
+ return self.patch_entity_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_workspace_data_filters(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_workspace_data_filters(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiWorkspaceDataFilterOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_workspace_data_filters(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_data_filter_in_document,
+ **kwargs
+ ):
+ """Put a Workspace Data Filter # 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_workspace_data_filters(workspace_id, object_id, json_api_workspace_data_filter_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_data_filter_in_document (JsonApiWorkspaceDataFilterInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiWorkspaceDataFilterOutDocument
+ 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
+ kwargs['json_api_workspace_data_filter_in_document'] = \
+ json_api_workspace_data_filter_in_document
+ return self.update_entity_workspace_data_filters_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_setting_controller_api.py b/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_setting_controller_api.py
new file mode 100644
index 000000000..9c082b22a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/workspace_data_filter_setting_controller_api.py
@@ -0,0 +1,1269 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_in_document import JsonApiWorkspaceDataFilterSettingInDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_document import JsonApiWorkspaceDataFilterSettingOutDocument
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_out_list import JsonApiWorkspaceDataFilterSettingOutList
+from gooddata_api_client.model.json_api_workspace_data_filter_setting_patch_document import JsonApiWorkspaceDataFilterSettingPatchDocument
+
+
+class WorkspaceDataFilterSettingControllerApi(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_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings',
+ 'operation_id': 'create_entity_workspace_data_filter_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_workspace_data_filter_setting_in_document',
+ 'include',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_workspace_data_filter_setting_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "WORKSPACEDATAFILTER": "workspaceDataFilter",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_workspace_data_filter_setting_in_document':
+ (JsonApiWorkspaceDataFilterSettingInDocument,),
+ 'include':
+ ([str],),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'include': 'include',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_workspace_data_filter_setting_in_document': 'body',
+ 'include': 'query',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ 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_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId}',
+ 'operation_id': 'delete_entity_workspace_data_filter_settings',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings',
+ 'operation_id': 'get_all_entities_workspace_data_filter_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'include',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('include',): {
+
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "WORKSPACEDATAFILTER": "workspaceDataFilter",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'include': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'sort': 'multi',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_entity_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId}',
+ 'operation_id': 'get_entity_workspace_data_filter_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'include',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "WORKSPACEDATAFILTER": "workspaceDataFilter",
+ "ALL": "ALL"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'include': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId}',
+ 'operation_id': 'patch_entity_workspace_data_filter_settings',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_setting_patch_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_setting_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "WORKSPACEDATAFILTER": "workspaceDataFilter",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_data_filter_setting_patch_document':
+ (JsonApiWorkspaceDataFilterSettingPatchDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_data_filter_setting_patch_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.search_entities_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/search',
+ 'operation_id': 'search_entities_workspace_data_filter_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_workspace_data_filter_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceDataFilterSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceDataFilterSettings/{objectId}',
+ 'operation_id': 'update_entity_workspace_data_filter_settings',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_setting_in_document',
+ 'filter',
+ 'include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_data_filter_setting_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'include',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('include',): {
+
+ "WORKSPACEDATAFILTERS": "workspaceDataFilters",
+ "WORKSPACEDATAFILTER": "workspaceDataFilter",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_data_filter_setting_in_document':
+ (JsonApiWorkspaceDataFilterSettingInDocument,),
+ 'filter':
+ (str,),
+ 'include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'include': 'include',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_data_filter_setting_in_document': 'body',
+ 'filter': 'query',
+ 'include': 'query',
+ },
+ 'collection_format_map': {
+ 'include': 'csv',
+ }
+ },
+ 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_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ json_api_workspace_data_filter_setting_in_document,
+ **kwargs
+ ):
+ """Post Settings for Workspace Data Filters # 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_workspace_data_filter_settings(workspace_id, json_api_workspace_data_filter_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_workspace_data_filter_setting_in_document (JsonApiWorkspaceDataFilterSettingInDocument):
+
+ 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
+ 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:
+ JsonApiWorkspaceDataFilterSettingOutDocument
+ 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_workspace_data_filter_setting_in_document'] = \
+ json_api_workspace_data_filter_setting_in_document
+ return self.create_entity_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Settings for Workspace Data Filter # 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_workspace_data_filter_settings(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_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Settings for Workspace Data Filters # 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_workspace_data_filter_settings(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:
+ JsonApiWorkspaceDataFilterSettingOutList
+ 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_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Setting for Workspace Data Filter # 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_workspace_data_filter_settings(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]
+ 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]
+ 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:
+ JsonApiWorkspaceDataFilterSettingOutDocument
+ 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.get_entity_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_data_filter_setting_patch_document,
+ **kwargs
+ ):
+ """Patch a Settings for Workspace Data Filter # 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_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_data_filter_setting_patch_document (JsonApiWorkspaceDataFilterSettingPatchDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiWorkspaceDataFilterSettingOutDocument
+ 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
+ kwargs['json_api_workspace_data_filter_setting_patch_document'] = \
+ json_api_workspace_data_filter_setting_patch_document
+ return self.patch_entity_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_workspace_data_filter_settings(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiWorkspaceDataFilterSettingOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_workspace_data_filter_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_data_filter_setting_in_document,
+ **kwargs
+ ):
+ """Put a Settings for Workspace Data Filter # 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_workspace_data_filter_settings(workspace_id, object_id, json_api_workspace_data_filter_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_data_filter_setting_in_document (JsonApiWorkspaceDataFilterSettingInDocument):
+
+ 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]
+ 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]
+ _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:
+ JsonApiWorkspaceDataFilterSettingOutDocument
+ 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
+ kwargs['json_api_workspace_data_filter_setting_in_document'] = \
+ json_api_workspace_data_filter_setting_in_document
+ return self.update_entity_workspace_data_filter_settings_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api/workspace_setting_controller_api.py b/gooddata-api-client/gooddata_api_client/api/workspace_setting_controller_api.py
new file mode 100644
index 000000000..c67a099c1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api/workspace_setting_controller_api.py
@@ -0,0 +1,1200 @@
+"""
+ 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.entity_search_body import EntitySearchBody
+from gooddata_api_client.model.json_api_workspace_setting_in_document import JsonApiWorkspaceSettingInDocument
+from gooddata_api_client.model.json_api_workspace_setting_out_document import JsonApiWorkspaceSettingOutDocument
+from gooddata_api_client.model.json_api_workspace_setting_out_list import JsonApiWorkspaceSettingOutList
+from gooddata_api_client.model.json_api_workspace_setting_patch_document import JsonApiWorkspaceSettingPatchDocument
+from gooddata_api_client.model.json_api_workspace_setting_post_optional_id_document import JsonApiWorkspaceSettingPostOptionalIdDocument
+
+
+class WorkspaceSettingControllerApi(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_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings',
+ 'operation_id': 'create_entity_workspace_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'json_api_workspace_setting_post_optional_id_document',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'json_api_workspace_setting_post_optional_id_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'json_api_workspace_setting_post_optional_id_document':
+ (JsonApiWorkspaceSettingPostOptionalIdDocument,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'json_api_workspace_setting_post_optional_id_document': 'body',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ 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_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': None,
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId}',
+ 'operation_id': 'delete_entity_workspace_settings',
+ 'http_method': 'DELETE',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.get_all_entities_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings',
+ 'operation_id': 'get_all_entities_workspace_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'origin',
+ 'filter',
+ 'page',
+ 'size',
+ 'sort',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "PAGE": "page",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'origin':
+ (str,),
+ 'filter':
+ (str,),
+ 'page':
+ (int,),
+ 'size':
+ (int,),
+ 'sort':
+ ([str],),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'filter': 'filter',
+ 'page': 'page',
+ 'size': 'size',
+ 'sort': 'sort',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'origin': 'query',
+ 'filter': 'query',
+ 'page': 'query',
+ 'size': 'query',
+ 'sort': 'query',
+ 'x_gdc_validate_relations': 'header',
+ '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_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId}',
+ 'operation_id': 'get_entity_workspace_settings',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'filter',
+ 'x_gdc_validate_relations',
+ 'meta_include',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'meta_include',
+ ],
+ 'validation': [
+ 'meta_include',
+ ]
+ },
+ root_map={
+ 'validations': {
+ ('meta_include',): {
+
+ },
+ },
+ 'allowed_values': {
+ ('meta_include',): {
+
+ "ORIGIN": "origin",
+ "ALL": "all",
+ "ALL": "ALL"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'filter':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ 'meta_include':
+ ([str],),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ 'meta_include': 'metaInclude',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'filter': 'query',
+ 'x_gdc_validate_relations': 'header',
+ 'meta_include': 'query',
+ },
+ 'collection_format_map': {
+ 'meta_include': 'csv',
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client
+ )
+ self.patch_entity_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId}',
+ 'operation_id': 'patch_entity_workspace_settings',
+ 'http_method': 'PATCH',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_setting_patch_document',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_setting_patch_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_setting_patch_document':
+ (JsonApiWorkspaceSettingPatchDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_setting_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.search_entities_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutList,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings/search',
+ 'operation_id': 'search_entities_workspace_settings',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'entity_search_body',
+ 'origin',
+ 'x_gdc_validate_relations',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'entity_search_body',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ 'origin',
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ ('origin',): {
+
+ "ALL": "ALL",
+ "PARENTS": "PARENTS",
+ "NATIVE": "NATIVE"
+ },
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'entity_search_body':
+ (EntitySearchBody,),
+ 'origin':
+ (str,),
+ 'x_gdc_validate_relations':
+ (bool,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'origin': 'origin',
+ 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'entity_search_body': 'body',
+ 'origin': 'query',
+ 'x_gdc_validate_relations': 'header',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json',
+ 'application/vnd.gooddata.api+json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+ self.update_entity_workspace_settings_endpoint = _Endpoint(
+ settings={
+ 'response_type': (JsonApiWorkspaceSettingOutDocument,),
+ 'auth': [],
+ 'endpoint_path': '/api/v1/entities/workspaces/{workspaceId}/workspaceSettings/{objectId}',
+ 'operation_id': 'update_entity_workspace_settings',
+ 'http_method': 'PUT',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_setting_in_document',
+ 'filter',
+ ],
+ 'required': [
+ 'workspace_id',
+ 'object_id',
+ 'json_api_workspace_setting_in_document',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'workspace_id':
+ (str,),
+ 'object_id':
+ (str,),
+ 'json_api_workspace_setting_in_document':
+ (JsonApiWorkspaceSettingInDocument,),
+ 'filter':
+ (str,),
+ },
+ 'attribute_map': {
+ 'workspace_id': 'workspaceId',
+ 'object_id': 'objectId',
+ 'filter': 'filter',
+ },
+ 'location_map': {
+ 'workspace_id': 'path',
+ 'object_id': 'path',
+ 'json_api_workspace_setting_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_workspace_settings(
+ self,
+ workspace_id,
+ json_api_workspace_setting_post_optional_id_document,
+ **kwargs
+ ):
+ """Post Settings for Workspaces # 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_workspace_settings(workspace_id, json_api_workspace_setting_post_optional_id_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ json_api_workspace_setting_post_optional_id_document (JsonApiWorkspaceSettingPostOptionalIdDocument):
+
+ Keyword Args:
+ 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:
+ JsonApiWorkspaceSettingOutDocument
+ 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_workspace_setting_post_optional_id_document'] = \
+ json_api_workspace_setting_post_optional_id_document
+ return self.create_entity_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def delete_entity_workspace_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Delete a Setting for 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.delete_entity_workspace_settings(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_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_all_entities_workspace_settings(
+ self,
+ workspace_id,
+ **kwargs
+ ):
+ """Get all Setting for Workspaces # 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_workspace_settings(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]
+ 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:
+ JsonApiWorkspaceSettingOutList
+ 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_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def get_entity_workspace_settings(
+ self,
+ workspace_id,
+ object_id,
+ **kwargs
+ ):
+ """Get a Setting for 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.get_entity_workspace_settings(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]
+ 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:
+ JsonApiWorkspaceSettingOutDocument
+ 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.get_entity_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def patch_entity_workspace_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_setting_patch_document,
+ **kwargs
+ ):
+ """Patch a Setting for 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.patch_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_patch_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_setting_patch_document (JsonApiWorkspaceSettingPatchDocument):
+
+ 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:
+ JsonApiWorkspaceSettingOutDocument
+ 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
+ kwargs['json_api_workspace_setting_patch_document'] = \
+ json_api_workspace_setting_patch_document
+ return self.patch_entity_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def search_entities_workspace_settings(
+ self,
+ workspace_id,
+ entity_search_body,
+ **kwargs
+ ):
+ """The search endpoint (beta) # 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_entities_workspace_settings(workspace_id, entity_search_body, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ entity_search_body (EntitySearchBody): Search request body with filter, pagination, and sorting options
+
+ Keyword Args:
+ origin (str): [optional] if omitted the server will use the default value of "ALL"
+ x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False
+ _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:
+ JsonApiWorkspaceSettingOutList
+ 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['entity_search_body'] = \
+ entity_search_body
+ return self.search_entities_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
+ def update_entity_workspace_settings(
+ self,
+ workspace_id,
+ object_id,
+ json_api_workspace_setting_in_document,
+ **kwargs
+ ):
+ """Put a Setting for a 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.update_entity_workspace_settings(workspace_id, object_id, json_api_workspace_setting_in_document, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ workspace_id (str):
+ object_id (str):
+ json_api_workspace_setting_in_document (JsonApiWorkspaceSettingInDocument):
+
+ 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:
+ JsonApiWorkspaceSettingOutDocument
+ 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
+ kwargs['json_api_workspace_setting_in_document'] = \
+ json_api_workspace_setting_in_document
+ return self.update_entity_workspace_settings_endpoint.call_with_http_info(**kwargs)
+
diff --git a/gooddata-api-client/gooddata_api_client/api_response.py b/gooddata-api-client/gooddata_api_client/api_response.py
new file mode 100644
index 000000000..9bc7c11f6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/api_response.py
@@ -0,0 +1,21 @@
+"""API response object."""
+
+from __future__ import annotations
+from typing import Optional, Generic, Mapping, TypeVar
+from pydantic import Field, StrictInt, StrictBytes, BaseModel
+
+T = TypeVar("T")
+
+class ApiResponse(BaseModel, Generic[T]):
+ """
+ API response object
+ """
+
+ status_code: StrictInt = Field(description="HTTP status code")
+ headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers")
+ data: T = Field(description="Deserialized data given the data type")
+ raw_data: StrictBytes = Field(description="Raw data (HTTP response body)")
+
+ model_config = {
+ "arbitrary_types_allowed": True
+ }
diff --git a/gooddata-api-client/gooddata_api_client/apis/__init__.py b/gooddata-api-client/gooddata_api_client/apis/__init__.py
index ef0cc377b..eadce11f5 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.cache_usage_api import CacheUsageApi
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
@@ -33,6 +34,12 @@
from gooddata_api_client.api.data_filters_api import DataFiltersApi
from gooddata_api_client.api.data_source_declarative_apis_api import DataSourceDeclarativeAPIsApi
from gooddata_api_client.api.data_source_entity_apis_api import DataSourceEntityAPIsApi
+from gooddata_api_client.api.data_source_files_analysis_api import DataSourceFilesAnalysisApi
+from gooddata_api_client.api.data_source_files_deletion_api import DataSourceFilesDeletionApi
+from gooddata_api_client.api.data_source_files_import_api import DataSourceFilesImportApi
+from gooddata_api_client.api.data_source_files_listing_api import DataSourceFilesListingApi
+from gooddata_api_client.api.data_source_files_manifest_read_api import DataSourceFilesManifestReadApi
+from gooddata_api_client.api.data_source_staging_location_api import DataSourceStagingLocationApi
from gooddata_api_client.api.datasets_api import DatasetsApi
from gooddata_api_client.api.dependency_graph_api import DependencyGraphApi
from gooddata_api_client.api.entitlement_api import EntitlementApi
@@ -57,6 +64,7 @@
from gooddata_api_client.api.metadata_sync_api import MetadataSyncApi
from gooddata_api_client.api.metrics_api import MetricsApi
from gooddata_api_client.api.notification_channels_api import NotificationChannelsApi
+from gooddata_api_client.api.ogcapi_features_api import OGCAPIFeaturesApi
from gooddata_api_client.api.options_api import OptionsApi
from gooddata_api_client.api.organization_api import OrganizationApi
from gooddata_api_client.api.organization_declarative_apis_api import OrganizationDeclarativeAPIsApi
diff --git a/gooddata-api-client/gooddata_api_client/model/analyze_csv_request.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request.py
new file mode 100644
index 000000000..abdc18236
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request.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.analyze_csv_request_item import AnalyzeCsvRequestItem
+ globals()['AnalyzeCsvRequestItem'] = AnalyzeCsvRequestItem
+
+
+class AnalyzeCsvRequest(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 {
+ 'analyze_requests': ([AnalyzeCsvRequestItem],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'analyze_requests': 'analyzeRequests', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, analyze_requests, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvRequest - a model defined in OpenAPI
+
+ Args:
+ analyze_requests ([AnalyzeCsvRequestItem]): List of individual CSV analysis requests.
+
+ 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.analyze_requests = analyze_requests
+ 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, analyze_requests, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvRequest - a model defined in OpenAPI
+
+ Args:
+ analyze_requests ([AnalyzeCsvRequestItem]): List of individual CSV analysis requests.
+
+ 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.analyze_requests = analyze_requests
+ 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/analyze_csv_request_item.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request_item.py
new file mode 100644
index 000000000..88c026c85
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request_item.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.analyze_csv_request_item_config import AnalyzeCsvRequestItemConfig
+ globals()['AnalyzeCsvRequestItemConfig'] = AnalyzeCsvRequestItemConfig
+
+
+class AnalyzeCsvRequestItem(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 {
+ 'location': (str,), # noqa: E501
+ 'config': (AnalyzeCsvRequestItemConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ 'config': 'config', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvRequestItem - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the CSV file to analyze.
+
+ 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,)
+ config (AnalyzeCsvRequestItemConfig): [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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvRequestItem - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the CSV file to analyze.
+
+ 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,)
+ config (AnalyzeCsvRequestItemConfig): [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.location = location
+ 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/analyze_csv_request_item_config.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request_item_config.py
new file mode 100644
index 000000000..42805afd2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_request_item_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 AnalyzeCsvRequestItemConfig(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 {
+ 'delimiters': ([str],), # noqa: E501
+ 'header_detect_max_rows': (int,), # noqa: E501
+ 'header_row_count': (int,), # noqa: E501
+ 'result_rows': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'delimiters': 'delimiters', # noqa: E501
+ 'header_detect_max_rows': 'headerDetectMaxRows', # noqa: E501
+ 'header_row_count': 'headerRowCount', # noqa: E501
+ 'result_rows': 'resultRows', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvRequestItemConfig - 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,)
+ delimiters ([str]): Possible column delimiters.. [optional] # noqa: E501
+ header_detect_max_rows (int): Maximum number of rows to work with during header detection.. [optional] # noqa: E501
+ header_row_count (int): Number of rows to consider as header, if null, header will be detected.. [optional] # noqa: E501
+ result_rows (int): Number of rows to return in the flight that represents analysis result. If 0, no rows are returned, if less than 0, all rows that were in the sample are returned.. [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
+ """AnalyzeCsvRequestItemConfig - 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,)
+ delimiters ([str]): Possible column delimiters.. [optional] # noqa: E501
+ header_detect_max_rows (int): Maximum number of rows to work with during header detection.. [optional] # noqa: E501
+ header_row_count (int): Number of rows to consider as header, if null, header will be detected.. [optional] # noqa: E501
+ result_rows (int): Number of rows to return in the flight that represents analysis result. If 0, no rows are returned, if less than 0, all rows that were in the sample are returned.. [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/analyze_csv_response.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response.py
new file mode 100644
index 000000000..4e79179b6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response.py
@@ -0,0 +1,294 @@
+"""
+ 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.analyze_csv_response_column import AnalyzeCsvResponseColumn
+ from gooddata_api_client.model.analyze_csv_response_config import AnalyzeCsvResponseConfig
+ globals()['AnalyzeCsvResponseColumn'] = AnalyzeCsvResponseColumn
+ globals()['AnalyzeCsvResponseConfig'] = AnalyzeCsvResponseConfig
+
+
+class AnalyzeCsvResponse(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 {
+ 'columns': ([AnalyzeCsvResponseColumn],), # noqa: E501
+ 'location': (str,), # noqa: E501
+ 'preview_data': ([[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]],), # noqa: E501
+ 'config': (AnalyzeCsvResponseConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'columns': 'columns', # noqa: E501
+ 'location': 'location', # noqa: E501
+ 'preview_data': 'previewData', # noqa: E501
+ 'config': 'config', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, columns, location, preview_data, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvResponse - a model defined in OpenAPI
+
+ Args:
+ columns ([AnalyzeCsvResponseColumn]): List of column metadata.
+ location (str): Location of the analyzed file in the source data source.
+ preview_data ([[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]]): Preview of the first N rows of the file.
+
+ 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,)
+ config (AnalyzeCsvResponseConfig): [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.columns = columns
+ self.location = location
+ self.preview_data = preview_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, columns, location, preview_data, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvResponse - a model defined in OpenAPI
+
+ Args:
+ columns ([AnalyzeCsvResponseColumn]): List of column metadata.
+ location (str): Location of the analyzed file in the source data source.
+ preview_data ([[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]]): Preview of the first N rows of the file.
+
+ 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,)
+ config (AnalyzeCsvResponseConfig): [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.columns = columns
+ self.location = location
+ self.preview_data = preview_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/analyze_csv_response_column.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response_column.py
new file mode 100644
index 000000000..92b811bb3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response_column.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
+
+
+
+class AnalyzeCsvResponseColumn(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
+ 'type': (str,), # noqa: E501
+ 'detected_date_formats': ([str],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'detected_date_formats': 'detectedDateFormats', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, type, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvResponseColumn - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the column as specified in the file (or autogenerated one if the file has no header).
+ type (str): Type of the column (e.g. string, bool, etc.).
+
+ 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,)
+ detected_date_formats ([str]): List of date formats that can be used to parse this column as date. Null if there are none.. [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.name = name
+ 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, name, type, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvResponseColumn - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the column as specified in the file (or autogenerated one if the file has no header).
+ type (str): Type of the column (e.g. string, bool, etc.).
+
+ 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,)
+ detected_date_formats ([str]): List of date formats that can be used to parse this column as date. Null if there are none.. [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.name = name
+ 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/analyze_csv_response_config.py b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response_config.py
new file mode 100644
index 000000000..0cc915eed
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/analyze_csv_response_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.csv_convert_options import CsvConvertOptions
+ from gooddata_api_client.model.csv_parse_options import CsvParseOptions
+ from gooddata_api_client.model.csv_read_options import CsvReadOptions
+ globals()['CsvConvertOptions'] = CsvConvertOptions
+ globals()['CsvParseOptions'] = CsvParseOptions
+ globals()['CsvReadOptions'] = CsvReadOptions
+
+
+class AnalyzeCsvResponseConfig(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 {
+ 'convert_options': (CsvConvertOptions,), # noqa: E501
+ 'parse_options': (CsvParseOptions,), # noqa: E501
+ 'read_options': (CsvReadOptions,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'convert_options': 'convertOptions', # noqa: E501
+ 'parse_options': 'parseOptions', # noqa: E501
+ 'read_options': 'readOptions', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """AnalyzeCsvResponseConfig - 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,)
+ convert_options (CsvConvertOptions): [optional] # noqa: E501
+ parse_options (CsvParseOptions): [optional] # noqa: E501
+ read_options (CsvReadOptions): [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
+ """AnalyzeCsvResponseConfig - 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,)
+ convert_options (CsvConvertOptions): [optional] # noqa: E501
+ parse_options (CsvParseOptions): [optional] # noqa: E501
+ read_options (CsvReadOptions): [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/cache_removal_interval.py b/gooddata-api-client/gooddata_api_client/model/cache_removal_interval.py
new file mode 100644
index 000000000..ba249a868
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/cache_removal_interval.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 CacheRemovalInterval(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 {
+ '_from': (datetime,), # noqa: E501
+ 'removed': (int,), # noqa: E501
+ 'to': (datetime,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ '_from': 'from', # noqa: E501
+ 'removed': 'removed', # noqa: E501
+ 'to': 'to', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, _from, removed, to, *args, **kwargs): # noqa: E501
+ """CacheRemovalInterval - a model defined in OpenAPI
+
+ Args:
+ _from (datetime): Start timestamp of the removal interval.
+ removed (int): Bytes removed during this interval.
+ to (datetime): End timestamp of the removal interval.
+
+ 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._from = _from
+ self.removed = removed
+ self.to = to
+ 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, _from, removed, to, *args, **kwargs): # noqa: E501
+ """CacheRemovalInterval - a model defined in OpenAPI
+
+ Args:
+ _from (datetime): Start timestamp of the removal interval.
+ removed (int): Bytes removed during this interval.
+ to (datetime): End timestamp of the removal interval.
+
+ 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._from = _from
+ self.removed = removed
+ self.to = to
+ 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/cache_usage_data.py b/gooddata-api-client/gooddata_api_client/model/cache_usage_data.py
new file mode 100644
index 000000000..732953399
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/cache_usage_data.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.organization_cache_usage import OrganizationCacheUsage
+ from gooddata_api_client.model.workspace_cache_usage import WorkspaceCacheUsage
+ globals()['OrganizationCacheUsage'] = OrganizationCacheUsage
+ globals()['WorkspaceCacheUsage'] = WorkspaceCacheUsage
+
+
+class CacheUsageData(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 {
+ 'organization_cache_usage': (OrganizationCacheUsage,), # noqa: E501
+ 'workspace_cache_usages': ({str: (WorkspaceCacheUsage,)},), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'organization_cache_usage': 'organizationCacheUsage', # noqa: E501
+ 'workspace_cache_usages': 'workspaceCacheUsages', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, organization_cache_usage, workspace_cache_usages, *args, **kwargs): # noqa: E501
+ """CacheUsageData - a model defined in OpenAPI
+
+ Args:
+ organization_cache_usage (OrganizationCacheUsage):
+ workspace_cache_usages ({str: (WorkspaceCacheUsage,)}): Map of data about the cache usage of the individual workspaces.
+
+ 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.organization_cache_usage = organization_cache_usage
+ self.workspace_cache_usages = workspace_cache_usages
+ 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, organization_cache_usage, workspace_cache_usages, *args, **kwargs): # noqa: E501
+ """CacheUsageData - a model defined in OpenAPI
+
+ Args:
+ organization_cache_usage (OrganizationCacheUsage):
+ workspace_cache_usages ({str: (WorkspaceCacheUsage,)}): Map of data about the cache usage of the individual workspaces.
+
+ 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.organization_cache_usage = organization_cache_usage
+ self.workspace_cache_usages = workspace_cache_usages
+ 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/convert_geo_file_request.py b/gooddata-api-client/gooddata_api_client/model/convert_geo_file_request.py
new file mode 100644
index 000000000..5bf5c5176
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/convert_geo_file_request.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 ConvertGeoFileRequest(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 {
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """ConvertGeoFileRequest - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the file in the staging area to convert.
+
+ 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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """ConvertGeoFileRequest - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the file in the staging area to convert.
+
+ 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.location = location
+ 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/convert_geo_file_response.py b/gooddata-api-client/gooddata_api_client/model/convert_geo_file_response.py
new file mode 100644
index 000000000..7963ffb69
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/convert_geo_file_response.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 ConvertGeoFileResponse(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 {
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """ConvertGeoFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the converted GeoParquet file in the staging area.
+
+ 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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """ConvertGeoFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the converted GeoParquet file in the staging area.
+
+ 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.location = location
+ 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/csv_convert_options.py b/gooddata-api-client/gooddata_api_client/model/csv_convert_options.py
new file mode 100644
index 000000000..cf919225e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/csv_convert_options.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
+
+
+def lazy_import():
+ from gooddata_api_client.model.csv_convert_options_column_type import CsvConvertOptionsColumnType
+ globals()['CsvConvertOptionsColumnType'] = CsvConvertOptionsColumnType
+
+
+class CsvConvertOptions(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 {
+ 'auto_dict_encode': (bool,), # noqa: E501
+ 'auto_dict_max_cardinality': (int,), # noqa: E501
+ 'check_utf8': (bool,), # noqa: E501
+ 'column_types': ([CsvConvertOptionsColumnType],), # noqa: E501
+ 'decimal_point': (str,), # noqa: E501
+ 'false_values': ([str],), # noqa: E501
+ 'include_columns': ([str],), # noqa: E501
+ 'include_missing_columns': (bool,), # noqa: E501
+ 'null_values': ([str],), # noqa: E501
+ 'quoted_strings_can_be_null': (bool,), # noqa: E501
+ 'strings_can_be_null': (bool,), # noqa: E501
+ 'timestamp_parsers': ([str],), # noqa: E501
+ 'true_values': ([str],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'auto_dict_encode': 'autoDictEncode', # noqa: E501
+ 'auto_dict_max_cardinality': 'autoDictMaxCardinality', # noqa: E501
+ 'check_utf8': 'checkUtf8', # noqa: E501
+ 'column_types': 'columnTypes', # noqa: E501
+ 'decimal_point': 'decimalPoint', # noqa: E501
+ 'false_values': 'falseValues', # noqa: E501
+ 'include_columns': 'includeColumns', # noqa: E501
+ 'include_missing_columns': 'includeMissingColumns', # noqa: E501
+ 'null_values': 'nullValues', # noqa: E501
+ 'quoted_strings_can_be_null': 'quotedStringsCanBeNull', # noqa: E501
+ 'strings_can_be_null': 'stringsCanBeNull', # noqa: E501
+ 'timestamp_parsers': 'timestampParsers', # noqa: E501
+ 'true_values': 'trueValues', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """CsvConvertOptions - 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,)
+ auto_dict_encode (bool): Whether to try to automatically dict-encode string / binary data.. [optional] # noqa: E501
+ auto_dict_max_cardinality (int): The maximum dictionary cardinality for autoDictEncode.. [optional] # noqa: E501
+ check_utf8 (bool): Whether to check UTF8 validity of string columns.. [optional] # noqa: E501
+ column_types ([CsvConvertOptionsColumnType]): Information about the column types in the table.. [optional] # noqa: E501
+ decimal_point (str): The character used as decimal point in floating-point and decimal data.. [optional] # noqa: E501
+ false_values ([str]): Sequence of strings that denote false Booleans in the data.. [optional] # noqa: E501
+ include_columns ([str]): The names of columns to include in the Table. If empty, the Table will include all columns from the CSV file. If not empty, only these columns will be included, in this order.. [optional] # noqa: E501
+ include_missing_columns (bool): If false, columns in includeColumns but not in the CSV file will error out.. [optional] # noqa: E501
+ null_values ([str]): Sequence of strings that denote nulls in the data.. [optional] # noqa: E501
+ quoted_strings_can_be_null (bool): Whether quoted values can be null.. [optional] # noqa: E501
+ strings_can_be_null (bool): Whether string / binary columns can have null values.. [optional] # noqa: E501
+ timestamp_parsers ([str]): Sequence of strptime()-compatible format strings, tried in order when attempting to infer or convert timestamp values.. [optional] # noqa: E501
+ true_values ([str]): Sequence of strings that denote true Booleans in the data.. [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
+ """CsvConvertOptions - 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,)
+ auto_dict_encode (bool): Whether to try to automatically dict-encode string / binary data.. [optional] # noqa: E501
+ auto_dict_max_cardinality (int): The maximum dictionary cardinality for autoDictEncode.. [optional] # noqa: E501
+ check_utf8 (bool): Whether to check UTF8 validity of string columns.. [optional] # noqa: E501
+ column_types ([CsvConvertOptionsColumnType]): Information about the column types in the table.. [optional] # noqa: E501
+ decimal_point (str): The character used as decimal point in floating-point and decimal data.. [optional] # noqa: E501
+ false_values ([str]): Sequence of strings that denote false Booleans in the data.. [optional] # noqa: E501
+ include_columns ([str]): The names of columns to include in the Table. If empty, the Table will include all columns from the CSV file. If not empty, only these columns will be included, in this order.. [optional] # noqa: E501
+ include_missing_columns (bool): If false, columns in includeColumns but not in the CSV file will error out.. [optional] # noqa: E501
+ null_values ([str]): Sequence of strings that denote nulls in the data.. [optional] # noqa: E501
+ quoted_strings_can_be_null (bool): Whether quoted values can be null.. [optional] # noqa: E501
+ strings_can_be_null (bool): Whether string / binary columns can have null values.. [optional] # noqa: E501
+ timestamp_parsers ([str]): Sequence of strptime()-compatible format strings, tried in order when attempting to infer or convert timestamp values.. [optional] # noqa: E501
+ true_values ([str]): Sequence of strings that denote true Booleans in the data.. [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/csv_convert_options_column_type.py b/gooddata-api-client/gooddata_api_client/model/csv_convert_options_column_type.py
new file mode 100644
index 000000000..f67fb8bd9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/csv_convert_options_column_type.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 CsvConvertOptionsColumnType(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
+ 'nullable': (bool,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'nullable': 'nullable', # 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
+ """CsvConvertOptionsColumnType - 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,)
+ name (str): The column name.. [optional] # noqa: E501
+ nullable (bool): Whether the data in the given column can be null.. [optional] # noqa: E501
+ type (str): The column 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__,)
+
+ 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
+ """CsvConvertOptionsColumnType - 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,)
+ name (str): The column name.. [optional] # noqa: E501
+ nullable (bool): Whether the data in the given column can be null.. [optional] # noqa: E501
+ type (str): The column 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__,)
+
+ 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/csv_manifest_body.py b/gooddata-api-client/gooddata_api_client/model/csv_manifest_body.py
new file mode 100644
index 000000000..3ff3114b3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/csv_manifest_body.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.csv_convert_options import CsvConvertOptions
+ from gooddata_api_client.model.csv_parse_options import CsvParseOptions
+ from gooddata_api_client.model.csv_read_options import CsvReadOptions
+ globals()['CsvConvertOptions'] = CsvConvertOptions
+ globals()['CsvParseOptions'] = CsvParseOptions
+ globals()['CsvReadOptions'] = CsvReadOptions
+
+
+class CsvManifestBody(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 {
+ 'column_date_formats': ({str: (str,)},), # noqa: E501
+ 'convert': (CsvConvertOptions,), # noqa: E501
+ 'parse': (CsvParseOptions,), # noqa: E501
+ 'read': (CsvReadOptions,), # noqa: E501
+ 'read_method': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'column_date_formats': 'column_date_formats', # noqa: E501
+ 'convert': 'convert', # noqa: E501
+ 'parse': 'parse', # noqa: E501
+ 'read': 'read', # noqa: E501
+ 'read_method': 'read_method', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """CsvManifestBody - 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,)
+ column_date_formats ({str: (str,)}): Map of column names to date formats to use when parsing them as dates.. [optional] # noqa: E501
+ convert (CsvConvertOptions): [optional] # noqa: E501
+ parse (CsvParseOptions): [optional] # noqa: E501
+ read (CsvReadOptions): [optional] # noqa: E501
+ read_method (str): Method used to read the CSV file.. [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
+ """CsvManifestBody - 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,)
+ column_date_formats ({str: (str,)}): Map of column names to date formats to use when parsing them as dates.. [optional] # noqa: E501
+ convert (CsvConvertOptions): [optional] # noqa: E501
+ parse (CsvParseOptions): [optional] # noqa: E501
+ read (CsvReadOptions): [optional] # noqa: E501
+ read_method (str): Method used to read the CSV file.. [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/csv_parse_options.py b/gooddata-api-client/gooddata_api_client/model/csv_parse_options.py
new file mode 100644
index 000000000..074f92a6c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/csv_parse_options.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
+
+
+
+class CsvParseOptions(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 {
+ 'delimiter': (str,), # noqa: E501
+ 'double_quote': (bool,), # noqa: E501
+ 'escape_char': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
+ 'ignore_empty_lines': (bool,), # noqa: E501
+ 'newlines_in_values': (bool,), # noqa: E501
+ 'quote_char': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'delimiter': 'delimiter', # noqa: E501
+ 'double_quote': 'doubleQuote', # noqa: E501
+ 'escape_char': 'escapeChar', # noqa: E501
+ 'ignore_empty_lines': 'ignoreEmptyLines', # noqa: E501
+ 'newlines_in_values': 'newlinesInValues', # noqa: E501
+ 'quote_char': 'quoteChar', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """CsvParseOptions - 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,)
+ delimiter (str): The character delimiting individual cells in the CSV data.. [optional] # noqa: E501
+ double_quote (bool): Whether two quotes in a quoted CSV value denote a single quote in the data.. [optional] # noqa: E501
+ escape_char ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): The character used optionally for escaping special characters or false to disable escaping.. [optional] # noqa: E501
+ ignore_empty_lines (bool): Whether empty lines are ignored in CSV input.. [optional] # noqa: E501
+ newlines_in_values (bool): Whether newline characters are allowed in CSV values.. [optional] # noqa: E501
+ quote_char ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): The character used optionally for quoting CSV values or false to disable quoting.. [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
+ """CsvParseOptions - 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,)
+ delimiter (str): The character delimiting individual cells in the CSV data.. [optional] # noqa: E501
+ double_quote (bool): Whether two quotes in a quoted CSV value denote a single quote in the data.. [optional] # noqa: E501
+ escape_char ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): The character used optionally for escaping special characters or false to disable escaping.. [optional] # noqa: E501
+ ignore_empty_lines (bool): Whether empty lines are ignored in CSV input.. [optional] # noqa: E501
+ newlines_in_values (bool): Whether newline characters are allowed in CSV values.. [optional] # noqa: E501
+ quote_char ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): The character used optionally for quoting CSV values or false to disable quoting.. [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/csv_read_options.py b/gooddata-api-client/gooddata_api_client/model/csv_read_options.py
new file mode 100644
index 000000000..38e6ac180
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/csv_read_options.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 CsvReadOptions(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 {
+ 'auto_generate_column_names': (bool,), # noqa: E501
+ 'block_size': (int,), # noqa: E501
+ 'column_names': ([str],), # noqa: E501
+ 'encoding': (str,), # noqa: E501
+ 'skip_rows': (int,), # noqa: E501
+ 'skip_rows_after_names': (int,), # noqa: E501
+ 'use_threads': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'auto_generate_column_names': 'autoGenerateColumnNames', # noqa: E501
+ 'block_size': 'blockSize', # noqa: E501
+ 'column_names': 'columnNames', # noqa: E501
+ 'encoding': 'encoding', # noqa: E501
+ 'skip_rows': 'skipRows', # noqa: E501
+ 'skip_rows_after_names': 'skipRowsAfterNames', # noqa: E501
+ 'use_threads': 'useThreads', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """CsvReadOptions - 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,)
+ auto_generate_column_names (bool): Whether to autogenerate column names if columnNames is empty.. [optional] # noqa: E501
+ block_size (int): How many bytes to process at a time from the input stream.. [optional] # noqa: E501
+ column_names ([str]): The column names of the target table.. [optional] # noqa: E501
+ encoding (str): The character encoding of the CSV data.. [optional] # noqa: E501
+ skip_rows (int): The number of rows to skip before the column names (if any) and the CSV data.. [optional] # noqa: E501
+ skip_rows_after_names (int): The number of rows to skip after the column names.. [optional] # noqa: E501
+ use_threads (bool): Whether to use multiple threads to accelerate reading.. [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
+ """CsvReadOptions - 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,)
+ auto_generate_column_names (bool): Whether to autogenerate column names if columnNames is empty.. [optional] # noqa: E501
+ block_size (int): How many bytes to process at a time from the input stream.. [optional] # noqa: E501
+ column_names ([str]): The column names of the target table.. [optional] # noqa: E501
+ encoding (str): The character encoding of the CSV data.. [optional] # noqa: E501
+ skip_rows (int): The number of rows to skip before the column names (if any) and the CSV data.. [optional] # noqa: E501
+ skip_rows_after_names (int): The number of rows to skip after the column names.. [optional] # noqa: E501
+ use_threads (bool): Whether to use multiple threads to accelerate reading.. [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/dashboard_context.py b/gooddata-api-client/gooddata_api_client/model/dashboard_context.py
new file mode 100644
index 000000000..f60ea66b4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/dashboard_context.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.dashboard_context_widgets_inner import DashboardContextWidgetsInner
+ globals()['DashboardContextWidgetsInner'] = DashboardContextWidgetsInner
+
+
+class DashboardContext(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 {
+ 'id': (str,), # noqa: E501
+ 'widgets': ([DashboardContextWidgetsInner],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'widgets': 'widgets', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, widgets, *args, **kwargs): # noqa: E501
+ """DashboardContext - a model defined in OpenAPI
+
+ Args:
+ id (str): Dashboard object ID.
+ widgets ([DashboardContextWidgetsInner]): Widgets currently visible on the dashboard.
+
+ 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.id = id
+ self.widgets = widgets
+ 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, widgets, *args, **kwargs): # noqa: E501
+ """DashboardContext - a model defined in OpenAPI
+
+ Args:
+ id (str): Dashboard object ID.
+ widgets ([DashboardContextWidgetsInner]): Widgets currently visible on the dashboard.
+
+ 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.id = id
+ self.widgets = widgets
+ 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/dashboard_context_widgets_inner.py b/gooddata-api-client/gooddata_api_client/model/dashboard_context_widgets_inner.py
new file mode 100644
index 000000000..e1b801744
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/dashboard_context_widgets_inner.py
@@ -0,0 +1,360 @@
+"""
+ 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.insight_widget_descriptor import InsightWidgetDescriptor
+ from gooddata_api_client.model.rich_text_widget_descriptor import RichTextWidgetDescriptor
+ from gooddata_api_client.model.visualization_switcher_widget_descriptor import VisualizationSwitcherWidgetDescriptor
+ globals()['InsightWidgetDescriptor'] = InsightWidgetDescriptor
+ globals()['RichTextWidgetDescriptor'] = RichTextWidgetDescriptor
+ globals()['VisualizationSwitcherWidgetDescriptor'] = VisualizationSwitcherWidgetDescriptor
+
+
+class DashboardContextWidgetsInner(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 = {
+ }
+
+ 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 {
+ 'widget_type': (str,), # noqa: E501
+ 'result_id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ 'active_visualization_id': (str,), # noqa: E501
+ 'visualization_ids': ([str],), # noqa: E501
+ 'visualization_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ lazy_import()
+ val = {
+ 'InsightWidgetDescriptor': InsightWidgetDescriptor,
+ 'RichTextWidgetDescriptor': RichTextWidgetDescriptor,
+ 'VisualizationSwitcherWidgetDescriptor': VisualizationSwitcherWidgetDescriptor,
+ 'insight': InsightWidgetDescriptor,
+ 'richText': RichTextWidgetDescriptor,
+ 'visualizationSwitcher': VisualizationSwitcherWidgetDescriptor,
+ }
+ if not val:
+ return None
+ return {'widget_type': val}
+
+ attribute_map = {
+ 'widget_type': 'widgetType', # noqa: E501
+ 'result_id': 'resultId', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ 'active_visualization_id': 'activeVisualizationId', # noqa: E501
+ 'visualization_ids': 'visualizationIds', # noqa: E501
+ 'visualization_id': 'visualizationId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """DashboardContextWidgetsInner - a model defined in OpenAPI
+
+ Keyword Args:
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [optional] # noqa: E501
+ active_visualization_id (str): ID of the currently active visualization in the switcher.. [optional] # noqa: E501
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.. [optional] # noqa: E501
+ visualization_id (str): Visualization object ID referenced by this insight widget.. [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
+ """DashboardContextWidgetsInner - a model defined in OpenAPI
+
+ Keyword Args:
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [optional] # noqa: E501
+ active_visualization_id (str): ID of the currently active visualization in the switcher.. [optional] # noqa: E501
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.. [optional] # noqa: E501
+ visualization_id (str): Visualization object ID referenced by this insight widget.. [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': [
+ InsightWidgetDescriptor,
+ RichTextWidgetDescriptor,
+ VisualizationSwitcherWidgetDescriptor,
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_column.py b/gooddata-api-client/gooddata_api_client/model/declarative_column.py
index 51a442ff4..fc5ef7b4b 100644
--- a/gooddata-api-client/gooddata_api_client/model/declarative_column.py
+++ b/gooddata-api-client/gooddata_api_client/model/declarative_column.py
@@ -70,6 +70,9 @@ class DeclarativeColumn(ModelNormal):
validations = {
('name',): {
'max_length': 255,
+ 'regex': {
+ 'pattern': r'^[^\x00]*$', # noqa: E501
+ },
},
('description',): {
'max_length': 10000,
diff --git a/gooddata-api-client/gooddata_api_client/model/delete_files_request.py b/gooddata-api-client/gooddata_api_client/model/delete_files_request.py
new file mode 100644
index 000000000..e8f9372d6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/delete_files_request.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 DeleteFilesRequest(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 {
+ 'file_names': ([str],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'file_names': 'fileNames', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, file_names, *args, **kwargs): # noqa: E501
+ """DeleteFilesRequest - a model defined in OpenAPI
+
+ Args:
+ file_names ([str]): Names of the files to delete.
+
+ 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.file_names = file_names
+ 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, file_names, *args, **kwargs): # noqa: E501
+ """DeleteFilesRequest - a model defined in OpenAPI
+
+ Args:
+ file_names ([str]): Names of the files to delete.
+
+ 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.file_names = file_names
+ 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/gd_storage_file.py b/gooddata-api-client/gooddata_api_client/model/gd_storage_file.py
new file mode 100644
index 000000000..d10290bb1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/gd_storage_file.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 GdStorageFile(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',): {
+ 'CSV': "CSV",
+ },
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ 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 {
+ 'modified_at': (datetime,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ 'size': (int,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'modified_at': 'modifiedAt', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'size': 'size', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, modified_at, name, size, *args, **kwargs): # noqa: E501
+ """GdStorageFile - a model defined in OpenAPI
+
+ Args:
+ modified_at (datetime): Last modification timestamp of the file.
+ name (str): Name of the file.
+ size (int): Size of the file in bytes.
+
+ Keyword Args:
+ type (str): Type of the file.. defaults to "CSV", must be one of ["CSV", ] # 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', "CSV")
+ _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.modified_at = modified_at
+ self.name = name
+ self.size = size
+ 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, modified_at, name, size, *args, **kwargs): # noqa: E501
+ """GdStorageFile - a model defined in OpenAPI
+
+ Args:
+ modified_at (datetime): Last modification timestamp of the file.
+ name (str): Name of the file.
+ size (int): Size of the file in bytes.
+
+ Keyword Args:
+ type (str): Type of the file.. defaults to "CSV", must be one of ["CSV", ] # 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', "CSV")
+ _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.modified_at = modified_at
+ self.name = name
+ self.size = size
+ 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/geo_json_feature.py b/gooddata-api-client/gooddata_api_client/model/geo_json_feature.py
new file mode 100644
index 000000000..df6bd86b1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/geo_json_feature.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.geo_json_geometry import GeoJsonGeometry
+ globals()['GeoJsonGeometry'] = GeoJsonGeometry
+
+
+class GeoJsonFeature(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 {
+ 'properties': ({str: ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},)},), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'geometry': (GeoJsonGeometry,), # noqa: E501
+ 'id': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'properties': 'properties', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'geometry': 'geometry', # noqa: E501
+ 'id': 'id', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, properties, type, *args, **kwargs): # noqa: E501
+ """GeoJsonFeature - a model defined in OpenAPI
+
+ Args:
+ properties ({str: ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},)}):
+ 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,)
+ geometry (GeoJsonGeometry): [optional] # noqa: E501
+ id ({str: (bool, date, datetime, dict, float, int, list, 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.properties = properties
+ 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, properties, type, *args, **kwargs): # noqa: E501
+ """GeoJsonFeature - a model defined in OpenAPI
+
+ Args:
+ properties ({str: ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},)}):
+ 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,)
+ geometry (GeoJsonGeometry): [optional] # noqa: E501
+ id ({str: (bool, date, datetime, dict, float, int, list, 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.properties = properties
+ 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/geo_json_feature_collection.py b/gooddata-api-client/gooddata_api_client/model/geo_json_feature_collection.py
new file mode 100644
index 000000000..589a9b4a9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/geo_json_feature_collection.py
@@ -0,0 +1,286 @@
+"""
+ 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.geo_json_feature import GeoJsonFeature
+ globals()['GeoJsonFeature'] = GeoJsonFeature
+
+
+class GeoJsonFeatureCollection(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 {
+ 'features': ([GeoJsonFeature],), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'bbox': ([float],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'features': 'features', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'bbox': 'bbox', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, features, type, *args, **kwargs): # noqa: E501
+ """GeoJsonFeatureCollection - a model defined in OpenAPI
+
+ Args:
+ features ([GeoJsonFeature]):
+ 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,)
+ bbox ([float]): [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.features = features
+ 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, features, type, *args, **kwargs): # noqa: E501
+ """GeoJsonFeatureCollection - a model defined in OpenAPI
+
+ Args:
+ features ([GeoJsonFeature]):
+ 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,)
+ bbox ([float]): [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.features = features
+ 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/geo_json_geometry.py b/gooddata-api-client/gooddata_api_client/model/geo_json_geometry.py
new file mode 100644
index 000000000..7ca210bac
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/geo_json_geometry.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 GeoJsonGeometry(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 {
+ 'coordinates': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
+ 'type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'coordinates': 'coordinates', # noqa: E501
+ 'type': 'type', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, coordinates, type, *args, **kwargs): # noqa: E501
+ """GeoJsonGeometry - a model defined in OpenAPI
+
+ Args:
+ coordinates ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}):
+ 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.coordinates = coordinates
+ 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, coordinates, type, *args, **kwargs): # noqa: E501
+ """GeoJsonGeometry - a model defined in OpenAPI
+
+ Args:
+ coordinates ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}):
+ 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.coordinates = coordinates
+ 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/get_service_status_response.py b/gooddata-api-client/gooddata_api_client/model/get_service_status_response.py
new file mode 100644
index 000000000..369c9f76a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/get_service_status_response.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_node import JsonNode
+ globals()['JsonNode'] = JsonNode
+
+
+class GetServiceStatusResponse(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 {
+ 'status': (JsonNode,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'status': 'status', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, status, *args, **kwargs): # noqa: E501
+ """GetServiceStatusResponse - a model defined in OpenAPI
+
+ Args:
+ status (JsonNode):
+
+ 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.status = status
+ 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, status, *args, **kwargs): # noqa: E501
+ """GetServiceStatusResponse - a model defined in OpenAPI
+
+ Args:
+ status (JsonNode):
+
+ 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.status = status
+ 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/import_csv_request.py b/gooddata-api-client/gooddata_api_client/model/import_csv_request.py
new file mode 100644
index 000000000..1eef52e38
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_csv_request.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.import_csv_request_table import ImportCsvRequestTable
+ globals()['ImportCsvRequestTable'] = ImportCsvRequestTable
+
+
+class ImportCsvRequest(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 {
+ 'tables': ([ImportCsvRequestTable],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'tables': 'tables', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, tables, *args, **kwargs): # noqa: E501
+ """ImportCsvRequest - a model defined in OpenAPI
+
+ Args:
+ tables ([ImportCsvRequestTable]): Information about the individual tables.
+
+ 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.tables = tables
+ 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, tables, *args, **kwargs): # noqa: E501
+ """ImportCsvRequest - a model defined in OpenAPI
+
+ Args:
+ tables ([ImportCsvRequestTable]): Information about the individual tables.
+
+ 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.tables = tables
+ 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/import_csv_request_table.py b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table.py
new file mode 100644
index 000000000..e8c1c2de2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table.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.import_csv_request_table_source import ImportCsvRequestTableSource
+ globals()['ImportCsvRequestTableSource'] = ImportCsvRequestTableSource
+
+
+class ImportCsvRequestTable(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 {
+ 'name': (str,), # noqa: E501
+ 'source': (ImportCsvRequestTableSource,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'source': 'source', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, source, *args, **kwargs): # noqa: E501
+ """ImportCsvRequestTable - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the table.
+ source (ImportCsvRequestTableSource):
+
+ 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.source = source
+ 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, source, *args, **kwargs): # noqa: E501
+ """ImportCsvRequestTable - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the table.
+ source (ImportCsvRequestTableSource):
+
+ 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.source = source
+ 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/import_csv_request_table_source.py b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table_source.py
new file mode 100644
index 000000000..920283dac
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table_source.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.import_csv_request_table_source_config import ImportCsvRequestTableSourceConfig
+ globals()['ImportCsvRequestTableSourceConfig'] = ImportCsvRequestTableSourceConfig
+
+
+class ImportCsvRequestTableSource(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 {
+ 'config': (ImportCsvRequestTableSourceConfig,), # noqa: E501
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'config': 'config', # noqa: E501
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, config, location, *args, **kwargs): # noqa: E501
+ """ImportCsvRequestTableSource - a model defined in OpenAPI
+
+ Args:
+ config (ImportCsvRequestTableSourceConfig):
+ location (str): Location of the data in the staging area.
+
+ 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.config = config
+ self.location = location
+ 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, config, location, *args, **kwargs): # noqa: E501
+ """ImportCsvRequestTableSource - a model defined in OpenAPI
+
+ Args:
+ config (ImportCsvRequestTableSourceConfig):
+ location (str): Location of the data in the staging area.
+
+ 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.config = config
+ self.location = location
+ 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/import_csv_request_table_source_config.py b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table_source_config.py
new file mode 100644
index 000000000..3019ab918
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_csv_request_table_source_config.py
@@ -0,0 +1,286 @@
+"""
+ 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.csv_convert_options import CsvConvertOptions
+ from gooddata_api_client.model.csv_parse_options import CsvParseOptions
+ from gooddata_api_client.model.csv_read_options import CsvReadOptions
+ globals()['CsvConvertOptions'] = CsvConvertOptions
+ globals()['CsvParseOptions'] = CsvParseOptions
+ globals()['CsvReadOptions'] = CsvReadOptions
+
+
+class ImportCsvRequestTableSourceConfig(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 {
+ 'column_date_formats': ({str: (str,)},), # noqa: E501
+ 'convert_options': (CsvConvertOptions,), # noqa: E501
+ 'parse_options': (CsvParseOptions,), # noqa: E501
+ 'read_options': (CsvReadOptions,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'column_date_formats': 'columnDateFormats', # noqa: E501
+ 'convert_options': 'convertOptions', # noqa: E501
+ 'parse_options': 'parseOptions', # noqa: E501
+ 'read_options': 'readOptions', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ImportCsvRequestTableSourceConfig - 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,)
+ column_date_formats ({str: (str,)}): Date formats to use to use to read the given columns.. [optional] # noqa: E501
+ convert_options (CsvConvertOptions): [optional] # noqa: E501
+ parse_options (CsvParseOptions): [optional] # noqa: E501
+ read_options (CsvReadOptions): [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
+ """ImportCsvRequestTableSourceConfig - 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,)
+ column_date_formats ({str: (str,)}): Date formats to use to use to read the given columns.. [optional] # noqa: E501
+ convert_options (CsvConvertOptions): [optional] # noqa: E501
+ parse_options (CsvParseOptions): [optional] # noqa: E501
+ read_options (CsvReadOptions): [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/import_csv_response.py b/gooddata-api-client/gooddata_api_client/model/import_csv_response.py
new file mode 100644
index 000000000..9dc90c763
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_csv_response.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 ImportCsvResponse(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
+ 'version': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'version': 'version', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, version, *args, **kwargs): # noqa: E501
+ """ImportCsvResponse - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the table the file was imported to.
+ version (int): Version the file was imported as.
+
+ 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.version = version
+ 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, version, *args, **kwargs): # noqa: E501
+ """ImportCsvResponse - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of the table the file was imported to.
+ version (int): Version the file was imported as.
+
+ 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.version = version
+ 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/import_geo_collection_request.py b/gooddata-api-client/gooddata_api_client/model/import_geo_collection_request.py
new file mode 100644
index 000000000..26752f9ab
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_geo_collection_request.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 ImportGeoCollectionRequest(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 {
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """ImportGeoCollectionRequest - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the file in the staging area.
+
+ 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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """ImportGeoCollectionRequest - a model defined in OpenAPI
+
+ Args:
+ location (str): Location of the file in the staging area.
+
+ 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.location = location
+ 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/import_geo_collection_response.py b/gooddata-api-client/gooddata_api_client/model/import_geo_collection_response.py
new file mode 100644
index 000000000..e85a5cadd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/import_geo_collection_response.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 ImportGeoCollectionResponse(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 {
+ 'version': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'version': 'version', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, version, *args, **kwargs): # noqa: E501
+ """ImportGeoCollectionResponse - a model defined in OpenAPI
+
+ Args:
+ version (int): The version of the imported geo collection.
+
+ 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.version = version
+ 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, version, *args, **kwargs): # noqa: E501
+ """ImportGeoCollectionResponse - a model defined in OpenAPI
+
+ Args:
+ version (int): The version of the imported geo collection.
+
+ 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.version = version
+ 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/insight_widget_descriptor.py b/gooddata-api-client/gooddata_api_client/model/insight_widget_descriptor.py
new file mode 100644
index 000000000..d933983cf
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/insight_widget_descriptor.py
@@ -0,0 +1,342 @@
+"""
+ 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.insight_widget_descriptor_all_of import InsightWidgetDescriptorAllOf
+ from gooddata_api_client.model.widget_descriptor import WidgetDescriptor
+ globals()['InsightWidgetDescriptorAllOf'] = InsightWidgetDescriptorAllOf
+ globals()['WidgetDescriptor'] = WidgetDescriptor
+
+
+class InsightWidgetDescriptor(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 = {
+ }
+
+ 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 {
+ 'title': (str,), # noqa: E501
+ 'visualization_id': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ 'widget_type': (str,), # noqa: E501
+ 'result_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ val = {
+ }
+ if not val:
+ return None
+ return {'widget_type': val}
+
+ attribute_map = {
+ 'title': 'title', # noqa: E501
+ 'visualization_id': 'visualizationId', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ 'widget_type': 'widgetType', # noqa: E501
+ 'result_id': 'resultId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """InsightWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ title (str): Widget title as displayed on the dashboard.
+ visualization_id (str): Visualization object ID referenced by this insight widget.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for this widget's cached execution result.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ 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
+ """InsightWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ title (str): Widget title as displayed on the dashboard.
+ visualization_id (str): Visualization object ID referenced by this insight widget.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for this widget's cached execution result.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ for arg in args:
+ if isinstance(arg, dict):
+ kwargs.update(arg)
+ else:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ 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': [
+ InsightWidgetDescriptorAllOf,
+ WidgetDescriptor,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/insight_widget_descriptor_all_of.py b/gooddata-api-client/gooddata_api_client/model/insight_widget_descriptor_all_of.py
new file mode 100644
index 000000000..cb25bd554
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/insight_widget_descriptor_all_of.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 InsightWidgetDescriptorAllOf(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 {
+ 'result_id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'visualization_id': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'result_id': 'resultId', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'visualization_id': 'visualizationId', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """InsightWidgetDescriptorAllOf - 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,)
+ result_id (str): Signed result ID for this widget's cached execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ visualization_id (str): Visualization object ID referenced by this insight widget.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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
+ """InsightWidgetDescriptorAllOf - 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,)
+ result_id (str): Signed result ID for this widget's cached execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ visualization_id (str): Visualization object ID referenced by this insight widget.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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/list_llm_provider_models_request.py b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_request.py
new file mode 100644
index 000000000..c5e8668a1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_request.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.list_llm_provider_models_request_provider_config import ListLlmProviderModelsRequestProviderConfig
+ globals()['ListLlmProviderModelsRequestProviderConfig'] = ListLlmProviderModelsRequestProviderConfig
+
+
+class ListLlmProviderModelsRequest(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': (ListLlmProviderModelsRequestProviderConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'provider_config': 'providerConfig', # 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
+ """ListLlmProviderModelsRequest - a model defined in OpenAPI
+
+ Args:
+ provider_config (ListLlmProviderModelsRequestProviderConfig):
+
+ 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.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
+ """ListLlmProviderModelsRequest - a model defined in OpenAPI
+
+ Args:
+ provider_config (ListLlmProviderModelsRequestProviderConfig):
+
+ 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.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/list_llm_provider_models_request_provider_config.py b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_request_provider_config.py
new file mode 100644
index 000000000..21d26004d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_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 ListLlmProviderModelsRequestProviderConfig(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,), # 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
+ """ListLlmProviderModelsRequestProviderConfig - 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): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com/v1" # 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 OpenAI 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
+ """ListLlmProviderModelsRequestProviderConfig - 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): Custom base URL for OpenAI API.. [optional] if omitted the server will use the default value of "https://api.openai.com/v1" # 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 OpenAI 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/list_llm_provider_models_response.py b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_response.py
new file mode 100644
index 000000000..1a96206e6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/list_llm_provider_models_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.llm_model import LlmModel
+ globals()['LlmModel'] = LlmModel
+
+
+class ListLlmProviderModelsResponse(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 {
+ 'message': (str,), # noqa: E501
+ 'models': ([LlmModel],), # noqa: E501
+ 'success': (bool,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'message': 'message', # noqa: E501
+ 'models': 'models', # noqa: E501
+ 'success': 'success', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, message, models, success, *args, **kwargs): # noqa: E501
+ """ListLlmProviderModelsResponse - a model defined in OpenAPI
+
+ Args:
+ message (str): Message about the listing result.
+ models ([LlmModel]): Available models on the provider.
+ success (bool): Whether the model listing succeeded.
+
+ 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.models = models
+ 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, models, success, *args, **kwargs): # noqa: E501
+ """ListLlmProviderModelsResponse - a model defined in OpenAPI
+
+ Args:
+ message (str): Message about the listing result.
+ models ([LlmModel]): Available models on the provider.
+ success (bool): Whether the model listing succeeded.
+
+ 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.models = models
+ 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/object_reference.py b/gooddata-api-client/gooddata_api_client/model/object_reference.py
new file mode 100644
index 000000000..32c87649c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/object_reference.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 ObjectReference(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',): {
+ 'WIDGET': "WIDGET",
+ 'METRIC': "METRIC",
+ 'ATTRIBUTE': "ATTRIBUTE",
+ 'DASHBOARD': "DASHBOARD",
+ },
+ }
+
+ 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
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ '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, id, type, *args, **kwargs): # noqa: E501
+ """ObjectReference - a model defined in OpenAPI
+
+ Args:
+ id (str): Object identifier (e.g. widget ID, metric ID).
+ type (str): Type of the referenced object.
+
+ 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.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
+ """ObjectReference - a model defined in OpenAPI
+
+ Args:
+ id (str): Object identifier (e.g. widget ID, metric ID).
+ type (str): Type of the referenced object.
+
+ 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.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/object_reference_group.py b/gooddata-api-client/gooddata_api_client/model/object_reference_group.py
new file mode 100644
index 000000000..498d76634
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/object_reference_group.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.object_reference import ObjectReference
+ globals()['ObjectReference'] = ObjectReference
+
+
+class ObjectReferenceGroup(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 {
+ 'objects': ([ObjectReference],), # noqa: E501
+ 'context': (ObjectReference,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'objects': 'objects', # noqa: E501
+ 'context': 'context', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, objects, *args, **kwargs): # noqa: E501
+ """ObjectReferenceGroup - a model defined in OpenAPI
+
+ Args:
+ objects ([ObjectReference]): Objects the user explicitly referenced within this context.
+
+ 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 (ObjectReference): [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.objects = objects
+ 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, objects, *args, **kwargs): # noqa: E501
+ """ObjectReferenceGroup - a model defined in OpenAPI
+
+ Args:
+ objects ([ObjectReference]): Objects the user explicitly referenced within this context.
+
+ 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 (ObjectReference): [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.objects = objects
+ 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/organization_cache_settings.py b/gooddata-api-client/gooddata_api_client/model/organization_cache_settings.py
new file mode 100644
index 000000000..4d500dba8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/organization_cache_settings.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 OrganizationCacheSettings(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 {
+ 'extra_cache_budget': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'extra_cache_budget': 'extraCacheBudget', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, extra_cache_budget, *args, **kwargs): # noqa: E501
+ """OrganizationCacheSettings - a model defined in OpenAPI
+
+ Args:
+ extra_cache_budget (int): Extra cache budget the organization can allocate among its workspaces, in bytes.
+
+ 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.extra_cache_budget = extra_cache_budget
+ 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, extra_cache_budget, *args, **kwargs): # noqa: E501
+ """OrganizationCacheSettings - a model defined in OpenAPI
+
+ Args:
+ extra_cache_budget (int): Extra cache budget the organization can allocate among its workspaces, in bytes.
+
+ 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.extra_cache_budget = extra_cache_budget
+ 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/organization_cache_usage.py b/gooddata-api-client/gooddata_api_client/model/organization_cache_usage.py
new file mode 100644
index 000000000..5ddbaced0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/organization_cache_usage.py
@@ -0,0 +1,292 @@
+"""
+ 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.cache_removal_interval import CacheRemovalInterval
+ from gooddata_api_client.model.organization_cache_settings import OrganizationCacheSettings
+ from gooddata_api_client.model.organization_current_cache_usage import OrganizationCurrentCacheUsage
+ globals()['CacheRemovalInterval'] = CacheRemovalInterval
+ globals()['OrganizationCacheSettings'] = OrganizationCacheSettings
+ globals()['OrganizationCurrentCacheUsage'] = OrganizationCurrentCacheUsage
+
+
+class OrganizationCacheUsage(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 {
+ 'current': (OrganizationCurrentCacheUsage,), # noqa: E501
+ 'removal_intervals': ([CacheRemovalInterval],), # noqa: E501
+ 'settings': (OrganizationCacheSettings,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'current': 'current', # noqa: E501
+ 'removal_intervals': 'removalIntervals', # noqa: E501
+ 'settings': 'settings', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, current, removal_intervals, settings, *args, **kwargs): # noqa: E501
+ """OrganizationCacheUsage - a model defined in OpenAPI
+
+ Args:
+ current (OrganizationCurrentCacheUsage):
+ removal_intervals ([CacheRemovalInterval]): List of cache removal intervals.
+ settings (OrganizationCacheSettings):
+
+ 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.current = current
+ self.removal_intervals = removal_intervals
+ self.settings = settings
+ 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, current, removal_intervals, settings, *args, **kwargs): # noqa: E501
+ """OrganizationCacheUsage - a model defined in OpenAPI
+
+ Args:
+ current (OrganizationCurrentCacheUsage):
+ removal_intervals ([CacheRemovalInterval]): List of cache removal intervals.
+ settings (OrganizationCacheSettings):
+
+ 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.current = current
+ self.removal_intervals = removal_intervals
+ self.settings = settings
+ 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/organization_current_cache_usage.py b/gooddata-api-client/gooddata_api_client/model/organization_current_cache_usage.py
new file mode 100644
index 000000000..db0b3ceba
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/organization_current_cache_usage.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
+
+
+
+class OrganizationCurrentCacheUsage(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 {
+ 'cache_used': (int,), # noqa: E501
+ 'removed_since_start': (int,), # noqa: E501
+ 'removal_period_start': (datetime,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'cache_used': 'cacheUsed', # noqa: E501
+ 'removed_since_start': 'removedSinceStart', # noqa: E501
+ 'removal_period_start': 'removalPeriodStart', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, cache_used, removed_since_start, *args, **kwargs): # noqa: E501
+ """OrganizationCurrentCacheUsage - a model defined in OpenAPI
+
+ Args:
+ cache_used (int): Cache currently used by the organization, in bytes.
+ removed_since_start (int): Bytes removed since start due to insufficient cache.
+
+ 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,)
+ removal_period_start (datetime): Start timestamp of removal period.. [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.cache_used = cache_used
+ self.removed_since_start = removed_since_start
+ 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, cache_used, removed_since_start, *args, **kwargs): # noqa: E501
+ """OrganizationCurrentCacheUsage - a model defined in OpenAPI
+
+ Args:
+ cache_used (int): Cache currently used by the organization, in bytes.
+ removed_since_start (int): Bytes removed since start due to insufficient cache.
+
+ 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,)
+ removal_period_start (datetime): Start timestamp of removal period.. [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.cache_used = cache_used
+ self.removed_since_start = removed_since_start
+ 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/read_csv_file_manifests_request.py b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_request.py
new file mode 100644
index 000000000..a7d7ad9d4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_request.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.read_csv_file_manifests_request_item import ReadCsvFileManifestsRequestItem
+ globals()['ReadCsvFileManifestsRequestItem'] = ReadCsvFileManifestsRequestItem
+
+
+class ReadCsvFileManifestsRequest(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 {
+ 'manifest_requests': ([ReadCsvFileManifestsRequestItem],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'manifest_requests': 'manifestRequests', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, manifest_requests, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsRequest - a model defined in OpenAPI
+
+ Args:
+ manifest_requests ([ReadCsvFileManifestsRequestItem]): Files to read the manifests for.
+
+ 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.manifest_requests = manifest_requests
+ 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, manifest_requests, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsRequest - a model defined in OpenAPI
+
+ Args:
+ manifest_requests ([ReadCsvFileManifestsRequestItem]): Files to read the manifests for.
+
+ 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.manifest_requests = manifest_requests
+ 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/read_csv_file_manifests_request_item.py b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_request_item.py
new file mode 100644
index 000000000..bf77f4d65
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_request_item.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 ReadCsvFileManifestsRequestItem(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 {
+ 'file_name': (str,), # noqa: E501
+ 'version': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'file_name': 'fileName', # noqa: E501
+ 'version': 'version', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, file_name, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsRequestItem - a model defined in OpenAPI
+
+ Args:
+ file_name (str): Name of the CSV file to read the manifest for.
+
+ 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,)
+ version (int): Optional version of the file to read the manifest for. If null or not specified, the latest version is read.. [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.file_name = file_name
+ 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, file_name, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsRequestItem - a model defined in OpenAPI
+
+ Args:
+ file_name (str): Name of the CSV file to read the manifest for.
+
+ 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,)
+ version (int): Optional version of the file to read the manifest for. If null or not specified, the latest version is read.. [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.file_name = file_name
+ 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/read_csv_file_manifests_response.py b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_response.py
new file mode 100644
index 000000000..68f42a3d3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/read_csv_file_manifests_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.csv_manifest_body import CsvManifestBody
+ globals()['CsvManifestBody'] = CsvManifestBody
+
+
+class ReadCsvFileManifestsResponse(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 {
+ 'manifest': (CsvManifestBody,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ 'version': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'manifest': 'manifest', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'version': 'version', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, manifest, name, version, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsResponse - a model defined in OpenAPI
+
+ Args:
+ manifest (CsvManifestBody):
+ name (str): Name of the file in the source data source.
+ version (int): Version of the file in the source data source.
+
+ 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.manifest = manifest
+ self.name = name
+ self.version = version
+ 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, manifest, name, version, *args, **kwargs): # noqa: E501
+ """ReadCsvFileManifestsResponse - a model defined in OpenAPI
+
+ Args:
+ manifest (CsvManifestBody):
+ name (str): Name of the file in the source data source.
+ version (int): Version of the file in the source data source.
+
+ 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.manifest = manifest
+ self.name = name
+ self.version = version
+ 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/rich_text_widget_descriptor.py b/gooddata-api-client/gooddata_api_client/model/rich_text_widget_descriptor.py
new file mode 100644
index 000000000..7ba548ee4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/rich_text_widget_descriptor.py
@@ -0,0 +1,334 @@
+"""
+ 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.rich_text_widget_descriptor_all_of import RichTextWidgetDescriptorAllOf
+ from gooddata_api_client.model.widget_descriptor import WidgetDescriptor
+ globals()['RichTextWidgetDescriptorAllOf'] = RichTextWidgetDescriptorAllOf
+ globals()['WidgetDescriptor'] = WidgetDescriptor
+
+
+class RichTextWidgetDescriptor(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 = {
+ }
+
+ 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 {
+ 'title': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ 'widget_type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ val = {
+ }
+ if not val:
+ return None
+ return {'widget_type': val}
+
+ attribute_map = {
+ 'title': 'title', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ 'widget_type': 'widgetType', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """RichTextWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ title (str): Widget title as displayed on the dashboard.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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', ())
+
+ 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
+ """RichTextWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ title (str): Widget title as displayed on the dashboard.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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__,)
+
+ 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': [
+ RichTextWidgetDescriptorAllOf,
+ WidgetDescriptor,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/rich_text_widget_descriptor_all_of.py b/gooddata-api-client/gooddata_api_client/model/rich_text_widget_descriptor_all_of.py
new file mode 100644
index 000000000..2fe02853d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/rich_text_widget_descriptor_all_of.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 RichTextWidgetDescriptorAllOf(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'title': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'title': 'title', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """RichTextWidgetDescriptorAllOf - 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,)
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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
+ """RichTextWidgetDescriptorAllOf - 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,)
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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/test_llm_provider_by_id_request.py b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_by_id_request.py
new file mode 100644
index 000000000..1cd1a741f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/test_llm_provider_by_id_request.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.list_llm_provider_models_request_provider_config import ListLlmProviderModelsRequestProviderConfig
+ from gooddata_api_client.model.llm_model import LlmModel
+ globals()['ListLlmProviderModelsRequestProviderConfig'] = ListLlmProviderModelsRequestProviderConfig
+ globals()['LlmModel'] = LlmModel
+
+
+class TestLlmProviderByIdRequest(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 {
+ 'models': ([LlmModel],), # noqa: E501
+ 'provider_config': (ListLlmProviderModelsRequestProviderConfig,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'models': 'models', # 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
+ """TestLlmProviderByIdRequest - 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,)
+ models ([LlmModel]): Models overrides.. [optional] # noqa: E501
+ provider_config (ListLlmProviderModelsRequestProviderConfig): [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
+ """TestLlmProviderByIdRequest - 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,)
+ models ([LlmModel]): Models overrides.. [optional] # noqa: E501
+ provider_config (ListLlmProviderModelsRequestProviderConfig): [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/tool_call_event_result.py b/gooddata-api-client/gooddata_api_client/model/tool_call_event_result.py
new file mode 100644
index 000000000..95d5e95fa
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/tool_call_event_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 ToolCallEventResult(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 {
+ 'function_arguments': (str,), # noqa: E501
+ 'function_name': (str,), # noqa: E501
+ 'result': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'function_arguments': 'functionArguments', # noqa: E501
+ 'function_name': 'functionName', # noqa: E501
+ 'result': 'result', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, function_arguments, function_name, result, *args, **kwargs): # noqa: E501
+ """ToolCallEventResult - a model defined in OpenAPI
+
+ Args:
+ function_arguments (str): JSON-encoded arguments passed to the tool function.
+ function_name (str): Name of the tool function that was called.
+ result (str): Result returned by the tool function.
+
+ 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.function_arguments = function_arguments
+ self.function_name = function_name
+ self.result = result
+ 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, function_arguments, function_name, result, *args, **kwargs): # noqa: E501
+ """ToolCallEventResult - a model defined in OpenAPI
+
+ Args:
+ function_arguments (str): JSON-encoded arguments passed to the tool function.
+ function_name (str): Name of the tool function that was called.
+ result (str): Result returned by the tool function.
+
+ 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.function_arguments = function_arguments
+ self.function_name = function_name
+ self.result = result
+ 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/trending_object_item.py b/gooddata-api-client/gooddata_api_client/model/trending_object_item.py
new file mode 100644
index 000000000..8b6f7ccfc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/trending_object_item.py
@@ -0,0 +1,348 @@
+"""
+ 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 TrendingObjectItem(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 {
+ 'id': (str,), # noqa: E501
+ 'tags': ([str],), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'type': (str,), # noqa: E501
+ 'usage_count': (int,), # noqa: E501
+ 'workspace_id': (str,), # noqa: E501
+ 'created_at': (datetime,), # noqa: E501
+ 'created_by': (str,), # noqa: E501
+ 'dataset_id': (str,), # noqa: E501
+ 'dataset_title': (str,), # noqa: E501
+ 'dataset_type': (str,), # noqa: E501
+ 'description': (str,), # noqa: E501
+ 'is_hidden': (bool,), # noqa: E501
+ 'is_hidden_from_kda': (bool,), # noqa: E501
+ 'metric_type': (str,), # noqa: E501
+ 'modified_at': (datetime,), # noqa: E501
+ 'modified_by': (str,), # noqa: E501
+ 'visualization_url': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'tags': 'tags', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'usage_count': 'usageCount', # noqa: E501
+ 'workspace_id': 'workspaceId', # noqa: E501
+ 'created_at': 'createdAt', # noqa: E501
+ 'created_by': 'createdBy', # noqa: E501
+ 'dataset_id': 'datasetId', # noqa: E501
+ 'dataset_title': 'datasetTitle', # noqa: E501
+ 'dataset_type': 'datasetType', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'is_hidden': 'isHidden', # noqa: E501
+ 'is_hidden_from_kda': 'isHiddenFromKda', # noqa: E501
+ 'metric_type': 'metricType', # noqa: E501
+ 'modified_at': 'modifiedAt', # noqa: E501
+ 'modified_by': 'modifiedBy', # noqa: E501
+ 'visualization_url': 'visualizationUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, tags, title, type, usage_count, workspace_id, *args, **kwargs): # noqa: E501
+ """TrendingObjectItem - a model defined in OpenAPI
+
+ Args:
+ id (str): Object ID.
+ tags ([str]):
+ title (str): Object title.
+ type (str): Object type, e.g. dashboard, visualization, metric.
+ usage_count (int): Number of times this object has been used/referenced.
+ workspace_id (str): Workspace ID the object belongs to.
+
+ 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,)
+ created_at (datetime): Timestamp when object was created.. [optional] # noqa: E501
+ created_by (str): ID of the user who created the object.. [optional] # noqa: E501
+ dataset_id (str): ID of the associated dataset, if applicable.. [optional] # noqa: E501
+ dataset_title (str): Title of the associated dataset, if applicable.. [optional] # noqa: E501
+ dataset_type (str): Type of the associated dataset, if applicable.. [optional] # noqa: E501
+ description (str): Object description.. [optional] # noqa: E501
+ is_hidden (bool): If true, this object is hidden from AI search results by default.. [optional] # noqa: E501
+ is_hidden_from_kda (bool): If true, this object is hidden from KDA.. [optional] # noqa: E501
+ metric_type (str): Type of the metric (e.g. MAQL), if applicable.. [optional] # noqa: E501
+ modified_at (datetime): Timestamp when object was last modified.. [optional] # noqa: E501
+ modified_by (str): ID of the user who last modified the object.. [optional] # noqa: E501
+ visualization_url (str): URL of the visualization, if applicable.. [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.id = id
+ self.tags = tags
+ self.title = title
+ self.type = type
+ self.usage_count = usage_count
+ self.workspace_id = workspace_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, id, tags, title, type, usage_count, workspace_id, *args, **kwargs): # noqa: E501
+ """TrendingObjectItem - a model defined in OpenAPI
+
+ Args:
+ id (str): Object ID.
+ tags ([str]):
+ title (str): Object title.
+ type (str): Object type, e.g. dashboard, visualization, metric.
+ usage_count (int): Number of times this object has been used/referenced.
+ workspace_id (str): Workspace ID the object belongs to.
+
+ 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,)
+ created_at (datetime): Timestamp when object was created.. [optional] # noqa: E501
+ created_by (str): ID of the user who created the object.. [optional] # noqa: E501
+ dataset_id (str): ID of the associated dataset, if applicable.. [optional] # noqa: E501
+ dataset_title (str): Title of the associated dataset, if applicable.. [optional] # noqa: E501
+ dataset_type (str): Type of the associated dataset, if applicable.. [optional] # noqa: E501
+ description (str): Object description.. [optional] # noqa: E501
+ is_hidden (bool): If true, this object is hidden from AI search results by default.. [optional] # noqa: E501
+ is_hidden_from_kda (bool): If true, this object is hidden from KDA.. [optional] # noqa: E501
+ metric_type (str): Type of the metric (e.g. MAQL), if applicable.. [optional] # noqa: E501
+ modified_at (datetime): Timestamp when object was last modified.. [optional] # noqa: E501
+ modified_by (str): ID of the user who last modified the object.. [optional] # noqa: E501
+ visualization_url (str): URL of the visualization, if applicable.. [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.id = id
+ self.tags = tags
+ self.title = title
+ self.type = type
+ self.usage_count = usage_count
+ self.workspace_id = workspace_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/trending_objects_result.py b/gooddata-api-client/gooddata_api_client/model/trending_objects_result.py
new file mode 100644
index 000000000..1154733fa
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/trending_objects_result.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.trending_object_item import TrendingObjectItem
+ globals()['TrendingObjectItem'] = TrendingObjectItem
+
+
+class TrendingObjectsResult(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 {
+ 'objects': ([TrendingObjectItem],), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'objects': 'objects', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, objects, *args, **kwargs): # noqa: E501
+ """TrendingObjectsResult - a model defined in OpenAPI
+
+ Args:
+ objects ([TrendingObjectItem]):
+
+ 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.objects = objects
+ 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, objects, *args, **kwargs): # noqa: E501
+ """TrendingObjectsResult - a model defined in OpenAPI
+
+ Args:
+ objects ([TrendingObjectItem]):
+
+ 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.objects = objects
+ 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/ui_context.py b/gooddata-api-client/gooddata_api_client/model/ui_context.py
new file mode 100644
index 000000000..f92c03bf9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/ui_context.py
@@ -0,0 +1,270 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+def lazy_import():
+ from gooddata_api_client.model.dashboard_context import DashboardContext
+ globals()['DashboardContext'] = DashboardContext
+
+
+class UIContext(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 {
+ 'dashboard': (DashboardContext,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'dashboard': 'dashboard', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """UIContext - 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,)
+ dashboard (DashboardContext): [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
+ """UIContext - 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,)
+ dashboard (DashboardContext): [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/upload_file_response.py b/gooddata-api-client/gooddata_api_client/model/upload_file_response.py
new file mode 100644
index 000000000..dee688e38
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/upload_file_response.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 UploadFileResponse(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 {
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """UploadFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location to use when referencing the uploaded file in subsequent requests.
+
+ 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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """UploadFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location to use when referencing the uploaded file in subsequent requests.
+
+ 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.location = location
+ 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/upload_geo_collection_file_response.py b/gooddata-api-client/gooddata_api_client/model/upload_geo_collection_file_response.py
new file mode 100644
index 000000000..1483b13db
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/upload_geo_collection_file_response.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 UploadGeoCollectionFileResponse(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 {
+ 'location': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'location': 'location', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, location, *args, **kwargs): # noqa: E501
+ """UploadGeoCollectionFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location to use when referencing the uploaded file in subsequent requests.
+
+ 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.location = location
+ 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, location, *args, **kwargs): # noqa: E501
+ """UploadGeoCollectionFileResponse - a model defined in OpenAPI
+
+ Args:
+ location (str): Location to use when referencing the uploaded file in subsequent requests.
+
+ 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.location = location
+ 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/visualization_switcher_widget_descriptor.py b/gooddata-api-client/gooddata_api_client/model/visualization_switcher_widget_descriptor.py
new file mode 100644
index 000000000..785a017b5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/visualization_switcher_widget_descriptor.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.visualization_switcher_widget_descriptor_all_of import VisualizationSwitcherWidgetDescriptorAllOf
+ from gooddata_api_client.model.widget_descriptor import WidgetDescriptor
+ globals()['VisualizationSwitcherWidgetDescriptorAllOf'] = VisualizationSwitcherWidgetDescriptorAllOf
+ globals()['WidgetDescriptor'] = WidgetDescriptor
+
+
+class VisualizationSwitcherWidgetDescriptor(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 = {
+ }
+
+ 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 {
+ 'active_visualization_id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'visualization_ids': ([str],), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ 'widget_type': (str,), # noqa: E501
+ 'result_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ val = {
+ }
+ if not val:
+ return None
+ return {'widget_type': val}
+
+ attribute_map = {
+ 'active_visualization_id': 'activeVisualizationId', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'visualization_ids': 'visualizationIds', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ 'widget_type': 'widgetType', # noqa: E501
+ 'result_id': 'resultId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """VisualizationSwitcherWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ active_visualization_id (str): ID of the currently active visualization in the switcher.
+ title (str): Widget title as displayed on the dashboard.
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ 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
+ """VisualizationSwitcherWidgetDescriptor - a model defined in OpenAPI
+
+ Keyword Args:
+ active_visualization_id (str): ID of the currently active visualization in the switcher.
+ title (str): Widget title as displayed on the dashboard.
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.
+ widget_id (str): Widget object ID.
+ widget_type (str):
+ _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,)
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ for arg in args:
+ if isinstance(arg, dict):
+ kwargs.update(arg)
+ else:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ 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': [
+ VisualizationSwitcherWidgetDescriptorAllOf,
+ WidgetDescriptor,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/gooddata-api-client/gooddata_api_client/model/visualization_switcher_widget_descriptor_all_of.py b/gooddata-api-client/gooddata_api_client/model/visualization_switcher_widget_descriptor_all_of.py
new file mode 100644
index 000000000..2f49e776b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/visualization_switcher_widget_descriptor_all_of.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
+
+
+
+class VisualizationSwitcherWidgetDescriptorAllOf(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 {
+ 'active_visualization_id': (str,), # noqa: E501
+ 'result_id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'visualization_ids': ([str],), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'active_visualization_id': 'activeVisualizationId', # noqa: E501
+ 'result_id': 'resultId', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'visualization_ids': 'visualizationIds', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """VisualizationSwitcherWidgetDescriptorAllOf - 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,)
+ active_visualization_id (str): ID of the currently active visualization in the switcher.. [optional] # noqa: E501
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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
+ """VisualizationSwitcherWidgetDescriptorAllOf - 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,)
+ active_visualization_id (str): ID of the currently active visualization in the switcher.. [optional] # noqa: E501
+ result_id (str): Signed result ID for the currently active visualization's execution result.. [optional] # noqa: E501
+ title (str): Widget title as displayed on the dashboard.. [optional] # noqa: E501
+ visualization_ids ([str]): IDs of all visualizations available in the switcher.. [optional] # noqa: E501
+ widget_id (str): Widget object ID.. [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/widget_descriptor.py b/gooddata-api-client/gooddata_api_client/model/widget_descriptor.py
new file mode 100644
index 000000000..c4c1cc396
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/widget_descriptor.py
@@ -0,0 +1,299 @@
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from gooddata_api_client.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from gooddata_api_client.exceptions import ApiAttributeError
+
+
+def lazy_import():
+ from gooddata_api_client.model.insight_widget_descriptor import InsightWidgetDescriptor
+ from gooddata_api_client.model.rich_text_widget_descriptor import RichTextWidgetDescriptor
+ from gooddata_api_client.model.visualization_switcher_widget_descriptor import VisualizationSwitcherWidgetDescriptor
+ globals()['InsightWidgetDescriptor'] = InsightWidgetDescriptor
+ globals()['RichTextWidgetDescriptor'] = RichTextWidgetDescriptor
+ globals()['VisualizationSwitcherWidgetDescriptor'] = VisualizationSwitcherWidgetDescriptor
+
+
+class WidgetDescriptor(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 {
+ 'title': (str,), # noqa: E501
+ 'widget_id': (str,), # noqa: E501
+ 'widget_type': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ lazy_import()
+ val = {
+ 'insight': InsightWidgetDescriptor,
+ 'richText': RichTextWidgetDescriptor,
+ 'visualizationSwitcher': VisualizationSwitcherWidgetDescriptor,
+ }
+ if not val:
+ return None
+ return {'widget_type': val}
+
+ attribute_map = {
+ 'title': 'title', # noqa: E501
+ 'widget_id': 'widgetId', # noqa: E501
+ 'widget_type': 'widgetType', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, title, widget_id, widget_type, *args, **kwargs): # noqa: E501
+ """WidgetDescriptor - a model defined in OpenAPI
+
+ Args:
+ title (str):
+ widget_id (str):
+ widget_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.title = title
+ self.widget_id = widget_id
+ self.widget_type = widget_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, title, widget_id, widget_type, *args, **kwargs): # noqa: E501
+ """WidgetDescriptor - a model defined in OpenAPI
+
+ Args:
+ title (str):
+ widget_id (str):
+ widget_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.title = title
+ self.widget_id = widget_id
+ self.widget_type = widget_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/workspace_cache_settings.py b/gooddata-api-client/gooddata_api_client/model/workspace_cache_settings.py
new file mode 100644
index 000000000..c9fa09b1d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/workspace_cache_settings.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 WorkspaceCacheSettings(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 {
+ 'extra_cache': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'extra_cache': 'extraCache', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, extra_cache, *args, **kwargs): # noqa: E501
+ """WorkspaceCacheSettings - a model defined in OpenAPI
+
+ Args:
+ extra_cache (int): Extra cache for the workspace, in bytes.
+
+ 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.extra_cache = extra_cache
+ 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, extra_cache, *args, **kwargs): # noqa: E501
+ """WorkspaceCacheSettings - a model defined in OpenAPI
+
+ Args:
+ extra_cache (int): Extra cache for the workspace, in bytes.
+
+ 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.extra_cache = extra_cache
+ 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_cache_usage.py b/gooddata-api-client/gooddata_api_client/model/workspace_cache_usage.py
new file mode 100644
index 000000000..6fcbc9692
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/workspace_cache_usage.py
@@ -0,0 +1,292 @@
+"""
+ 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.cache_removal_interval import CacheRemovalInterval
+ from gooddata_api_client.model.workspace_cache_settings import WorkspaceCacheSettings
+ from gooddata_api_client.model.workspace_current_cache_usage import WorkspaceCurrentCacheUsage
+ globals()['CacheRemovalInterval'] = CacheRemovalInterval
+ globals()['WorkspaceCacheSettings'] = WorkspaceCacheSettings
+ globals()['WorkspaceCurrentCacheUsage'] = WorkspaceCurrentCacheUsage
+
+
+class WorkspaceCacheUsage(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 {
+ 'current': (WorkspaceCurrentCacheUsage,), # noqa: E501
+ 'removal_intervals': ([CacheRemovalInterval],), # noqa: E501
+ 'settings': (WorkspaceCacheSettings,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'current': 'current', # noqa: E501
+ 'removal_intervals': 'removalIntervals', # noqa: E501
+ 'settings': 'settings', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, current, removal_intervals, settings, *args, **kwargs): # noqa: E501
+ """WorkspaceCacheUsage - a model defined in OpenAPI
+
+ Args:
+ current (WorkspaceCurrentCacheUsage):
+ removal_intervals ([CacheRemovalInterval]): List of cache removal intervals for workspace.
+ settings (WorkspaceCacheSettings):
+
+ 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.current = current
+ self.removal_intervals = removal_intervals
+ self.settings = settings
+ 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, current, removal_intervals, settings, *args, **kwargs): # noqa: E501
+ """WorkspaceCacheUsage - a model defined in OpenAPI
+
+ Args:
+ current (WorkspaceCurrentCacheUsage):
+ removal_intervals ([CacheRemovalInterval]): List of cache removal intervals for workspace.
+ settings (WorkspaceCacheSettings):
+
+ 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.current = current
+ self.removal_intervals = removal_intervals
+ self.settings = settings
+ 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_current_cache_usage.py b/gooddata-api-client/gooddata_api_client/model/workspace_current_cache_usage.py
new file mode 100644
index 000000000..4c72bba01
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/model/workspace_current_cache_usage.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 WorkspaceCurrentCacheUsage(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 {
+ 'cache_available': (int,), # noqa: E501
+ 'cache_used': (int,), # noqa: E501
+ 'removal_period_start': (datetime,), # noqa: E501
+ 'removed_since_start': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'cache_available': 'cacheAvailable', # noqa: E501
+ 'cache_used': 'cacheUsed', # noqa: E501
+ 'removal_period_start': 'removalPeriodStart', # noqa: E501
+ 'removed_since_start': 'removedSinceStart', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, cache_available, cache_used, removal_period_start, removed_since_start, *args, **kwargs): # noqa: E501
+ """WorkspaceCurrentCacheUsage - a model defined in OpenAPI
+
+ Args:
+ cache_available (int): Cache available for the workspace.
+ cache_used (int): Cache used by the workspace.
+ removal_period_start (datetime): Start timestamp of removal period for the workspace.
+ removed_since_start (int): Bytes removed since start due to insufficient cache for the workspace.
+
+ 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.cache_available = cache_available
+ self.cache_used = cache_used
+ self.removal_period_start = removal_period_start
+ self.removed_since_start = removed_since_start
+ 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, cache_available, cache_used, removal_period_start, removed_since_start, *args, **kwargs): # noqa: E501
+ """WorkspaceCurrentCacheUsage - a model defined in OpenAPI
+
+ Args:
+ cache_available (int): Cache available for the workspace.
+ cache_used (int): Cache used by the workspace.
+ removal_period_start (datetime): Start timestamp of removal period for the workspace.
+ removed_since_start (int): Bytes removed since start due to insufficient cache for the workspace.
+
+ 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.cache_available = cache_available
+ self.cache_used = cache_used
+ self.removal_period_start = removal_period_start
+ self.removed_since_start = removed_since_start
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py
index 29f009645..bc4ced714 100644
--- a/gooddata-api-client/gooddata_api_client/models/__init__.py
+++ b/gooddata-api-client/gooddata_api_client/models/__init__.py
@@ -92,6 +92,12 @@
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.analyze_csv_request import AnalyzeCsvRequest
+from gooddata_api_client.model.analyze_csv_request_item import AnalyzeCsvRequestItem
+from gooddata_api_client.model.analyze_csv_request_item_config import AnalyzeCsvRequestItemConfig
+from gooddata_api_client.model.analyze_csv_response import AnalyzeCsvResponse
+from gooddata_api_client.model.analyze_csv_response_column import AnalyzeCsvResponseColumn
+from gooddata_api_client.model.analyze_csv_response_config import AnalyzeCsvResponseConfig
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
@@ -144,6 +150,8 @@
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.cache_removal_interval import CacheRemovalInterval
+from gooddata_api_client.model.cache_usage_data import CacheUsageData
from gooddata_api_client.model.change_analysis_params import ChangeAnalysisParams
from gooddata_api_client.model.change_analysis_params_filters_inner import ChangeAnalysisParamsFiltersInner
from gooddata_api_client.model.change_analysis_request import ChangeAnalysisRequest
@@ -175,12 +183,19 @@
from gooddata_api_client.model.compound_measure_value_filter import CompoundMeasureValueFilter
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.convert_geo_file_request import ConvertGeoFileRequest
+from gooddata_api_client.model.convert_geo_file_response import ConvertGeoFileResponse
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
+from gooddata_api_client.model.csv_convert_options import CsvConvertOptions
+from gooddata_api_client.model.csv_convert_options_column_type import CsvConvertOptionsColumnType
+from gooddata_api_client.model.csv_manifest_body import CsvManifestBody
+from gooddata_api_client.model.csv_parse_options import CsvParseOptions
+from gooddata_api_client.model.csv_read_options import CsvReadOptions
from gooddata_api_client.model.custom_label import CustomLabel
from gooddata_api_client.model.custom_metric import CustomMetric
from gooddata_api_client.model.custom_override import CustomOverride
@@ -301,6 +316,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_files_request import DeleteFilesRequest
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
@@ -350,6 +366,7 @@
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.gd_storage_file import GdStorageFile
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
@@ -357,6 +374,9 @@
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.geo_json_feature import GeoJsonFeature
+from gooddata_api_client.model.geo_json_feature_collection import GeoJsonFeatureCollection
+from gooddata_api_client.model.geo_json_geometry import GeoJsonGeometry
from gooddata_api_client.model.get_ai_lake_operation200_response import GetAiLakeOperation200Response
from gooddata_api_client.model.get_image_export202_response_inner import GetImageExport202ResponseInner
from gooddata_api_client.model.get_quality_issues_response import GetQualityIssuesResponse
@@ -372,6 +392,13 @@
from gooddata_api_client.model.identifier_ref import IdentifierRef
from gooddata_api_client.model.identifier_ref_identifier import IdentifierRefIdentifier
from gooddata_api_client.model.image_export_request import ImageExportRequest
+from gooddata_api_client.model.import_csv_request import ImportCsvRequest
+from gooddata_api_client.model.import_csv_request_table import ImportCsvRequestTable
+from gooddata_api_client.model.import_csv_request_table_source import ImportCsvRequestTableSource
+from gooddata_api_client.model.import_csv_request_table_source_config import ImportCsvRequestTableSourceConfig
+from gooddata_api_client.model.import_csv_response import ImportCsvResponse
+from gooddata_api_client.model.import_geo_collection_request import ImportGeoCollectionRequest
+from gooddata_api_client.model.import_geo_collection_response import ImportGeoCollectionResponse
from gooddata_api_client.model.in_platform import InPlatform
from gooddata_api_client.model.in_platform_all_of import InPlatformAllOf
from gooddata_api_client.model.inline_filter_definition import InlineFilterDefinition
@@ -1027,6 +1054,9 @@
from gooddata_api_client.model.operation_error import OperationError
from gooddata_api_client.model.organization_automation_identifier import OrganizationAutomationIdentifier
from gooddata_api_client.model.organization_automation_management_bulk_request import OrganizationAutomationManagementBulkRequest
+from gooddata_api_client.model.organization_cache_settings import OrganizationCacheSettings
+from gooddata_api_client.model.organization_cache_usage import OrganizationCacheUsage
+from gooddata_api_client.model.organization_current_cache_usage import OrganizationCurrentCacheUsage
from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment
from gooddata_api_client.model.outlier_detection_request import OutlierDetectionRequest
from gooddata_api_client.model.outlier_detection_response import OutlierDetectionResponse
@@ -1073,6 +1103,9 @@
from gooddata_api_client.model.raw_custom_override import RawCustomOverride
from gooddata_api_client.model.raw_export_automation_request import RawExportAutomationRequest
from gooddata_api_client.model.raw_export_request import RawExportRequest
+from gooddata_api_client.model.read_csv_file_manifests_request import ReadCsvFileManifestsRequest
+from gooddata_api_client.model.read_csv_file_manifests_request_item import ReadCsvFileManifestsRequestItem
+from gooddata_api_client.model.read_csv_file_manifests_response import ReadCsvFileManifestsResponse
from gooddata_api_client.model.reasoning import Reasoning
from gooddata_api_client.model.reasoning_step import ReasoningStep
from gooddata_api_client.model.reference_identifier import ReferenceIdentifier
@@ -1154,6 +1187,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.upload_file_response import UploadFileResponse
+from gooddata_api_client.model.upload_geo_collection_file_response import UploadGeoCollectionFileResponse
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
@@ -1191,6 +1226,9 @@
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
+from gooddata_api_client.model.workspace_cache_settings import WorkspaceCacheSettings
+from gooddata_api_client.model.workspace_cache_usage import WorkspaceCacheUsage
+from gooddata_api_client.model.workspace_current_cache_usage import WorkspaceCurrentCacheUsage
from gooddata_api_client.model.workspace_data_source import WorkspaceDataSource
from gooddata_api_client.model.workspace_identifier import WorkspaceIdentifier
from gooddata_api_client.model.workspace_permission_assignment import WorkspacePermissionAssignment
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_analytics_model.py b/gooddata-api-client/gooddata_api_client/models/aac_analytics_model.py
new file mode 100644
index 000000000..6261186bd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_analytics_model.py
@@ -0,0 +1,136 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_attribute_hierarchy import AacAttributeHierarchy
+from gooddata_api_client.models.aac_dashboard import AacDashboard
+from gooddata_api_client.models.aac_metric import AacMetric
+from gooddata_api_client.models.aac_plugin import AacPlugin
+from gooddata_api_client.models.aac_visualization import AacVisualization
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacAnalyticsModel(BaseModel):
+ """
+ AAC analytics model representation compatible with Analytics-as-Code YAML format.
+ """ # noqa: E501
+ attribute_hierarchies: Optional[List[AacAttributeHierarchy]] = Field(default=None, description="An array of attribute hierarchies.")
+ dashboards: Optional[List[AacDashboard]] = Field(default=None, description="An array of dashboards.")
+ metrics: Optional[List[AacMetric]] = Field(default=None, description="An array of metrics.")
+ plugins: Optional[List[AacPlugin]] = Field(default=None, description="An array of dashboard plugins.")
+ visualizations: Optional[List[AacVisualization]] = Field(default=None, description="An array of visualizations.")
+ __properties: ClassVar[List[str]] = ["attribute_hierarchies", "dashboards", "metrics", "plugins", "visualizations"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacAnalyticsModel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attribute_hierarchies (list)
+ _items = []
+ if self.attribute_hierarchies:
+ for _item_attribute_hierarchies in self.attribute_hierarchies:
+ if _item_attribute_hierarchies:
+ _items.append(_item_attribute_hierarchies.to_dict())
+ _dict['attribute_hierarchies'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboards (list)
+ _items = []
+ if self.dashboards:
+ for _item_dashboards in self.dashboards:
+ if _item_dashboards:
+ _items.append(_item_dashboards.to_dict())
+ _dict['dashboards'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
+ _items = []
+ if self.metrics:
+ for _item_metrics in self.metrics:
+ if _item_metrics:
+ _items.append(_item_metrics.to_dict())
+ _dict['metrics'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in plugins (list)
+ _items = []
+ if self.plugins:
+ for _item_plugins in self.plugins:
+ if _item_plugins:
+ _items.append(_item_plugins.to_dict())
+ _dict['plugins'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in visualizations (list)
+ _items = []
+ if self.visualizations:
+ for _item_visualizations in self.visualizations:
+ if _item_visualizations:
+ _items.append(_item_visualizations.to_dict())
+ _dict['visualizations'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacAnalyticsModel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute_hierarchies": [AacAttributeHierarchy.from_dict(_item) for _item in obj["attribute_hierarchies"]] if obj.get("attribute_hierarchies") is not None else None,
+ "dashboards": [AacDashboard.from_dict(_item) for _item in obj["dashboards"]] if obj.get("dashboards") is not None else None,
+ "metrics": [AacMetric.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None,
+ "plugins": [AacPlugin.from_dict(_item) for _item in obj["plugins"]] if obj.get("plugins") is not None else None,
+ "visualizations": [AacVisualization.from_dict(_item) for _item in obj["visualizations"]] if obj.get("visualizations") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_attribute_hierarchy.py b/gooddata-api-client/gooddata_api_client/models/aac_attribute_hierarchy.py
new file mode 100644
index 000000000..9ed2215be
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_attribute_hierarchy.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacAttributeHierarchy(BaseModel):
+ """
+ AAC attribute hierarchy definition.
+ """ # noqa: E501
+ attributes: List[StrictStr] = Field(description="Ordered list of attribute identifiers (first is top level).")
+ description: Optional[StrictStr] = Field(default=None, description="Attribute hierarchy description.")
+ id: StrictStr = Field(description="Unique identifier of the attribute hierarchy.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Attribute hierarchy type discriminator.")
+ __properties: ClassVar[List[str]] = ["attributes", "description", "id", "tags", "title", "type"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacAttributeHierarchy from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacAttributeHierarchy from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributes": obj.get("attributes"),
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_container_widget.py b/gooddata-api-client/gooddata_api_client/models/aac_container_widget.py
new file mode 100644
index 000000000..4190ea52f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_container_widget.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_widget_size import AacWidgetSize
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacContainerWidget(BaseModel):
+ """
+ AacContainerWidget
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ columns: Optional[StrictInt] = Field(default=None, description="Widget width in grid columns (GAAC).")
+ container: Optional[StrictStr] = Field(default=None, description="Container widget identifier.")
+ content: Optional[StrictStr] = Field(default=None, description="Rich text content.")
+ var_date: Optional[StrictStr] = Field(default=None, description="Date dataset for filtering.", alias="date")
+ description: Optional[Any] = None
+ drill_down: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled for container widgets.")
+ ignore_dashboard_filters: Optional[List[StrictStr]] = Field(default=None, description="Deprecated. Use ignoredFilters instead.")
+ ignored_filters: Optional[List[StrictStr]] = Field(default=None, description="A list of dashboard filters to be ignored for this widget (GAAC).")
+ interactions: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Widget interactions (GAAC).")
+ layout_direction: Optional[StrictStr] = Field(default=None, description="Layout direction for container widgets.")
+ metric: Optional[StrictStr] = Field(default=None, description="Inline metric reference.")
+ rows: Optional[StrictInt] = Field(default=None, description="Widget height in grid rows (GAAC).")
+ sections: List[AacSection] = Field(description="Nested sections for layout widgets.")
+ size: Optional[AacWidgetSize] = None
+ title: Optional[Any] = None
+ type: Optional[StrictStr] = Field(default=None, description="Widget type.")
+ visualization: Optional[StrictStr] = Field(default=None, description="Visualization ID reference.")
+ visualizations: Optional[List[AacWidget]] = Field(default=None, description="Visualization switcher items.")
+ zoom_data: Optional[StrictBool] = Field(default=None, description="Enable zooming to the data for certain visualization types (GAAC).")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacContainerWidget from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacContainerWidget from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+from gooddata_api_client.models.aac_section import AacSection
+from gooddata_api_client.models.aac_widget import AacWidget
+# TODO: Rewrite to not use raise_errors
+AacContainerWidget.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard.py
new file mode 100644
index 000000000..f16d25baf
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard.py
@@ -0,0 +1,145 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.aac_dashboard_with_tabs import AacDashboardWithTabs
+from gooddata_api_client.models.aac_dashboard_without_tabs import AacDashboardWithoutTabs
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACDASHBOARD_ONE_OF_SCHEMAS = ["AacDashboardWithTabs", "AacDashboardWithoutTabs"]
+
+class AacDashboard(BaseModel):
+ """
+ AAC dashboard definition.
+ """
+ # data type: object
+ oneof_schema_1_validator: Optional[object] = None
+ # data type: AacDashboardWithoutTabs
+ oneof_schema_2_validator: Optional[AacDashboardWithoutTabs] = None
+ actual_instance: Optional[Union[AacDashboardWithTabs, AacDashboardWithoutTabs]] = None
+ one_of_schemas: Set[str] = { "AacDashboardWithTabs", "AacDashboardWithoutTabs" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacDashboard.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: object
+ try:
+ instance.oneof_schema_1_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # validate data type: AacDashboardWithoutTabs
+ if not isinstance(v, AacDashboardWithoutTabs):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacDashboardWithoutTabs`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacDashboard with oneOf schemas: AacDashboardWithTabs, AacDashboardWithoutTabs. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into object
+ try:
+ # validation
+ instance.oneof_schema_1_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_1_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacDashboardWithoutTabs
+ try:
+ if match == 0:
+ instance.actual_instance = AacDashboardWithoutTabs.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacDashboard with oneOf schemas: AacDashboardWithTabs, AacDashboardWithoutTabs. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AacDashboardWithTabs, AacDashboardWithoutTabs]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter.py
new file mode 100644
index 000000000..71648435b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter.py
@@ -0,0 +1,123 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dashboard_filter_from import AacDashboardFilterFrom
+from gooddata_api_client.models.aac_filter_state import AacFilterState
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDashboardFilter(BaseModel):
+ """
+ Tab-specific filters.
+ """ # noqa: E501
+ var_date: Optional[StrictStr] = Field(default=None, description="Date dataset reference.", alias="date")
+ display_as: Optional[StrictStr] = Field(default=None, description="Display as label.")
+ var_from: Optional[AacDashboardFilterFrom] = Field(default=None, alias="from")
+ granularity: Optional[StrictStr] = Field(default=None, description="Date granularity.")
+ metric_filters: Optional[List[StrictStr]] = Field(default=None, description="Metric filters for validation.")
+ mode: Optional[StrictStr] = Field(default=None, description="Filter mode.")
+ multiselect: Optional[StrictBool] = Field(default=None, description="Whether multiselect is enabled.")
+ parents: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Parent filter references.")
+ state: Optional[AacFilterState] = None
+ title: Optional[StrictStr] = Field(default=None, description="Filter title.")
+ to: Optional[AacDashboardFilterFrom] = None
+ type: StrictStr = Field(description="Filter type.")
+ using: Optional[StrictStr] = Field(default=None, description="Attribute or label to filter by.")
+ __properties: ClassVar[List[str]] = ["date", "display_as", "from", "granularity", "metric_filters", "mode", "multiselect", "parents", "state", "title", "to", "type", "using"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDashboardFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of var_from
+ if self.var_from:
+ _dict['from'] = self.var_from.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of state
+ if self.state:
+ _dict['state'] = self.state.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of to
+ if self.to:
+ _dict['to'] = self.to.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDashboardFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "date": obj.get("date"),
+ "display_as": obj.get("display_as"),
+ "from": AacDashboardFilterFrom.from_dict(obj["from"]) if obj.get("from") is not None else None,
+ "granularity": obj.get("granularity"),
+ "metric_filters": obj.get("metric_filters"),
+ "mode": obj.get("mode"),
+ "multiselect": obj.get("multiselect"),
+ "parents": obj.get("parents"),
+ "state": AacFilterState.from_dict(obj["state"]) if obj.get("state") is not None else None,
+ "title": obj.get("title"),
+ "to": AacDashboardFilterFrom.from_dict(obj["to"]) if obj.get("to") is not None else None,
+ "type": obj.get("type"),
+ "using": obj.get("using")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter_from.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter_from.py
new file mode 100644
index 000000000..bb206e07f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_filter_from.py
@@ -0,0 +1,147 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACDASHBOARDFILTERFROM_ONE_OF_SCHEMAS = ["int", "str"]
+
+class AacDashboardFilterFrom(BaseModel):
+ """
+ AacDashboardFilterFrom
+ """
+ # data type: str
+ oneof_schema_1_validator: Optional[StrictStr] = None
+ # data type: int
+ oneof_schema_2_validator: Optional[StrictInt] = None
+ actual_instance: Optional[Union[int, str]] = None
+ one_of_schemas: Set[str] = { "int", "str" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacDashboardFilterFrom.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: str
+ try:
+ instance.oneof_schema_1_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # validate data type: int
+ try:
+ instance.oneof_schema_2_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacDashboardFilterFrom with oneOf schemas: int, str. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into str
+ try:
+ # validation
+ instance.oneof_schema_1_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_1_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into int
+ try:
+ # validation
+ instance.oneof_schema_2_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_2_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacDashboardFilterFrom with oneOf schemas: int, str. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], int, str]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_permissions.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_permissions.py
new file mode 100644
index 000000000..523155b4c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_permissions.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_permission import AacPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDashboardPermissions(BaseModel):
+ """
+ Dashboard permissions.
+ """ # noqa: E501
+ edit: Optional[AacPermission] = None
+ share: Optional[AacPermission] = None
+ view: Optional[AacPermission] = None
+ __properties: ClassVar[List[str]] = ["edit", "share", "view"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDashboardPermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of edit
+ if self.edit:
+ _dict['edit'] = self.edit.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of share
+ if self.share:
+ _dict['share'] = self.share.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of view
+ if self.view:
+ _dict['view'] = self.view.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDashboardPermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "edit": AacPermission.from_dict(obj["edit"]) if obj.get("edit") is not None else None,
+ "share": AacPermission.from_dict(obj["share"]) if obj.get("share") is not None else None,
+ "view": AacPermission.from_dict(obj["view"]) if obj.get("view") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_plugin_link.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_plugin_link.py
new file mode 100644
index 000000000..cc5c169ce
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_plugin_link.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDashboardPluginLink(BaseModel):
+ """
+ Dashboard plugins.
+ """ # noqa: E501
+ id: StrictStr = Field(description="Plugin ID.")
+ parameters: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ __properties: ClassVar[List[str]] = ["id", "parameters"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDashboardPluginLink from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if parameters (nullable) is None
+ # and model_fields_set contains the field
+ if self.parameters is None and "parameters" in self.model_fields_set:
+ _dict['parameters'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDashboardPluginLink from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "parameters": obj.get("parameters")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_with_tabs.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_with_tabs.py
new file mode 100644
index 000000000..f536ac9fc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_with_tabs.py
@@ -0,0 +1,93 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dashboard_filter import AacDashboardFilter
+from gooddata_api_client.models.aac_dashboard_permissions import AacDashboardPermissions
+from gooddata_api_client.models.aac_tab import AacTab
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDashboardWithTabs(BaseModel):
+ """
+ AacDashboardWithTabs
+ """ # noqa: E501
+ active_tab_id: Optional[StrictStr] = Field(default=None, description="Active tab ID for tabbed dashboards.")
+ cross_filtering: Optional[StrictBool] = Field(default=None, description="Whether cross filtering is enabled.")
+ description: Optional[StrictStr] = Field(default=None, description="Dashboard description.")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled.")
+ filter_views: Optional[StrictBool] = Field(default=None, description="Whether filter views are enabled.")
+ filters: Optional[Dict[str, AacDashboardFilter]] = Field(default=None, description="Dashboard filters.")
+ id: StrictStr = Field(description="Unique identifier of the dashboard.")
+ permissions: Optional[AacDashboardPermissions] = None
+ plugins: Optional[List[Any]] = Field(default=None, description="Dashboard plugins.")
+ tabs: List[AacTab] = Field(description="Dashboard tabs (for tabbed dashboards).")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Dashboard type discriminator.")
+ user_filters_reset: Optional[StrictBool] = Field(default=None, description="Whether user can reset custom filters.")
+ user_filters_save: Optional[StrictBool] = Field(default=None, description="Whether user filter settings are stored.")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDashboardWithTabs from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias."""
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDashboardWithTabs from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dashboard_without_tabs.py b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_without_tabs.py
new file mode 100644
index 000000000..8eac87e76
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dashboard_without_tabs.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dashboard_filter import AacDashboardFilter
+from gooddata_api_client.models.aac_dashboard_permissions import AacDashboardPermissions
+from gooddata_api_client.models.aac_section import AacSection
+from gooddata_api_client.models.aac_tab import AacTab
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDashboardWithoutTabs(BaseModel):
+ """
+ AacDashboardWithoutTabs
+ """ # noqa: E501
+ active_tab_id: Optional[StrictStr] = Field(default=None, description="Active tab ID for tabbed dashboards.")
+ cross_filtering: Optional[StrictBool] = Field(default=None, description="Whether cross filtering is enabled.")
+ description: Optional[StrictStr] = Field(default=None, description="Dashboard description.")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled.")
+ filter_views: Optional[StrictBool] = Field(default=None, description="Whether filter views are enabled.")
+ filters: Optional[Dict[str, AacDashboardFilter]] = Field(default=None, description="Dashboard filters.")
+ id: StrictStr = Field(description="Unique identifier of the dashboard.")
+ permissions: Optional[AacDashboardPermissions] = None
+ plugins: Optional[List[Any]] = Field(default=None, description="Dashboard plugins.")
+ sections: Optional[List[AacSection]] = Field(default=None, description="Dashboard sections (for non-tabbed dashboards).")
+ tabs: Optional[List[AacTab]] = Field(default=None, description="Dashboard tabs (for tabbed dashboards).")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Dashboard type discriminator.")
+ user_filters_reset: Optional[StrictBool] = Field(default=None, description="Whether user can reset custom filters.")
+ user_filters_save: Optional[StrictBool] = Field(default=None, description="Whether user filter settings are stored.")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDashboardWithoutTabs from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDashboardWithoutTabs from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dataset.py b/gooddata-api-client/gooddata_api_client/models/aac_dataset.py
new file mode 100644
index 000000000..0acd9ec69
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dataset.py
@@ -0,0 +1,145 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dataset_primary_key import AacDatasetPrimaryKey
+from gooddata_api_client.models.aac_field import AacField
+from gooddata_api_client.models.aac_reference import AacReference
+from gooddata_api_client.models.aac_workspace_data_filter import AacWorkspaceDataFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDataset(BaseModel):
+ """
+ AAC dataset definition.
+ """ # noqa: E501
+ data_source: Optional[StrictStr] = Field(default=None, description="Data source ID.")
+ description: Optional[StrictStr] = Field(default=None, description="Dataset description.")
+ fields: Optional[Dict[str, AacField]] = Field(default=None, description="Dataset fields (attributes, facts, aggregated facts).")
+ id: StrictStr = Field(description="Unique identifier of the dataset.")
+ precedence: Optional[StrictInt] = Field(default=None, description="Precedence value for aggregate awareness.")
+ primary_key: Optional[AacDatasetPrimaryKey] = None
+ references: Optional[List[AacReference]] = Field(default=None, description="References to other datasets.")
+ sql: Optional[StrictStr] = Field(default=None, description="SQL statement defining this dataset.")
+ table_path: Optional[StrictStr] = Field(default=None, description="Table path in the data source.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Dataset type discriminator.")
+ workspace_data_filters: Optional[List[AacWorkspaceDataFilter]] = Field(default=None, description="Workspace data filters.")
+ __properties: ClassVar[List[str]] = ["data_source", "description", "fields", "id", "precedence", "primary_key", "references", "sql", "table_path", "tags", "title", "type", "workspace_data_filters"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDataset from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in fields (dict)
+ _field_dict = {}
+ if self.fields:
+ for _key_fields in self.fields:
+ if self.fields[_key_fields]:
+ _field_dict[_key_fields] = self.fields[_key_fields].to_dict()
+ _dict['fields'] = _field_dict
+ # override the default output from pydantic by calling `to_dict()` of primary_key
+ if self.primary_key:
+ _dict['primary_key'] = self.primary_key.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in references (list)
+ _items = []
+ if self.references:
+ for _item_references in self.references:
+ if _item_references:
+ _items.append(_item_references.to_dict())
+ _dict['references'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filters (list)
+ _items = []
+ if self.workspace_data_filters:
+ for _item_workspace_data_filters in self.workspace_data_filters:
+ if _item_workspace_data_filters:
+ _items.append(_item_workspace_data_filters.to_dict())
+ _dict['workspace_data_filters'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDataset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data_source": obj.get("data_source"),
+ "description": obj.get("description"),
+ "fields": dict(
+ (_k, AacField.from_dict(_v))
+ for _k, _v in obj["fields"].items()
+ )
+ if obj.get("fields") is not None
+ else None,
+ "id": obj.get("id"),
+ "precedence": obj.get("precedence"),
+ "primary_key": AacDatasetPrimaryKey.from_dict(obj["primary_key"]) if obj.get("primary_key") is not None else None,
+ "references": [AacReference.from_dict(_item) for _item in obj["references"]] if obj.get("references") is not None else None,
+ "sql": obj.get("sql"),
+ "table_path": obj.get("table_path"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "type": obj.get("type"),
+ "workspace_data_filters": [AacWorkspaceDataFilter.from_dict(_item) for _item in obj["workspace_data_filters"]] if obj.get("workspace_data_filters") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_dataset_primary_key.py b/gooddata-api-client/gooddata_api_client/models/aac_dataset_primary_key.py
new file mode 100644
index 000000000..b568adc45
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_dataset_primary_key.py
@@ -0,0 +1,147 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACDATASETPRIMARYKEY_ONE_OF_SCHEMAS = ["List[str]", "str"]
+
+class AacDatasetPrimaryKey(BaseModel):
+ """
+ Primary key column(s). Accepts either a single string or an array of strings.
+ """
+ # data type: str
+ oneof_schema_1_validator: Optional[StrictStr] = None
+ # data type: List[str]
+ oneof_schema_2_validator: Optional[List[StrictStr]] = None
+ actual_instance: Optional[Union[List[str], str]] = None
+ one_of_schemas: Set[str] = { "List[str]", "str" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacDatasetPrimaryKey.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: str
+ try:
+ instance.oneof_schema_1_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # validate data type: List[str]
+ try:
+ instance.oneof_schema_2_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacDatasetPrimaryKey with oneOf schemas: List[str], str. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into str
+ try:
+ # validation
+ instance.oneof_schema_1_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_1_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into List[str]
+ try:
+ # validation
+ instance.oneof_schema_2_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_2_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacDatasetPrimaryKey with oneOf schemas: List[str], str. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], List[str], str]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_date_dataset.py b/gooddata-api-client/gooddata_api_client/models/aac_date_dataset.py
new file mode 100644
index 000000000..2ae738310
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_date_dataset.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacDateDataset(BaseModel):
+ """
+ AAC date dataset definition.
+ """ # noqa: E501
+ description: Optional[StrictStr] = Field(default=None, description="Date dataset description.")
+ granularities: Optional[List[StrictStr]] = Field(default=None, description="List of granularities.")
+ id: StrictStr = Field(description="Unique identifier of the date dataset.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ title_base: Optional[StrictStr] = Field(default=None, description="Title base for formatting.")
+ title_pattern: Optional[StrictStr] = Field(default=None, description="Title pattern for formatting.")
+ type: StrictStr = Field(description="Dataset type discriminator.")
+ __properties: ClassVar[List[str]] = ["description", "granularities", "id", "tags", "title", "title_base", "title_pattern", "type"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacDateDataset from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacDateDataset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "granularities": obj.get("granularities"),
+ "id": obj.get("id"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "title_base": obj.get("title_base"),
+ "title_pattern": obj.get("title_pattern"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_field.py b/gooddata-api-client/gooddata_api_client/models/aac_field.py
new file mode 100644
index 000000000..580f6ad65
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_field.py
@@ -0,0 +1,151 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_label import AacLabel
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacField(BaseModel):
+ """
+ AAC field definition (attribute, fact, or aggregated_fact).
+ """ # noqa: E501
+ aggregated_as: Optional[StrictStr] = Field(default=None, description="Aggregation method.")
+ assigned_to: Optional[StrictStr] = Field(default=None, description="Source fact ID for aggregated fact.")
+ data_type: Optional[StrictStr] = Field(default=None, description="Data type of the column.")
+ default_view: Optional[StrictStr] = Field(default=None, description="Default view label ID.")
+ description: Optional[StrictStr] = Field(default=None, description="Field description.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ labels: Optional[Dict[str, AacLabel]] = Field(default=None, description="Attribute labels.")
+ locale: Optional[StrictStr] = Field(default=None, description="Locale for sorting.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ sort_column: Optional[StrictStr] = Field(default=None, description="Sort column name.")
+ sort_direction: Optional[StrictStr] = Field(default=None, description="Sort direction.")
+ source_column: Optional[StrictStr] = Field(default=None, description="Source column in the physical database.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Field type.")
+ __properties: ClassVar[List[str]] = ["aggregated_as", "assigned_to", "data_type", "default_view", "description", "is_hidden", "labels", "locale", "show_in_ai_results", "sort_column", "sort_direction", "source_column", "tags", "title", "type"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ @field_validator('sort_direction')
+ def sort_direction_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ASC', 'DESC']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ASC', 'DESC')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacField from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in labels (dict)
+ _field_dict = {}
+ if self.labels:
+ for _key_labels in self.labels:
+ if self.labels[_key_labels]:
+ _field_dict[_key_labels] = self.labels[_key_labels].to_dict()
+ _dict['labels'] = _field_dict
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacField from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "aggregated_as": obj.get("aggregated_as"),
+ "assigned_to": obj.get("assigned_to"),
+ "data_type": obj.get("data_type"),
+ "default_view": obj.get("default_view"),
+ "description": obj.get("description"),
+ "is_hidden": obj.get("is_hidden"),
+ "labels": dict(
+ (_k, AacLabel.from_dict(_v))
+ for _k, _v in obj["labels"].items()
+ )
+ if obj.get("labels") is not None
+ else None,
+ "locale": obj.get("locale"),
+ "show_in_ai_results": obj.get("show_in_ai_results"),
+ "sort_column": obj.get("sort_column"),
+ "sort_direction": obj.get("sort_direction"),
+ "source_column": obj.get("source_column"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_filter_state.py b/gooddata-api-client/gooddata_api_client/models/aac_filter_state.py
new file mode 100644
index 000000000..d598d0c8d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_filter_state.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacFilterState(BaseModel):
+ """
+ Filter state.
+ """ # noqa: E501
+ exclude: Optional[List[StrictStr]] = Field(default=None, description="Excluded values.")
+ include: Optional[List[StrictStr]] = Field(default=None, description="Included values.")
+ __properties: ClassVar[List[str]] = ["exclude", "include"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacFilterState from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacFilterState from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "exclude": obj.get("exclude"),
+ "include": obj.get("include")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_geo_area_config.py b/gooddata-api-client/gooddata_api_client/models/aac_geo_area_config.py
new file mode 100644
index 000000000..c0bafd453
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_geo_area_config.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.aac_geo_collection_identifier import AacGeoCollectionIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacGeoAreaConfig(BaseModel):
+ """
+ GEO area configuration.
+ """ # noqa: E501
+ collection: AacGeoCollectionIdentifier
+ __properties: ClassVar[List[str]] = ["collection"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacGeoAreaConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of collection
+ if self.collection:
+ _dict['collection'] = self.collection.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacGeoAreaConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "collection": AacGeoCollectionIdentifier.from_dict(obj["collection"]) if obj.get("collection") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_geo_collection_identifier.py b/gooddata-api-client/gooddata_api_client/models/aac_geo_collection_identifier.py
new file mode 100644
index 000000000..e1a04884d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_geo_collection_identifier.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacGeoCollectionIdentifier(BaseModel):
+ """
+ GEO collection configuration.
+ """ # noqa: E501
+ id: StrictStr = Field(description="Collection identifier.")
+ kind: Optional[StrictStr] = Field(default='STATIC', description="Type of geo collection.")
+ __properties: ClassVar[List[str]] = ["id", "kind"]
+
+ @field_validator('kind')
+ def kind_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['STATIC', 'CUSTOM']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('STATIC', 'CUSTOM')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacGeoCollectionIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacGeoCollectionIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "kind": obj.get("kind") if obj.get("kind") is not None else 'STATIC'
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_label.py b/gooddata-api-client/gooddata_api_client/models/aac_label.py
new file mode 100644
index 000000000..cac8a30a3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_label.py
@@ -0,0 +1,131 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_geo_area_config import AacGeoAreaConfig
+from gooddata_api_client.models.aac_label_translation import AacLabelTranslation
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacLabel(BaseModel):
+ """
+ AAC label definition.
+ """ # noqa: E501
+ data_type: Optional[StrictStr] = Field(default=None, description="Data type of the column.")
+ description: Optional[StrictStr] = Field(default=None, description="Label description.")
+ geo_area_config: Optional[AacGeoAreaConfig] = None
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ locale: Optional[StrictStr] = Field(default=None, description="Locale for sorting.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ source_column: Optional[StrictStr] = Field(default=None, description="Source column name.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ translations: Optional[List[AacLabelTranslation]] = Field(default=None, description="Localized source columns.")
+ value_type: Optional[StrictStr] = Field(default=None, description="Value type.")
+ __properties: ClassVar[List[str]] = ["data_type", "description", "geo_area_config", "is_hidden", "locale", "show_in_ai_results", "source_column", "tags", "title", "translations", "value_type"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacLabel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of geo_area_config
+ if self.geo_area_config:
+ _dict['geo_area_config'] = self.geo_area_config.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in translations (list)
+ _items = []
+ if self.translations:
+ for _item_translations in self.translations:
+ if _item_translations:
+ _items.append(_item_translations.to_dict())
+ _dict['translations'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacLabel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data_type": obj.get("data_type"),
+ "description": obj.get("description"),
+ "geo_area_config": AacGeoAreaConfig.from_dict(obj["geo_area_config"]) if obj.get("geo_area_config") is not None else None,
+ "is_hidden": obj.get("is_hidden"),
+ "locale": obj.get("locale"),
+ "show_in_ai_results": obj.get("show_in_ai_results"),
+ "source_column": obj.get("source_column"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "translations": [AacLabelTranslation.from_dict(_item) for _item in obj["translations"]] if obj.get("translations") is not None else None,
+ "value_type": obj.get("value_type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_label_translation.py b/gooddata-api-client/gooddata_api_client/models/aac_label_translation.py
new file mode 100644
index 000000000..5cc7cffa9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_label_translation.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacLabelTranslation(BaseModel):
+ """
+ Localized source columns.
+ """ # noqa: E501
+ locale: StrictStr = Field(description="Locale identifier.")
+ source_column: StrictStr = Field(description="Source column for translation.")
+ __properties: ClassVar[List[str]] = ["locale", "source_column"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacLabelTranslation from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacLabelTranslation from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "locale": obj.get("locale"),
+ "source_column": obj.get("source_column")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_logical_model.py b/gooddata-api-client/gooddata_api_client/models/aac_logical_model.py
new file mode 100644
index 000000000..8aa445693
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_logical_model.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dataset import AacDataset
+from gooddata_api_client.models.aac_date_dataset import AacDateDataset
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacLogicalModel(BaseModel):
+ """
+ AAC logical data model representation compatible with Analytics-as-Code YAML format.
+ """ # noqa: E501
+ datasets: Optional[List[AacDataset]] = Field(default=None, description="An array of datasets.")
+ date_datasets: Optional[List[AacDateDataset]] = Field(default=None, description="An array of date datasets.")
+ __properties: ClassVar[List[str]] = ["datasets", "date_datasets"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacLogicalModel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in datasets (list)
+ _items = []
+ if self.datasets:
+ for _item_datasets in self.datasets:
+ if _item_datasets:
+ _items.append(_item_datasets.to_dict())
+ _dict['datasets'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in date_datasets (list)
+ _items = []
+ if self.date_datasets:
+ for _item_date_datasets in self.date_datasets:
+ if _item_date_datasets:
+ _items.append(_item_date_datasets.to_dict())
+ _dict['date_datasets'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacLogicalModel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "datasets": [AacDataset.from_dict(_item) for _item in obj["datasets"]] if obj.get("datasets") is not None else None,
+ "date_datasets": [AacDateDataset.from_dict(_item) for _item in obj["date_datasets"]] if obj.get("date_datasets") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_metric.py b/gooddata-api-client/gooddata_api_client/models/aac_metric.py
new file mode 100644
index 000000000..36cb3dfdc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_metric.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacMetric(BaseModel):
+ """
+ AAC metric definition.
+ """ # noqa: E501
+ description: Optional[StrictStr] = Field(default=None, description="Metric description.")
+ format: Optional[StrictStr] = Field(default=None, description="Default format for metric values.")
+ id: StrictStr = Field(description="Unique identifier of the metric.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ is_hidden_from_kda: Optional[StrictBool] = Field(default=None, description="Whether to hide from key driver analysis.")
+ maql: StrictStr = Field(description="MAQL expression defining the metric.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Metric type discriminator.")
+ __properties: ClassVar[List[str]] = ["description", "format", "id", "is_hidden", "is_hidden_from_kda", "maql", "show_in_ai_results", "tags", "title", "type"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacMetric from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacMetric from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "format": obj.get("format"),
+ "id": obj.get("id"),
+ "is_hidden": obj.get("is_hidden"),
+ "is_hidden_from_kda": obj.get("is_hidden_from_kda"),
+ "maql": obj.get("maql"),
+ "show_in_ai_results": obj.get("show_in_ai_results"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_permission.py b/gooddata-api-client/gooddata_api_client/models/aac_permission.py
new file mode 100644
index 000000000..ebf6535e8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_permission.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacPermission(BaseModel):
+ """
+ SHARE permission.
+ """ # noqa: E501
+ all: Optional[StrictBool] = Field(default=None, description="Grant to all users.")
+ user_groups: Optional[List[StrictStr]] = Field(default=None, description="List of user group IDs.")
+ users: Optional[List[StrictStr]] = Field(default=None, description="List of user IDs.")
+ __properties: ClassVar[List[str]] = ["all", "user_groups", "users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacPermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacPermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "all": obj.get("all"),
+ "user_groups": obj.get("user_groups"),
+ "users": obj.get("users")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_plugin.py b/gooddata-api-client/gooddata_api_client/models/aac_plugin.py
new file mode 100644
index 000000000..a86c5e25f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_plugin.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacPlugin(BaseModel):
+ """
+ AAC dashboard plugin definition.
+ """ # noqa: E501
+ description: Optional[StrictStr] = Field(default=None, description="Plugin description.")
+ id: StrictStr = Field(description="Unique identifier of the plugin.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ type: StrictStr = Field(description="Plugin type discriminator.")
+ url: StrictStr = Field(description="URL of the plugin.")
+ __properties: ClassVar[List[str]] = ["description", "id", "tags", "title", "type", "url"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacPlugin from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacPlugin from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "type": obj.get("type"),
+ "url": obj.get("url")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_query.py b/gooddata-api-client/gooddata_api_client/models/aac_query.py
new file mode 100644
index 000000000..69869fdea
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_query.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query_fields_value import AacQueryFieldsValue
+from gooddata_api_client.models.aac_query_filter import AacQueryFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacQuery(BaseModel):
+ """
+ Query definition.
+ """ # noqa: E501
+ fields: Dict[str, AacQueryFieldsValue] = Field(description="Query fields map: localId -> field definition (identifier string or structured object).")
+ filter_by: Optional[Dict[str, AacQueryFilter]] = Field(default=None, description="Query filters map: localId -> filter definition.")
+ sort_by: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Sorting definitions.")
+ __properties: ClassVar[List[str]] = ["fields", "filter_by", "sort_by"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacQuery from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in fields (dict)
+ _field_dict = {}
+ if self.fields:
+ for _key_fields in self.fields:
+ if self.fields[_key_fields]:
+ _field_dict[_key_fields] = self.fields[_key_fields].to_dict()
+ _dict['fields'] = _field_dict
+ # override the default output from pydantic by calling `to_dict()` of each value in filter_by (dict)
+ _field_dict = {}
+ if self.filter_by:
+ for _key_filter_by in self.filter_by:
+ if self.filter_by[_key_filter_by]:
+ _field_dict[_key_filter_by] = self.filter_by[_key_filter_by].to_dict()
+ _dict['filter_by'] = _field_dict
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacQuery from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "fields": dict(
+ (_k, AacQueryFieldsValue.from_dict(_v))
+ for _k, _v in obj["fields"].items()
+ )
+ if obj.get("fields") is not None
+ else None,
+ "filter_by": dict(
+ (_k, AacQueryFilter.from_dict(_v))
+ for _k, _v in obj["filter_by"].items()
+ )
+ if obj.get("filter_by") is not None
+ else None,
+ "sort_by": obj.get("sort_by")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_query_fields_value.py b/gooddata-api-client/gooddata_api_client/models/aac_query_fields_value.py
new file mode 100644
index 000000000..6c783e88c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_query_fields_value.py
@@ -0,0 +1,147 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, Dict, List, Optional
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACQUERYFIELDSVALUE_ONE_OF_SCHEMAS = ["object", "str"]
+
+class AacQueryFieldsValue(BaseModel):
+ """
+ AacQueryFieldsValue
+ """
+ # data type: str
+ oneof_schema_1_validator: Optional[StrictStr] = None
+ # data type: object
+ oneof_schema_2_validator: Optional[Dict[str, Any]] = None
+ actual_instance: Optional[Union[object, str]] = None
+ one_of_schemas: Set[str] = { "object", "str" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacQueryFieldsValue.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: str
+ try:
+ instance.oneof_schema_1_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # validate data type: object
+ try:
+ instance.oneof_schema_2_validator = v
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacQueryFieldsValue with oneOf schemas: object, str. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into str
+ try:
+ # validation
+ instance.oneof_schema_1_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_1_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into object
+ try:
+ # validation
+ instance.oneof_schema_2_validator = json.loads(json_str)
+ # assign value to actual_instance
+ if match == 0:
+ instance.actual_instance = instance.oneof_schema_2_validator
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacQueryFieldsValue with oneOf schemas: object, str. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], object, str]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_query_filter.py b/gooddata-api-client/gooddata_api_client/models/aac_query_filter.py
new file mode 100644
index 000000000..34a57f03c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_query_filter.py
@@ -0,0 +1,127 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from gooddata_api_client.models.aac_dashboard_filter_from import AacDashboardFilterFrom
+from gooddata_api_client.models.aac_filter_state import AacFilterState
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacQueryFilter(BaseModel):
+ """
+ Layer filters.
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attribute: Optional[StrictStr] = Field(default=None, description="Attribute for ranking filter (identifier or localId).")
+ bottom: Optional[StrictInt] = Field(default=None, description="Bottom N for ranking filter.")
+ condition: Optional[StrictStr] = Field(default=None, description="Condition for metric value filter.")
+ dimensionality: Optional[List[StrictStr]] = Field(default=None, description="Dimensionality for metric value filter.")
+ display_as: Optional[StrictStr] = Field(default=None, description="Display as label (attribute filter).")
+ var_from: Optional[AacDashboardFilterFrom] = Field(default=None, alias="from")
+ granularity: Optional[StrictStr] = Field(default=None, description="Date granularity (date filter).")
+ null_values_as_zero: Optional[StrictBool] = Field(default=None, description="Null values are treated as zero (metric value filter).")
+ state: Optional[AacFilterState] = None
+ to: Optional[AacDashboardFilterFrom] = None
+ top: Optional[StrictInt] = Field(default=None, description="Top N for ranking filter.")
+ type: StrictStr = Field(description="Filter type.")
+ using: Optional[StrictStr] = Field(default=None, description="Reference to attribute/label/date/metric/fact (type-prefixed id).")
+ value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Value for metric value filter.")
+ __properties: ClassVar[List[str]] = ["additionalProperties", "attribute", "bottom", "condition", "dimensionality", "display_as", "from", "granularity", "null_values_as_zero", "state", "to", "top", "type", "using", "value"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacQueryFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of var_from
+ if self.var_from:
+ _dict['from'] = self.var_from.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of state
+ if self.state:
+ _dict['state'] = self.state.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of to
+ if self.to:
+ _dict['to'] = self.to.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacQueryFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "additionalProperties": obj.get("additionalProperties"),
+ "attribute": obj.get("attribute"),
+ "bottom": obj.get("bottom"),
+ "condition": obj.get("condition"),
+ "dimensionality": obj.get("dimensionality"),
+ "display_as": obj.get("display_as"),
+ "from": AacDashboardFilterFrom.from_dict(obj["from"]) if obj.get("from") is not None else None,
+ "granularity": obj.get("granularity"),
+ "null_values_as_zero": obj.get("null_values_as_zero"),
+ "state": AacFilterState.from_dict(obj["state"]) if obj.get("state") is not None else None,
+ "to": AacDashboardFilterFrom.from_dict(obj["to"]) if obj.get("to") is not None else None,
+ "top": obj.get("top"),
+ "type": obj.get("type"),
+ "using": obj.get("using"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_reference.py b/gooddata-api-client/gooddata_api_client/models/aac_reference.py
new file mode 100644
index 000000000..46ce12c83
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_reference.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_reference_source import AacReferenceSource
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacReference(BaseModel):
+ """
+ AAC reference to another dataset.
+ """ # noqa: E501
+ dataset: StrictStr = Field(description="Target dataset ID.")
+ multi_directional: Optional[StrictBool] = Field(default=None, description="Whether the reference is multi-directional.")
+ sources: List[AacReferenceSource] = Field(description="Source columns for the reference.")
+ __properties: ClassVar[List[str]] = ["dataset", "multi_directional", "sources"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacReference from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in sources (list)
+ _items = []
+ if self.sources:
+ for _item_sources in self.sources:
+ if _item_sources:
+ _items.append(_item_sources.to_dict())
+ _dict['sources'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacReference from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataset": obj.get("dataset"),
+ "multi_directional": obj.get("multi_directional"),
+ "sources": [AacReferenceSource.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_reference_source.py b/gooddata-api-client/gooddata_api_client/models/aac_reference_source.py
new file mode 100644
index 000000000..6ded9036b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_reference_source.py
@@ -0,0 +1,103 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacReferenceSource(BaseModel):
+ """
+ Source columns for the reference.
+ """ # noqa: E501
+ data_type: Optional[StrictStr] = Field(default=None, description="Data type of the column.")
+ source_column: StrictStr = Field(description="Source column name.")
+ target: Optional[StrictStr] = Field(default=None, description="Target in the referenced dataset.")
+ __properties: ClassVar[List[str]] = ["data_type", "source_column", "target"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacReferenceSource from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacReferenceSource from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data_type": obj.get("data_type"),
+ "source_column": obj.get("source_column"),
+ "target": obj.get("target")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_rich_text_widget.py b/gooddata-api-client/gooddata_api_client/models/aac_rich_text_widget.py
new file mode 100644
index 000000000..1a8be47c2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_rich_text_widget.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_widget_size import AacWidgetSize
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacRichTextWidget(BaseModel):
+ """
+ AacRichTextWidget
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ columns: Optional[StrictInt] = Field(default=None, description="Widget width in grid columns (GAAC).")
+ container: Optional[StrictStr] = Field(default=None, description="Container widget identifier.")
+ content: StrictStr = Field(description="Rich text content.")
+ var_date: Optional[StrictStr] = Field(default=None, description="Date dataset for filtering.", alias="date")
+ description: Optional[Any] = None
+ drill_down: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled for container widgets.")
+ ignore_dashboard_filters: Optional[List[StrictStr]] = Field(default=None, description="Deprecated. Use ignoredFilters instead.")
+ ignored_filters: Optional[List[StrictStr]] = Field(default=None, description="A list of dashboard filters to be ignored for this widget (GAAC).")
+ interactions: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Widget interactions (GAAC).")
+ layout_direction: Optional[StrictStr] = Field(default=None, description="Layout direction for container widgets.")
+ metric: Optional[StrictStr] = Field(default=None, description="Inline metric reference.")
+ rows: Optional[StrictInt] = Field(default=None, description="Widget height in grid rows (GAAC).")
+ sections: Optional[List[AacSection]] = Field(default=None, description="Nested sections for layout widgets.")
+ size: Optional[AacWidgetSize] = None
+ title: Optional[Any] = None
+ type: Optional[StrictStr] = Field(default=None, description="Widget type.")
+ visualization: Optional[StrictStr] = Field(default=None, description="Visualization ID reference.")
+ visualizations: Optional[List[AacWidget]] = Field(default=None, description="Visualization switcher items.")
+ zoom_data: Optional[StrictBool] = Field(default=None, description="Enable zooming to the data for certain visualization types (GAAC).")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacRichTextWidget from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacRichTextWidget from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+from gooddata_api_client.models.aac_section import AacSection
+from gooddata_api_client.models.aac_widget import AacWidget
+# TODO: Rewrite to not use raise_errors
+AacRichTextWidget.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_section.py b/gooddata-api-client/gooddata_api_client/models/aac_section.py
new file mode 100644
index 000000000..61d4fc8d5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_section.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacSection(BaseModel):
+ """
+ Sections within the tab.
+ """ # noqa: E501
+ description: Optional[StrictStr] = Field(default=None, description="Section description.")
+ header: Optional[StrictBool] = Field(default=None, description="Whether section header is visible.")
+ title: Optional[StrictStr] = Field(default=None, description="Section title.")
+ widgets: Optional[List[AacWidget]] = Field(default=None, description="Widgets in the section.")
+ __properties: ClassVar[List[str]] = ["description", "header", "title", "widgets"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacSection from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in widgets (list)
+ _items = []
+ if self.widgets:
+ for _item_widgets in self.widgets:
+ if _item_widgets:
+ _items.append(_item_widgets.to_dict())
+ _dict['widgets'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacSection from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "header": obj.get("header"),
+ "title": obj.get("title"),
+ "widgets": [AacWidget.from_dict(_item) for _item in obj["widgets"]] if obj.get("widgets") is not None else None
+ })
+ return _obj
+
+from gooddata_api_client.models.aac_widget import AacWidget
+# TODO: Rewrite to not use raise_errors
+AacSection.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_tab.py b/gooddata-api-client/gooddata_api_client/models/aac_tab.py
new file mode 100644
index 000000000..bd876680f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_tab.py
@@ -0,0 +1,115 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dashboard_filter import AacDashboardFilter
+from gooddata_api_client.models.aac_section import AacSection
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacTab(BaseModel):
+ """
+ Dashboard tabs (for tabbed dashboards).
+ """ # noqa: E501
+ filters: Optional[Dict[str, AacDashboardFilter]] = Field(default=None, description="Tab-specific filters.")
+ id: StrictStr = Field(description="Unique identifier of the tab.")
+ sections: Optional[List[AacSection]] = Field(default=None, description="Sections within the tab.")
+ title: StrictStr = Field(description="Display title for the tab.")
+ __properties: ClassVar[List[str]] = ["filters", "id", "sections", "title"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacTab from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in filters (dict)
+ _field_dict = {}
+ if self.filters:
+ for _key_filters in self.filters:
+ if self.filters[_key_filters]:
+ _field_dict[_key_filters] = self.filters[_key_filters].to_dict()
+ _dict['filters'] = _field_dict
+ # override the default output from pydantic by calling `to_dict()` of each item in sections (list)
+ _items = []
+ if self.sections:
+ for _item_sections in self.sections:
+ if _item_sections:
+ _items.append(_item_sections.to_dict())
+ _dict['sections'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacTab from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filters": dict(
+ (_k, AacDashboardFilter.from_dict(_v))
+ for _k, _v in obj["filters"].items()
+ )
+ if obj.get("filters") is not None
+ else None,
+ "id": obj.get("id"),
+ "sections": [AacSection.from_dict(_item) for _item in obj["sections"]] if obj.get("sections") is not None else None,
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization.py
new file mode 100644
index 000000000..efcc674ed
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.aac_visualization_basic_buckets import AacVisualizationBasicBuckets
+from gooddata_api_client.models.aac_visualization_bubble_buckets import AacVisualizationBubbleBuckets
+from gooddata_api_client.models.aac_visualization_dependency_buckets import AacVisualizationDependencyBuckets
+from gooddata_api_client.models.aac_visualization_geo_buckets import AacVisualizationGeoBuckets
+from gooddata_api_client.models.aac_visualization_scatter_buckets import AacVisualizationScatterBuckets
+from gooddata_api_client.models.aac_visualization_stacked_buckets import AacVisualizationStackedBuckets
+from gooddata_api_client.models.aac_visualization_table_buckets import AacVisualizationTableBuckets
+from gooddata_api_client.models.aac_visualization_trend_buckets import AacVisualizationTrendBuckets
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACVISUALIZATION_ONE_OF_SCHEMAS = ["AacVisualizationBasicBuckets", "AacVisualizationBubbleBuckets", "AacVisualizationDependencyBuckets", "AacVisualizationGeoBuckets", "AacVisualizationScatterBuckets", "AacVisualizationStackedBuckets", "AacVisualizationTableBuckets", "AacVisualizationTrendBuckets"]
+
+class AacVisualization(BaseModel):
+ """
+ AAC visualization definition.
+ """
+ # data type: AacVisualizationTableBuckets
+ oneof_schema_1_validator: Optional[AacVisualizationTableBuckets] = None
+ # data type: AacVisualizationStackedBuckets
+ oneof_schema_2_validator: Optional[AacVisualizationStackedBuckets] = None
+ # data type: AacVisualizationScatterBuckets
+ oneof_schema_3_validator: Optional[AacVisualizationScatterBuckets] = None
+ # data type: AacVisualizationBubbleBuckets
+ oneof_schema_4_validator: Optional[AacVisualizationBubbleBuckets] = None
+ # data type: AacVisualizationTrendBuckets
+ oneof_schema_5_validator: Optional[AacVisualizationTrendBuckets] = None
+ # data type: AacVisualizationGeoBuckets
+ oneof_schema_6_validator: Optional[AacVisualizationGeoBuckets] = None
+ # data type: AacVisualizationBasicBuckets
+ oneof_schema_7_validator: Optional[AacVisualizationBasicBuckets] = None
+ # data type: AacVisualizationDependencyBuckets
+ oneof_schema_8_validator: Optional[AacVisualizationDependencyBuckets] = None
+ actual_instance: Optional[Union[AacVisualizationBasicBuckets, AacVisualizationBubbleBuckets, AacVisualizationDependencyBuckets, AacVisualizationGeoBuckets, AacVisualizationScatterBuckets, AacVisualizationStackedBuckets, AacVisualizationTableBuckets, AacVisualizationTrendBuckets]] = None
+ one_of_schemas: Set[str] = { "AacVisualizationBasicBuckets", "AacVisualizationBubbleBuckets", "AacVisualizationDependencyBuckets", "AacVisualizationGeoBuckets", "AacVisualizationScatterBuckets", "AacVisualizationStackedBuckets", "AacVisualizationTableBuckets", "AacVisualizationTrendBuckets" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ discriminator_value_class_map: Dict[str, str] = {
+ }
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacVisualization.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AacVisualizationTableBuckets
+ if not isinstance(v, AacVisualizationTableBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationTableBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationStackedBuckets
+ if not isinstance(v, AacVisualizationStackedBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationStackedBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationScatterBuckets
+ if not isinstance(v, AacVisualizationScatterBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationScatterBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationBubbleBuckets
+ if not isinstance(v, AacVisualizationBubbleBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationBubbleBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationTrendBuckets
+ if not isinstance(v, AacVisualizationTrendBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationTrendBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationGeoBuckets
+ if not isinstance(v, AacVisualizationGeoBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationGeoBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationBasicBuckets
+ if not isinstance(v, AacVisualizationBasicBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationBasicBuckets`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationDependencyBuckets
+ if not isinstance(v, AacVisualizationDependencyBuckets):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationDependencyBuckets`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacVisualization with oneOf schemas: AacVisualizationBasicBuckets, AacVisualizationBubbleBuckets, AacVisualizationDependencyBuckets, AacVisualizationGeoBuckets, AacVisualizationScatterBuckets, AacVisualizationStackedBuckets, AacVisualizationTableBuckets, AacVisualizationTrendBuckets. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AacVisualizationTableBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationTableBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationStackedBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationStackedBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationScatterBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationScatterBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationBubbleBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationBubbleBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationTrendBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationTrendBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationGeoBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationGeoBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationBasicBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationBasicBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationDependencyBuckets
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationDependencyBuckets.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacVisualization with oneOf schemas: AacVisualizationBasicBuckets, AacVisualizationBubbleBuckets, AacVisualizationDependencyBuckets, AacVisualizationGeoBuckets, AacVisualizationScatterBuckets, AacVisualizationStackedBuckets, AacVisualizationTableBuckets, AacVisualizationTrendBuckets. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AacVisualizationBasicBuckets, AacVisualizationBubbleBuckets, AacVisualizationDependencyBuckets, AacVisualizationGeoBuckets, AacVisualizationScatterBuckets, AacVisualizationStackedBuckets, AacVisualizationTableBuckets, AacVisualizationTrendBuckets]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_basic_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_basic_buckets.py
new file mode 100644
index 000000000..36bacf1b9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_basic_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationBasicBuckets(BaseModel):
+ """
+ AacVisualizationBasicBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['bullet_chart', 'combo_chart', 'donut_chart', 'funnel_chart', 'headline_chart', 'pie_chart', 'pyramid_chart', 'treemap_chart', 'waterfall_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('bullet_chart', 'combo_chart', 'donut_chart', 'funnel_chart', 'headline_chart', 'pie_chart', 'pyramid_chart', 'treemap_chart', 'waterfall_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationBasicBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationBasicBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_bubble_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_bubble_buckets.py
new file mode 100644
index 000000000..a98893d1f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_bubble_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationBubbleBuckets(BaseModel):
+ """
+ AacVisualizationBubbleBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['bubble_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('bubble_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationBubbleBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationBubbleBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_dependency_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_dependency_buckets.py
new file mode 100644
index 000000000..6ee71274c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_dependency_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationDependencyBuckets(BaseModel):
+ """
+ AacVisualizationDependencyBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['dependency_wheel_chart', 'sankey_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('dependency_wheel_chart', 'sankey_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationDependencyBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationDependencyBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_geo_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_geo_buckets.py
new file mode 100644
index 000000000..eb7aa4a91
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_geo_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationGeoBuckets(BaseModel):
+ """
+ AacVisualizationGeoBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['geo_chart', 'geo_area_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('geo_chart', 'geo_area_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationGeoBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationGeoBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_layer.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_layer.py
new file mode 100644
index 000000000..23392b886
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_layer.py
@@ -0,0 +1,146 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query_fields_value import AacQueryFieldsValue
+from gooddata_api_client.models.aac_query_filter import AacQueryFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationLayer(BaseModel):
+ """
+ Visualization data layers (for geo charts).
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ filters: Optional[Dict[str, AacQueryFilter]] = Field(default=None, description="Layer filters.")
+ id: StrictStr = Field(description="Unique identifier of the layer.")
+ metrics: Optional[List[AacQueryFieldsValue]] = Field(default=None, description="Layer metrics.")
+ segment_by: Optional[List[AacQueryFieldsValue]] = Field(default=None, description="Layer segment by.")
+ sorts: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Layer sorting definitions.")
+ title: Optional[StrictStr] = Field(default=None, description="Layer title.")
+ type: Optional[StrictStr] = Field(default=None, description="Layer type.")
+ view_by: Optional[List[AacQueryFieldsValue]] = Field(default=None, description="Layer view by.")
+ __properties: ClassVar[List[str]] = ["additionalProperties", "config", "filters", "id", "metrics", "segment_by", "sorts", "title", "type", "view_by"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationLayer from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in filters (dict)
+ _field_dict = {}
+ if self.filters:
+ for _key_filters in self.filters:
+ if self.filters[_key_filters]:
+ _field_dict[_key_filters] = self.filters[_key_filters].to_dict()
+ _dict['filters'] = _field_dict
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
+ _items = []
+ if self.metrics:
+ for _item_metrics in self.metrics:
+ if _item_metrics:
+ _items.append(_item_metrics.to_dict())
+ _dict['metrics'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in segment_by (list)
+ _items = []
+ if self.segment_by:
+ for _item_segment_by in self.segment_by:
+ if _item_segment_by:
+ _items.append(_item_segment_by.to_dict())
+ _dict['segment_by'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in view_by (list)
+ _items = []
+ if self.view_by:
+ for _item_view_by in self.view_by:
+ if _item_view_by:
+ _items.append(_item_view_by.to_dict())
+ _dict['view_by'] = _items
+ # set to None if config (nullable) is None
+ # and model_fields_set contains the field
+ if self.config is None and "config" in self.model_fields_set:
+ _dict['config'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationLayer from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "additionalProperties": obj.get("additionalProperties"),
+ "config": obj.get("config"),
+ "filters": dict(
+ (_k, AacQueryFilter.from_dict(_v))
+ for _k, _v in obj["filters"].items()
+ )
+ if obj.get("filters") is not None
+ else None,
+ "id": obj.get("id"),
+ "metrics": [AacQueryFieldsValue.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None,
+ "segment_by": [AacQueryFieldsValue.from_dict(_item) for _item in obj["segment_by"]] if obj.get("segment_by") is not None else None,
+ "sorts": obj.get("sorts"),
+ "title": obj.get("title"),
+ "type": obj.get("type"),
+ "view_by": [AacQueryFieldsValue.from_dict(_item) for _item in obj["view_by"]] if obj.get("view_by") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_scatter_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_scatter_buckets.py
new file mode 100644
index 000000000..247f56ae4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_scatter_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationScatterBuckets(BaseModel):
+ """
+ AacVisualizationScatterBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['scatter_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('scatter_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationScatterBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationScatterBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_stacked_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_stacked_buckets.py
new file mode 100644
index 000000000..02daaf5e9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_stacked_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationStackedBuckets(BaseModel):
+ """
+ AacVisualizationStackedBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['bar_chart', 'column_chart', 'area_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('bar_chart', 'column_chart', 'area_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationStackedBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationStackedBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_switcher_widget.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_switcher_widget.py
new file mode 100644
index 000000000..63f0e33c4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_switcher_widget.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_widget_size import AacWidgetSize
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationSwitcherWidget(BaseModel):
+ """
+ AacVisualizationSwitcherWidget
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ columns: Optional[StrictInt] = Field(default=None, description="Widget width in grid columns (GAAC).")
+ container: Optional[StrictStr] = Field(default=None, description="Container widget identifier.")
+ content: Optional[StrictStr] = Field(default=None, description="Rich text content.")
+ var_date: Optional[StrictStr] = Field(default=None, description="Date dataset for filtering.", alias="date")
+ description: Optional[Any] = None
+ drill_down: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled for container widgets.")
+ ignore_dashboard_filters: Optional[List[StrictStr]] = Field(default=None, description="Deprecated. Use ignoredFilters instead.")
+ ignored_filters: Optional[List[StrictStr]] = Field(default=None, description="A list of dashboard filters to be ignored for this widget (GAAC).")
+ interactions: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Widget interactions (GAAC).")
+ layout_direction: Optional[StrictStr] = Field(default=None, description="Layout direction for container widgets.")
+ metric: Optional[StrictStr] = Field(default=None, description="Inline metric reference.")
+ rows: Optional[StrictInt] = Field(default=None, description="Widget height in grid rows (GAAC).")
+ sections: Optional[List[AacSection]] = Field(default=None, description="Nested sections for layout widgets.")
+ size: Optional[AacWidgetSize] = None
+ title: Optional[Any] = None
+ type: Optional[StrictStr] = Field(default=None, description="Widget type.")
+ visualization: Optional[StrictStr] = Field(default=None, description="Visualization ID reference.")
+ visualizations: List[AacVisualizationWidget]
+ zoom_data: Optional[StrictBool] = Field(default=None, description="Enable zooming to the data for certain visualization types (GAAC).")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationSwitcherWidget from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationSwitcherWidget from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+from gooddata_api_client.models.aac_section import AacSection
+from gooddata_api_client.models.aac_visualization_widget import AacVisualizationWidget
+# TODO: Rewrite to not use raise_errors
+AacVisualizationSwitcherWidget.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_table_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_table_buckets.py
new file mode 100644
index 000000000..a046a7e15
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_table_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationTableBuckets(BaseModel):
+ """
+ AacVisualizationTableBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['table', 'heatmap_chart', 'repeater_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('table', 'heatmap_chart', 'repeater_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationTableBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationTableBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_trend_buckets.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_trend_buckets.py
new file mode 100644
index 000000000..e27a6d79f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_trend_buckets.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_query import AacQuery
+from gooddata_api_client.models.aac_visualization_layer import AacVisualizationLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationTrendBuckets(BaseModel):
+ """
+ AacVisualizationTrendBuckets
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ attributes: Optional[List[Any]] = Field(default=None, description="Attributes bucket (for scatter).")
+ columns: Optional[List[Any]] = Field(default=None, description="Columns bucket (for tables).")
+ config: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[StrictStr] = Field(default=None, description="Visualization description.")
+ var_from: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object", alias="from")
+ id: StrictStr = Field(description="Unique identifier of the visualization.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Deprecated. Use showInAiResults instead.")
+ layers: Optional[List[AacVisualizationLayer]] = Field(default=None, description="Visualization data layers (for geo charts).")
+ metrics: Optional[List[Any]] = Field(default=None, description="Metrics bucket.")
+ query: AacQuery
+ rows: Optional[List[Any]] = Field(default=None, description="Rows bucket (for tables).")
+ segment_by: Optional[List[Any]] = Field(default=None, description="Segment by attributes bucket.")
+ show_in_ai_results: Optional[StrictBool] = Field(default=None, description="Whether to show in AI results.")
+ size_by: Optional[List[Any]] = Field(default=None, description="Size by metrics bucket.")
+ stack_by: Optional[List[Any]] = Field(default=None, description="Stack by attributes bucket.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="Metadata tags.")
+ title: Optional[StrictStr] = Field(default=None, description="Human readable title.")
+ to: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ trend_by: Optional[List[Any]] = Field(default=None, description="Trend by attributes bucket.")
+ type: StrictStr
+ view_by: Optional[List[Any]] = Field(default=None, description="View by attributes bucket.")
+ __properties: ClassVar[List[str]] = []
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['line_chart']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('line_chart')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationTrendBuckets from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationTrendBuckets from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_visualization_widget.py b/gooddata-api-client/gooddata_api_client/models/aac_visualization_widget.py
new file mode 100644
index 000000000..f77284e5a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_visualization_widget.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_widget_size import AacWidgetSize
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacVisualizationWidget(BaseModel):
+ """
+ AacVisualizationWidget
+ """ # noqa: E501
+ additional_properties: Optional[Dict[str, Optional[Dict[str, Any]]]] = Field(default=None, alias="additionalProperties")
+ columns: Optional[StrictInt] = Field(default=None, description="Widget width in grid columns (GAAC).")
+ container: Optional[StrictStr] = Field(default=None, description="Container widget identifier.")
+ content: Optional[StrictStr] = Field(default=None, description="Rich text content.")
+ var_date: Optional[StrictStr] = Field(default=None, description="Date dataset for filtering.", alias="date")
+ description: Optional[Any] = None
+ drill_down: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ enable_section_headers: Optional[StrictBool] = Field(default=None, description="Whether section headers are enabled for container widgets.")
+ ignore_dashboard_filters: Optional[List[StrictStr]] = Field(default=None, description="Deprecated. Use ignoredFilters instead.")
+ ignored_filters: Optional[List[StrictStr]] = Field(default=None, description="A list of dashboard filters to be ignored for this widget (GAAC).")
+ interactions: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, description="Widget interactions (GAAC).")
+ layout_direction: Optional[StrictStr] = Field(default=None, description="Layout direction for container widgets.")
+ metric: Optional[StrictStr] = Field(default=None, description="Inline metric reference.")
+ rows: Optional[StrictInt] = Field(default=None, description="Widget height in grid rows (GAAC).")
+ sections: Optional[List[AacSection]] = Field(default=None, description="Nested sections for layout widgets.")
+ size: Optional[AacWidgetSize] = None
+ title: Optional[Any] = None
+ type: Optional[StrictStr] = Field(default=None, description="Widget type.")
+ visualization: StrictStr = Field(description="Visualization ID reference.")
+ visualizations: Optional[List[AacWidget]] = Field(default=None, description="Visualization switcher items.")
+ zoom_data: Optional[StrictBool] = Field(default=None, description="Enable zooming to the data for certain visualization types (GAAC).")
+ __properties: ClassVar[List[str]] = []
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacVisualizationWidget from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacVisualizationWidget from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ })
+ return _obj
+
+from gooddata_api_client.models.aac_section import AacSection
+from gooddata_api_client.models.aac_widget import AacWidget
+# TODO: Rewrite to not use raise_errors
+AacVisualizationWidget.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_widget.py b/gooddata-api-client/gooddata_api_client/models/aac_widget.py
new file mode 100644
index 000000000..b450a3ab4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_widget.py
@@ -0,0 +1,173 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AACWIDGET_ONE_OF_SCHEMAS = ["AacContainerWidget", "AacRichTextWidget", "AacVisualizationSwitcherWidget", "AacVisualizationWidget"]
+
+class AacWidget(BaseModel):
+ """
+ Widgets in the section.
+ """
+ # data type: AacVisualizationWidget
+ oneof_schema_1_validator: Optional[AacVisualizationWidget] = None
+ # data type: AacRichTextWidget
+ oneof_schema_2_validator: Optional[AacRichTextWidget] = None
+ # data type: AacVisualizationSwitcherWidget
+ oneof_schema_3_validator: Optional[AacVisualizationSwitcherWidget] = None
+ # data type: AacContainerWidget
+ oneof_schema_4_validator: Optional[AacContainerWidget] = None
+ actual_instance: Optional[Union[AacContainerWidget, AacRichTextWidget, AacVisualizationSwitcherWidget, AacVisualizationWidget]] = None
+ one_of_schemas: Set[str] = { "AacContainerWidget", "AacRichTextWidget", "AacVisualizationSwitcherWidget", "AacVisualizationWidget" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AacWidget.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AacVisualizationWidget
+ if not isinstance(v, AacVisualizationWidget):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationWidget`")
+ else:
+ match += 1
+ # validate data type: AacRichTextWidget
+ if not isinstance(v, AacRichTextWidget):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacRichTextWidget`")
+ else:
+ match += 1
+ # validate data type: AacVisualizationSwitcherWidget
+ if not isinstance(v, AacVisualizationSwitcherWidget):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacVisualizationSwitcherWidget`")
+ else:
+ match += 1
+ # validate data type: AacContainerWidget
+ if not isinstance(v, AacContainerWidget):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AacContainerWidget`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AacWidget with oneOf schemas: AacContainerWidget, AacRichTextWidget, AacVisualizationSwitcherWidget, AacVisualizationWidget. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AacVisualizationWidget
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationWidget.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacRichTextWidget
+ try:
+ if match == 0:
+ instance.actual_instance = AacRichTextWidget.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacVisualizationSwitcherWidget
+ try:
+ if match == 0:
+ instance.actual_instance = AacVisualizationSwitcherWidget.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AacContainerWidget
+ try:
+ if match == 0:
+ instance.actual_instance = AacContainerWidget.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AacWidget with oneOf schemas: AacContainerWidget, AacRichTextWidget, AacVisualizationSwitcherWidget, AacVisualizationWidget. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AacContainerWidget, AacRichTextWidget, AacVisualizationSwitcherWidget, AacVisualizationWidget]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+from gooddata_api_client.models.aac_container_widget import AacContainerWidget
+from gooddata_api_client.models.aac_rich_text_widget import AacRichTextWidget
+from gooddata_api_client.models.aac_visualization_switcher_widget import AacVisualizationSwitcherWidget
+from gooddata_api_client.models.aac_visualization_widget import AacVisualizationWidget
+# TODO: Rewrite to not use raise_errors
+AacWidget.model_rebuild(raise_errors=False)
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_widget_size.py b/gooddata-api-client/gooddata_api_client/models/aac_widget_size.py
new file mode 100644
index 000000000..b431fb51f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_widget_size.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacWidgetSize(BaseModel):
+ """
+ Deprecated widget size (legacy AAC).
+ """ # noqa: E501
+ height: Optional[StrictInt] = Field(default=None, description="Height in grid rows.")
+ height_as_ratio: Optional[StrictBool] = Field(default=None, description="Height definition mode.")
+ width: Optional[StrictInt] = Field(default=None, description="Width in grid columns.")
+ __properties: ClassVar[List[str]] = ["height", "height_as_ratio", "width"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacWidgetSize from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacWidgetSize from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "height": obj.get("height"),
+ "height_as_ratio": obj.get("height_as_ratio"),
+ "width": obj.get("width")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aac_workspace_data_filter.py b/gooddata-api-client/gooddata_api_client/models/aac_workspace_data_filter.py
new file mode 100644
index 000000000..255bcd957
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aac_workspace_data_filter.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AacWorkspaceDataFilter(BaseModel):
+ """
+ Workspace data filters.
+ """ # noqa: E501
+ data_type: StrictStr = Field(description="Data type of the column.")
+ filter_id: StrictStr = Field(description="Filter identifier.")
+ source_column: StrictStr = Field(description="Source column name.")
+ __properties: ClassVar[List[str]] = ["data_type", "filter_id", "source_column"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AacWorkspaceDataFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AacWorkspaceDataFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data_type": obj.get("data_type"),
+ "filter_id": obj.get("filter_id"),
+ "source_column": obj.get("source_column")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/absolute_date_filter.py b/gooddata-api-client/gooddata_api_client/models/absolute_date_filter.py
new file mode 100644
index 000000000..ef2a39934
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/absolute_date_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.absolute_date_filter_absolute_date_filter import AbsoluteDateFilterAbsoluteDateFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AbsoluteDateFilter(BaseModel):
+ """
+ A datetime filter specifying exact from and to values.
+ """ # noqa: E501
+ absolute_date_filter: AbsoluteDateFilterAbsoluteDateFilter = Field(alias="absoluteDateFilter")
+ __properties: ClassVar[List[str]] = ["absoluteDateFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AbsoluteDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of absolute_date_filter
+ if self.absolute_date_filter:
+ _dict['absoluteDateFilter'] = self.absolute_date_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AbsoluteDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "absoluteDateFilter": AbsoluteDateFilterAbsoluteDateFilter.from_dict(obj["absoluteDateFilter"]) if obj.get("absoluteDateFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/absolute_date_filter_absolute_date_filter.py b/gooddata-api-client/gooddata_api_client/models/absolute_date_filter_absolute_date_filter.py
new file mode 100644
index 000000000..9973a5159
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/absolute_date_filter_absolute_date_filter.py
@@ -0,0 +1,128 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.afm_object_identifier_dataset import AfmObjectIdentifierDataset
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AbsoluteDateFilterAbsoluteDateFilter(BaseModel):
+ """
+ AbsoluteDateFilterAbsoluteDateFilter
+ """ # noqa: E501
+ apply_on_result: Optional[StrictBool] = Field(default=None, alias="applyOnResult")
+ dataset: AfmObjectIdentifierDataset
+ empty_value_handling: Optional[StrictStr] = Field(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.", alias="emptyValueHandling")
+ var_from: Annotated[str, Field(strict=True)] = Field(alias="from")
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ to: Annotated[str, Field(strict=True)]
+ __properties: ClassVar[List[str]] = ["applyOnResult", "dataset", "emptyValueHandling", "from", "localIdentifier", "to"]
+
+ @field_validator('empty_value_handling')
+ def empty_value_handling_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INCLUDE', 'EXCLUDE', 'ONLY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INCLUDE', 'EXCLUDE', 'ONLY')")
+ return value
+
+ @field_validator('var_from')
+ def var_from_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{1,2}-\d{1,2}( \d{1,2}:\d{1,2})?$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{1,2}-\d{1,2}( \d{1,2}:\d{1,2})?$/")
+ return value
+
+ @field_validator('to')
+ def to_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^\d{4}-\d{1,2}-\d{1,2}( \d{1,2}:\d{1,2})?$", value):
+ raise ValueError(r"must validate the regular expression /^\d{4}-\d{1,2}-\d{1,2}( \d{1,2}:\d{1,2})?$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AbsoluteDateFilterAbsoluteDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of dataset
+ if self.dataset:
+ _dict['dataset'] = self.dataset.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AbsoluteDateFilterAbsoluteDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "applyOnResult": obj.get("applyOnResult"),
+ "dataset": AfmObjectIdentifierDataset.from_dict(obj["dataset"]) if obj.get("dataset") is not None else None,
+ "emptyValueHandling": obj.get("emptyValueHandling") if obj.get("emptyValueHandling") is not None else 'EXCLUDE',
+ "from": obj.get("from"),
+ "localIdentifier": obj.get("localIdentifier"),
+ "to": obj.get("to")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/abstract_measure_value_filter.py b/gooddata-api-client/gooddata_api_client/models/abstract_measure_value_filter.py
new file mode 100644
index 000000000..c235da094
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/abstract_measure_value_filter.py
@@ -0,0 +1,171 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.comparison_measure_value_filter import ComparisonMeasureValueFilter
+from gooddata_api_client.models.compound_measure_value_filter import CompoundMeasureValueFilter
+from gooddata_api_client.models.range_measure_value_filter import RangeMeasureValueFilter
+from gooddata_api_client.models.ranking_filter import RankingFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ABSTRACTMEASUREVALUEFILTER_ONE_OF_SCHEMAS = ["ComparisonMeasureValueFilter", "CompoundMeasureValueFilter", "RangeMeasureValueFilter", "RankingFilter"]
+
+class AbstractMeasureValueFilter(BaseModel):
+ """
+ AbstractMeasureValueFilter
+ """
+ # data type: ComparisonMeasureValueFilter
+ oneof_schema_1_validator: Optional[ComparisonMeasureValueFilter] = None
+ # data type: RangeMeasureValueFilter
+ oneof_schema_2_validator: Optional[RangeMeasureValueFilter] = None
+ # data type: CompoundMeasureValueFilter
+ oneof_schema_3_validator: Optional[CompoundMeasureValueFilter] = None
+ # data type: RankingFilter
+ oneof_schema_4_validator: Optional[RankingFilter] = None
+ actual_instance: Optional[Union[ComparisonMeasureValueFilter, CompoundMeasureValueFilter, RangeMeasureValueFilter, RankingFilter]] = None
+ one_of_schemas: Set[str] = { "ComparisonMeasureValueFilter", "CompoundMeasureValueFilter", "RangeMeasureValueFilter", "RankingFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AbstractMeasureValueFilter.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: ComparisonMeasureValueFilter
+ if not isinstance(v, ComparisonMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ComparisonMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: RangeMeasureValueFilter
+ if not isinstance(v, RangeMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RangeMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: CompoundMeasureValueFilter
+ if not isinstance(v, CompoundMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CompoundMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: RankingFilter
+ if not isinstance(v, RankingFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RankingFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AbstractMeasureValueFilter with oneOf schemas: ComparisonMeasureValueFilter, CompoundMeasureValueFilter, RangeMeasureValueFilter, RankingFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into ComparisonMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = ComparisonMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RangeMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RangeMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into CompoundMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = CompoundMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RankingFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RankingFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AbstractMeasureValueFilter with oneOf schemas: ComparisonMeasureValueFilter, CompoundMeasureValueFilter, RangeMeasureValueFilter, RankingFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], ComparisonMeasureValueFilter, CompoundMeasureValueFilter, RangeMeasureValueFilter, RankingFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/active_object_identification.py b/gooddata-api-client/gooddata_api_client/models/active_object_identification.py
new file mode 100644
index 000000000..caeea2be9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/active_object_identification.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ActiveObjectIdentification(BaseModel):
+ """
+ Object, with which the user is actively working.
+ """ # noqa: E501
+ id: StrictStr = Field(description="Object ID.")
+ type: StrictStr = Field(description="Object type, e.g. dashboard.")
+ workspace_id: StrictStr = Field(description="Workspace ID.", alias="workspaceId")
+ __properties: ClassVar[List[str]] = ["id", "type", "workspaceId"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ActiveObjectIdentification from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ActiveObjectIdentification from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type"),
+ "workspaceId": obj.get("workspaceId")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/ad_hoc_automation.py b/gooddata-api-client/gooddata_api_client/models/ad_hoc_automation.py
new file mode 100644
index 000000000..1ca0ee297
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/ad_hoc_automation.py
@@ -0,0 +1,204 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.automation_alert import AutomationAlert
+from gooddata_api_client.models.automation_dashboard_tabular_export import AutomationDashboardTabularExport
+from gooddata_api_client.models.automation_external_recipient import AutomationExternalRecipient
+from gooddata_api_client.models.automation_image_export import AutomationImageExport
+from gooddata_api_client.models.automation_metadata import AutomationMetadata
+from gooddata_api_client.models.automation_raw_export import AutomationRawExport
+from gooddata_api_client.models.automation_slides_export import AutomationSlidesExport
+from gooddata_api_client.models.automation_tabular_export import AutomationTabularExport
+from gooddata_api_client.models.automation_visual_export import AutomationVisualExport
+from gooddata_api_client.models.declarative_analytical_dashboard_identifier import DeclarativeAnalyticalDashboardIdentifier
+from gooddata_api_client.models.declarative_notification_channel_identifier import DeclarativeNotificationChannelIdentifier
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AdHocAutomation(BaseModel):
+ """
+ AdHocAutomation
+ """ # noqa: E501
+ alert: Optional[AutomationAlert] = None
+ analytical_dashboard: Optional[DeclarativeAnalyticalDashboardIdentifier] = Field(default=None, alias="analyticalDashboard")
+ dashboard_tabular_exports: Optional[List[AutomationDashboardTabularExport]] = Field(default=None, alias="dashboardTabularExports")
+ description: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
+ details: Optional[Dict[str, Annotated[str, Field(strict=True, max_length=10000)]]] = Field(default=None, description="Additional details to be included in the automated message.")
+ external_recipients: Optional[List[AutomationExternalRecipient]] = Field(default=None, description="External recipients of the automation action results.", alias="externalRecipients")
+ image_exports: Optional[List[AutomationImageExport]] = Field(default=None, alias="imageExports")
+ metadata: Optional[AutomationMetadata] = None
+ notification_channel: Optional[DeclarativeNotificationChannelIdentifier] = Field(default=None, alias="notificationChannel")
+ raw_exports: Optional[List[AutomationRawExport]] = Field(default=None, alias="rawExports")
+ recipients: Optional[List[DeclarativeUserIdentifier]] = None
+ slides_exports: Optional[List[AutomationSlidesExport]] = Field(default=None, alias="slidesExports")
+ tabular_exports: Optional[List[AutomationTabularExport]] = Field(default=None, alias="tabularExports")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
+ visual_exports: Optional[List[AutomationVisualExport]] = Field(default=None, alias="visualExports")
+ __properties: ClassVar[List[str]] = ["alert", "analyticalDashboard", "dashboardTabularExports", "description", "details", "externalRecipients", "imageExports", "metadata", "notificationChannel", "rawExports", "recipients", "slidesExports", "tabularExports", "tags", "title", "visualExports"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AdHocAutomation from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of alert
+ if self.alert:
+ _dict['alert'] = self.alert.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of analytical_dashboard
+ if self.analytical_dashboard:
+ _dict['analyticalDashboard'] = self.analytical_dashboard.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboard_tabular_exports (list)
+ _items = []
+ if self.dashboard_tabular_exports:
+ for _item_dashboard_tabular_exports in self.dashboard_tabular_exports:
+ if _item_dashboard_tabular_exports:
+ _items.append(_item_dashboard_tabular_exports.to_dict())
+ _dict['dashboardTabularExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in external_recipients (list)
+ _items = []
+ if self.external_recipients:
+ for _item_external_recipients in self.external_recipients:
+ if _item_external_recipients:
+ _items.append(_item_external_recipients.to_dict())
+ _dict['externalRecipients'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in image_exports (list)
+ _items = []
+ if self.image_exports:
+ for _item_image_exports in self.image_exports:
+ if _item_image_exports:
+ _items.append(_item_image_exports.to_dict())
+ _dict['imageExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of metadata
+ if self.metadata:
+ _dict['metadata'] = self.metadata.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of notification_channel
+ if self.notification_channel:
+ _dict['notificationChannel'] = self.notification_channel.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in raw_exports (list)
+ _items = []
+ if self.raw_exports:
+ for _item_raw_exports in self.raw_exports:
+ if _item_raw_exports:
+ _items.append(_item_raw_exports.to_dict())
+ _dict['rawExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in recipients (list)
+ _items = []
+ if self.recipients:
+ for _item_recipients in self.recipients:
+ if _item_recipients:
+ _items.append(_item_recipients.to_dict())
+ _dict['recipients'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in slides_exports (list)
+ _items = []
+ if self.slides_exports:
+ for _item_slides_exports in self.slides_exports:
+ if _item_slides_exports:
+ _items.append(_item_slides_exports.to_dict())
+ _dict['slidesExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in tabular_exports (list)
+ _items = []
+ if self.tabular_exports:
+ for _item_tabular_exports in self.tabular_exports:
+ if _item_tabular_exports:
+ _items.append(_item_tabular_exports.to_dict())
+ _dict['tabularExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in visual_exports (list)
+ _items = []
+ if self.visual_exports:
+ for _item_visual_exports in self.visual_exports:
+ if _item_visual_exports:
+ _items.append(_item_visual_exports.to_dict())
+ _dict['visualExports'] = _items
+ # set to None if metadata (nullable) is None
+ # and model_fields_set contains the field
+ if self.metadata is None and "metadata" in self.model_fields_set:
+ _dict['metadata'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AdHocAutomation from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "alert": AutomationAlert.from_dict(obj["alert"]) if obj.get("alert") is not None else None,
+ "analyticalDashboard": DeclarativeAnalyticalDashboardIdentifier.from_dict(obj["analyticalDashboard"]) if obj.get("analyticalDashboard") is not None else None,
+ "dashboardTabularExports": [AutomationDashboardTabularExport.from_dict(_item) for _item in obj["dashboardTabularExports"]] if obj.get("dashboardTabularExports") is not None else None,
+ "description": obj.get("description"),
+ "details": obj.get("details"),
+ "externalRecipients": [AutomationExternalRecipient.from_dict(_item) for _item in obj["externalRecipients"]] if obj.get("externalRecipients") is not None else None,
+ "imageExports": [AutomationImageExport.from_dict(_item) for _item in obj["imageExports"]] if obj.get("imageExports") is not None else None,
+ "metadata": AutomationMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None,
+ "notificationChannel": DeclarativeNotificationChannelIdentifier.from_dict(obj["notificationChannel"]) if obj.get("notificationChannel") is not None else None,
+ "rawExports": [AutomationRawExport.from_dict(_item) for _item in obj["rawExports"]] if obj.get("rawExports") is not None else None,
+ "recipients": [DeclarativeUserIdentifier.from_dict(_item) for _item in obj["recipients"]] if obj.get("recipients") is not None else None,
+ "slidesExports": [AutomationSlidesExport.from_dict(_item) for _item in obj["slidesExports"]] if obj.get("slidesExports") is not None else None,
+ "tabularExports": [AutomationTabularExport.from_dict(_item) for _item in obj["tabularExports"]] if obj.get("tabularExports") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "visualExports": [AutomationVisualExport.from_dict(_item) for _item in obj["visualExports"]] if obj.get("visualExports") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm.py b/gooddata-api-client/gooddata_api_client/models/afm.py
new file mode 100644
index 000000000..effe34725
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm.py
@@ -0,0 +1,135 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.afm_filters_inner import AFMFiltersInner
+from gooddata_api_client.models.attribute_item import AttributeItem
+from gooddata_api_client.models.measure_item import MeasureItem
+from gooddata_api_client.models.metric_definition_override import MetricDefinitionOverride
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AFM(BaseModel):
+ """
+ Top level executable entity. Combination of [A]ttributes, [F]ilters & [M]etrics.
+ """ # noqa: E501
+ attributes: List[AttributeItem] = Field(description="Attributes to be used in the computation.")
+ aux_measures: Optional[List[MeasureItem]] = Field(default=None, description="Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.", alias="auxMeasures")
+ filters: List[AFMFiltersInner] = Field(description="Various filter types to filter the execution result.")
+ measure_definition_overrides: Optional[List[MetricDefinitionOverride]] = Field(default=None, description="(EXPERIMENTAL) Override definitions of catalog metrics for this request. Allows substituting a catalog metric's MAQL definition without modifying the stored definition.", alias="measureDefinitionOverrides")
+ measures: List[MeasureItem] = Field(description="Metrics to be computed.")
+ __properties: ClassVar[List[str]] = ["attributes", "auxMeasures", "filters", "measureDefinitionOverrides", "measures"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AFM from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in aux_measures (list)
+ _items = []
+ if self.aux_measures:
+ for _item_aux_measures in self.aux_measures:
+ if _item_aux_measures:
+ _items.append(_item_aux_measures.to_dict())
+ _dict['auxMeasures'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
+ _items = []
+ if self.filters:
+ for _item_filters in self.filters:
+ if _item_filters:
+ _items.append(_item_filters.to_dict())
+ _dict['filters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in measure_definition_overrides (list)
+ _items = []
+ if self.measure_definition_overrides:
+ for _item_measure_definition_overrides in self.measure_definition_overrides:
+ if _item_measure_definition_overrides:
+ _items.append(_item_measure_definition_overrides.to_dict())
+ _dict['measureDefinitionOverrides'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in measures (list)
+ _items = []
+ if self.measures:
+ for _item_measures in self.measures:
+ if _item_measures:
+ _items.append(_item_measures.to_dict())
+ _dict['measures'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AFM from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributes": [AttributeItem.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None,
+ "auxMeasures": [MeasureItem.from_dict(_item) for _item in obj["auxMeasures"]] if obj.get("auxMeasures") is not None else None,
+ "filters": [AFMFiltersInner.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
+ "measureDefinitionOverrides": [MetricDefinitionOverride.from_dict(_item) for _item in obj["measureDefinitionOverrides"]] if obj.get("measureDefinitionOverrides") is not None else None,
+ "measures": [MeasureItem.from_dict(_item) for _item in obj["measures"]] if obj.get("measures") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_cancel_tokens.py b/gooddata-api-client/gooddata_api_client/models/afm_cancel_tokens.py
new file mode 100644
index 000000000..172cece16
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_cancel_tokens.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmCancelTokens(BaseModel):
+ """
+ Any information related to cancellation.
+ """ # noqa: E501
+ result_id_to_cancel_token_pairs: Dict[str, StrictStr] = Field(description="resultId to cancel token pairs", alias="resultIdToCancelTokenPairs")
+ __properties: ClassVar[List[str]] = ["resultIdToCancelTokenPairs"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmCancelTokens from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmCancelTokens from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "resultIdToCancelTokenPairs": obj.get("resultIdToCancelTokenPairs")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_execution.py b/gooddata-api-client/gooddata_api_client/models/afm_execution.py
new file mode 100644
index 000000000..3ea1595b9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_execution.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.afm import AFM
+from gooddata_api_client.models.execution_settings import ExecutionSettings
+from gooddata_api_client.models.result_spec import ResultSpec
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmExecution(BaseModel):
+ """
+ AfmExecution
+ """ # noqa: E501
+ execution: AFM
+ result_spec: ResultSpec = Field(alias="resultSpec")
+ settings: Optional[ExecutionSettings] = None
+ __properties: ClassVar[List[str]] = ["execution", "resultSpec", "settings"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmExecution from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of execution
+ if self.execution:
+ _dict['execution'] = self.execution.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of result_spec
+ if self.result_spec:
+ _dict['resultSpec'] = self.result_spec.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of settings
+ if self.settings:
+ _dict['settings'] = self.settings.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmExecution from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "execution": AFM.from_dict(obj["execution"]) if obj.get("execution") is not None else None,
+ "resultSpec": ResultSpec.from_dict(obj["resultSpec"]) if obj.get("resultSpec") is not None else None,
+ "settings": ExecutionSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_execution_response.py b/gooddata-api-client/gooddata_api_client/models/afm_execution_response.py
new file mode 100644
index 000000000..6339b2cdd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_execution_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.execution_response import ExecutionResponse
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmExecutionResponse(BaseModel):
+ """
+ Response to AFM execution request
+ """ # noqa: E501
+ execution_response: ExecutionResponse = Field(alias="executionResponse")
+ __properties: ClassVar[List[str]] = ["executionResponse"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmExecutionResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of execution_response
+ if self.execution_response:
+ _dict['executionResponse'] = self.execution_response.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmExecutionResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "executionResponse": ExecutionResponse.from_dict(obj["executionResponse"]) if obj.get("executionResponse") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_filters_inner.py b/gooddata-api-client/gooddata_api_client/models/afm_filters_inner.py
new file mode 100644
index 000000000..57571b871
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_filters_inner.py
@@ -0,0 +1,156 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.abstract_measure_value_filter import AbstractMeasureValueFilter
+from gooddata_api_client.models.filter_definition_for_simple_measure import FilterDefinitionForSimpleMeasure
+from gooddata_api_client.models.inline_filter_definition import InlineFilterDefinition
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AFMFILTERSINNER_ONE_OF_SCHEMAS = ["AbstractMeasureValueFilter", "FilterDefinitionForSimpleMeasure", "InlineFilterDefinition"]
+
+class AFMFiltersInner(BaseModel):
+ """
+ AFMFiltersInner
+ """
+ # data type: AbstractMeasureValueFilter
+ oneof_schema_1_validator: Optional[AbstractMeasureValueFilter] = None
+ # data type: FilterDefinitionForSimpleMeasure
+ oneof_schema_2_validator: Optional[FilterDefinitionForSimpleMeasure] = None
+ # data type: InlineFilterDefinition
+ oneof_schema_3_validator: Optional[InlineFilterDefinition] = None
+ actual_instance: Optional[Union[AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition]] = None
+ one_of_schemas: Set[str] = { "AbstractMeasureValueFilter", "FilterDefinitionForSimpleMeasure", "InlineFilterDefinition" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AFMFiltersInner.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AbstractMeasureValueFilter
+ if not isinstance(v, AbstractMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AbstractMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: FilterDefinitionForSimpleMeasure
+ if not isinstance(v, FilterDefinitionForSimpleMeasure):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FilterDefinitionForSimpleMeasure`")
+ else:
+ match += 1
+ # validate data type: InlineFilterDefinition
+ if not isinstance(v, InlineFilterDefinition):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `InlineFilterDefinition`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AFMFiltersInner with oneOf schemas: AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AbstractMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AbstractMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into FilterDefinitionForSimpleMeasure
+ try:
+ if match == 0:
+ instance.actual_instance = FilterDefinitionForSimpleMeasure.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into InlineFilterDefinition
+ try:
+ if match == 0:
+ instance.actual_instance = InlineFilterDefinition.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AFMFiltersInner with oneOf schemas: AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_identifier.py
new file mode 100644
index 000000000..fa8cdd0ae
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_identifier.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.afm_local_identifier import AfmLocalIdentifier
+from gooddata_api_client.models.afm_object_identifier import AfmObjectIdentifier
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AFMIDENTIFIER_ONE_OF_SCHEMAS = ["AfmLocalIdentifier", "AfmObjectIdentifier"]
+
+class AfmIdentifier(BaseModel):
+ """
+ Reference to the attribute label to which the filter should be applied.
+ """
+ # data type: AfmObjectIdentifier
+ oneof_schema_1_validator: Optional[AfmObjectIdentifier] = None
+ # data type: AfmLocalIdentifier
+ oneof_schema_2_validator: Optional[AfmLocalIdentifier] = None
+ actual_instance: Optional[Union[AfmLocalIdentifier, AfmObjectIdentifier]] = None
+ one_of_schemas: Set[str] = { "AfmLocalIdentifier", "AfmObjectIdentifier" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AfmIdentifier.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AfmObjectIdentifier
+ if not isinstance(v, AfmObjectIdentifier):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AfmObjectIdentifier`")
+ else:
+ match += 1
+ # validate data type: AfmLocalIdentifier
+ if not isinstance(v, AfmLocalIdentifier):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AfmLocalIdentifier`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AfmIdentifier with oneOf schemas: AfmLocalIdentifier, AfmObjectIdentifier. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AfmObjectIdentifier
+ try:
+ if match == 0:
+ instance.actual_instance = AfmObjectIdentifier.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AfmLocalIdentifier
+ try:
+ if match == 0:
+ instance.actual_instance = AfmLocalIdentifier.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AfmIdentifier with oneOf schemas: AfmLocalIdentifier, AfmObjectIdentifier. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AfmLocalIdentifier, AfmObjectIdentifier]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_local_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_local_identifier.py
new file mode 100644
index 000000000..0a558d0d4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_local_identifier.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmLocalIdentifier(BaseModel):
+ """
+ AfmLocalIdentifier
+ """ # noqa: E501
+ local_identifier: Annotated[str, Field(strict=True)] = Field(alias="localIdentifier")
+ __properties: ClassVar[List[str]] = ["localIdentifier"]
+
+ @field_validator('local_identifier')
+ def local_identifier_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[.a-zA-Z0-9_-]+$", value):
+ raise ValueError(r"must validate the regular expression /^[.a-zA-Z0-9_-]+$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmLocalIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmLocalIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "localIdentifier": obj.get("localIdentifier")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier.py
new file mode 100644
index 000000000..ca9a3106d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_identifier import AfmObjectIdentifierIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifier(BaseModel):
+ """
+ ObjectIdentifier with `identifier` wrapper. This serves to distinguish MD object identifiers in AFM request from local identifiers.
+ """ # noqa: E501
+ identifier: AfmObjectIdentifierIdentifier
+ __properties: ClassVar[List[str]] = ["identifier"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": AfmObjectIdentifierIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute.py
new file mode 100644
index 000000000..1875d835d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_attribute_identifier import AfmObjectIdentifierAttributeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierAttribute(BaseModel):
+ """
+ Reference to the date attribute to use.
+ """ # noqa: E501
+ identifier: AfmObjectIdentifierAttributeIdentifier
+ __properties: ClassVar[List[str]] = ["identifier"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierAttribute from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierAttribute from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": AfmObjectIdentifierAttributeIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute_identifier.py
new file mode 100644
index 000000000..6af85f2ec
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_attribute_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierAttributeIdentifier(BaseModel):
+ """
+ AfmObjectIdentifierAttributeIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)]
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierAttributeIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierAttributeIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core.py
new file mode 100644
index 000000000..3a4397fe3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_core_identifier import AfmObjectIdentifierCoreIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierCore(BaseModel):
+ """
+ Reference to the metric, fact or attribute object to use for the metric.
+ """ # noqa: E501
+ identifier: AfmObjectIdentifierCoreIdentifier
+ __properties: ClassVar[List[str]] = ["identifier"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierCore from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierCore from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": AfmObjectIdentifierCoreIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core_identifier.py
new file mode 100644
index 000000000..2fb6ec41e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_core_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierCoreIdentifier(BaseModel):
+ """
+ AfmObjectIdentifierCoreIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)]
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute', 'label', 'fact', 'metric']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute', 'label', 'fact', 'metric')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierCoreIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierCoreIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset.py
new file mode 100644
index 000000000..0cda35c5d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_dataset_identifier import AfmObjectIdentifierDatasetIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierDataset(BaseModel):
+ """
+ Reference to the date dataset to which the filter should be applied.
+ """ # noqa: E501
+ identifier: AfmObjectIdentifierDatasetIdentifier
+ __properties: ClassVar[List[str]] = ["identifier"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierDataset from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierDataset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": AfmObjectIdentifierDatasetIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset_identifier.py
new file mode 100644
index 000000000..de39a03be
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_dataset_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierDatasetIdentifier(BaseModel):
+ """
+ AfmObjectIdentifierDatasetIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)]
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['dataset']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('dataset')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierDatasetIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierDatasetIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_identifier.py
new file mode 100644
index 000000000..70b4f1ada
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierIdentifier(BaseModel):
+ """
+ AfmObjectIdentifierIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)]
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['analyticalDashboard', 'attribute', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'prompt', 'visualizationObject', 'filterContext']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('analyticalDashboard', 'attribute', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'prompt', 'visualizationObject', 'filterContext')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label.py
new file mode 100644
index 000000000..6df69a95f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_label_identifier import AfmObjectIdentifierLabelIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierLabel(BaseModel):
+ """
+ AfmObjectIdentifierLabel
+ """ # noqa: E501
+ identifier: AfmObjectIdentifierLabelIdentifier
+ __properties: ClassVar[List[str]] = ["identifier"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierLabel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierLabel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": AfmObjectIdentifierLabelIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label_identifier.py b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label_identifier.py
new file mode 100644
index 000000000..babeb585a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_object_identifier_label_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmObjectIdentifierLabelIdentifier(BaseModel):
+ """
+ AfmObjectIdentifierLabelIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)]
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['label']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('label')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierLabelIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmObjectIdentifierLabelIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_query.py b/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_query.py
new file mode 100644
index 000000000..6ca770624
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_query.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_attribute import AfmObjectIdentifierAttribute
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmValidDescendantsQuery(BaseModel):
+ """
+ Entity describing the valid descendants request.
+ """ # noqa: E501
+ attributes: List[AfmObjectIdentifierAttribute] = Field(description="List of identifiers of the attributes to get the valid descendants for.")
+ __properties: ClassVar[List[str]] = ["attributes"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmValidDescendantsQuery from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmValidDescendantsQuery from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributes": [AfmObjectIdentifierAttribute.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_response.py b/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_response.py
new file mode 100644
index 000000000..3b9aefc83
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_valid_descendants_response.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_attribute import AfmObjectIdentifierAttribute
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmValidDescendantsResponse(BaseModel):
+ """
+ Entity describing the valid descendants response.
+ """ # noqa: E501
+ valid_descendants: Dict[str, List[AfmObjectIdentifierAttribute]] = Field(description="Map of attribute identifiers to list of valid descendants identifiers.", alias="validDescendants")
+ __properties: ClassVar[List[str]] = ["validDescendants"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmValidDescendantsResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in valid_descendants (dict of array)
+ _field_dict_of_array = {}
+ if self.valid_descendants:
+ for _key_valid_descendants in self.valid_descendants:
+ if self.valid_descendants[_key_valid_descendants] is not None:
+ _field_dict_of_array[_key_valid_descendants] = [
+ _item.to_dict() for _item in self.valid_descendants[_key_valid_descendants]
+ ]
+ _dict['validDescendants'] = _field_dict_of_array
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmValidDescendantsResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "validDescendants": dict(
+ (_k,
+ [AfmObjectIdentifierAttribute.from_dict(_item) for _item in _v]
+ if _v is not None
+ else None
+ )
+ for _k, _v in obj.get("validDescendants", {}).items()
+ )
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_query.py b/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_query.py
new file mode 100644
index 000000000..d6cd50913
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_query.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm import AFM
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmValidObjectsQuery(BaseModel):
+ """
+ Entity holding AFM and list of object types whose validity should be computed.
+ """ # noqa: E501
+ afm: AFM
+ types: List[StrictStr]
+ __properties: ClassVar[List[str]] = ["afm", "types"]
+
+ @field_validator('types')
+ def types_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['facts', 'attributes', 'measures']):
+ raise ValueError("each list item must be one of ('facts', 'attributes', 'measures')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmValidObjectsQuery from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of afm
+ if self.afm:
+ _dict['afm'] = self.afm.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmValidObjectsQuery from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "afm": AFM.from_dict(obj["afm"]) if obj.get("afm") is not None else None,
+ "types": obj.get("types")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_response.py b/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_response.py
new file mode 100644
index 000000000..382b556eb
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/afm_valid_objects_response.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.rest_api_identifier import RestApiIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AfmValidObjectsResponse(BaseModel):
+ """
+ All objects of specified types valid with respect to given AFM.
+ """ # noqa: E501
+ items: List[RestApiIdentifier]
+ __properties: ClassVar[List[str]] = ["items"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AfmValidObjectsResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in items (list)
+ _items = []
+ if self.items:
+ for _item_items in self.items:
+ if _item_items:
+ _items.append(_item_items.to_dict())
+ _dict['items'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AfmValidObjectsResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "items": [RestApiIdentifier.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/alert_afm.py b/gooddata-api-client/gooddata_api_client/models/alert_afm.py
new file mode 100644
index 000000000..42e3f52b7
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/alert_afm.py
@@ -0,0 +1,125 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.attribute_item import AttributeItem
+from gooddata_api_client.models.filter_definition import FilterDefinition
+from gooddata_api_client.models.measure_item import MeasureItem
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AlertAfm(BaseModel):
+ """
+ AlertAfm
+ """ # noqa: E501
+ attributes: Optional[List[AttributeItem]] = Field(default=None, description="Attributes to be used in the computation.")
+ aux_measures: Optional[List[MeasureItem]] = Field(default=None, description="Metrics to be referenced from other AFM objects (e.g. filters) but not included in the result.", alias="auxMeasures")
+ filters: List[FilterDefinition] = Field(description="Various filter types to filter execution result. For anomaly detection, exactly one dataset is specified in the condition. The AFM may contain multiple date filters for different datasets, but only the date filter matching the dataset from the condition is used for anomaly detection.")
+ measures: List[MeasureItem] = Field(description="Metrics to be computed. One metric if the alert condition is evaluated to a scalar. Two metrics when they should be evaluated to each other.")
+ __properties: ClassVar[List[str]] = ["attributes", "auxMeasures", "filters", "measures"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AlertAfm from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in aux_measures (list)
+ _items = []
+ if self.aux_measures:
+ for _item_aux_measures in self.aux_measures:
+ if _item_aux_measures:
+ _items.append(_item_aux_measures.to_dict())
+ _dict['auxMeasures'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
+ _items = []
+ if self.filters:
+ for _item_filters in self.filters:
+ if _item_filters:
+ _items.append(_item_filters.to_dict())
+ _dict['filters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in measures (list)
+ _items = []
+ if self.measures:
+ for _item_measures in self.measures:
+ if _item_measures:
+ _items.append(_item_measures.to_dict())
+ _dict['measures'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AlertAfm from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributes": [AttributeItem.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None,
+ "auxMeasures": [MeasureItem.from_dict(_item) for _item in obj["auxMeasures"]] if obj.get("auxMeasures") is not None else None,
+ "filters": [FilterDefinition.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
+ "measures": [MeasureItem.from_dict(_item) for _item in obj["measures"]] if obj.get("measures") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/alert_condition.py b/gooddata-api-client/gooddata_api_client/models/alert_condition.py
new file mode 100644
index 000000000..27d1e8db3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/alert_condition.py
@@ -0,0 +1,171 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.anomaly_detection_wrapper import AnomalyDetectionWrapper
+from gooddata_api_client.models.comparison_wrapper import ComparisonWrapper
+from gooddata_api_client.models.range_wrapper import RangeWrapper
+from gooddata_api_client.models.relative_wrapper import RelativeWrapper
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ALERTCONDITION_ONE_OF_SCHEMAS = ["AnomalyDetectionWrapper", "ComparisonWrapper", "RangeWrapper", "RelativeWrapper"]
+
+class AlertCondition(BaseModel):
+ """
+ Alert trigger condition.
+ """
+ # data type: ComparisonWrapper
+ oneof_schema_1_validator: Optional[ComparisonWrapper] = None
+ # data type: RangeWrapper
+ oneof_schema_2_validator: Optional[RangeWrapper] = None
+ # data type: RelativeWrapper
+ oneof_schema_3_validator: Optional[RelativeWrapper] = None
+ # data type: AnomalyDetectionWrapper
+ oneof_schema_4_validator: Optional[AnomalyDetectionWrapper] = None
+ actual_instance: Optional[Union[AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper]] = None
+ one_of_schemas: Set[str] = { "AnomalyDetectionWrapper", "ComparisonWrapper", "RangeWrapper", "RelativeWrapper" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AlertCondition.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: ComparisonWrapper
+ if not isinstance(v, ComparisonWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ComparisonWrapper`")
+ else:
+ match += 1
+ # validate data type: RangeWrapper
+ if not isinstance(v, RangeWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RangeWrapper`")
+ else:
+ match += 1
+ # validate data type: RelativeWrapper
+ if not isinstance(v, RelativeWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RelativeWrapper`")
+ else:
+ match += 1
+ # validate data type: AnomalyDetectionWrapper
+ if not isinstance(v, AnomalyDetectionWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AnomalyDetectionWrapper`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AlertCondition with oneOf schemas: AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into ComparisonWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = ComparisonWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RangeWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = RangeWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RelativeWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = RelativeWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AnomalyDetectionWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = AnomalyDetectionWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AlertCondition with oneOf schemas: AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/alert_condition_operand.py b/gooddata-api-client/gooddata_api_client/models/alert_condition_operand.py
new file mode 100644
index 000000000..da4761c27
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/alert_condition_operand.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.local_identifier import LocalIdentifier
+from gooddata_api_client.models.value import Value
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ALERTCONDITIONOPERAND_ONE_OF_SCHEMAS = ["LocalIdentifier", "Value"]
+
+class AlertConditionOperand(BaseModel):
+ """
+ Operand of the alert condition.
+ """
+ # data type: LocalIdentifier
+ oneof_schema_1_validator: Optional[LocalIdentifier] = None
+ # data type: Value
+ oneof_schema_2_validator: Optional[Value] = None
+ actual_instance: Optional[Union[LocalIdentifier, Value]] = None
+ one_of_schemas: Set[str] = { "LocalIdentifier", "Value" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AlertConditionOperand.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: LocalIdentifier
+ if not isinstance(v, LocalIdentifier):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `LocalIdentifier`")
+ else:
+ match += 1
+ # validate data type: Value
+ if not isinstance(v, Value):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `Value`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AlertConditionOperand with oneOf schemas: LocalIdentifier, Value. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into LocalIdentifier
+ try:
+ if match == 0:
+ instance.actual_instance = LocalIdentifier.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into Value
+ try:
+ if match == 0:
+ instance.actual_instance = Value.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AlertConditionOperand with oneOf schemas: LocalIdentifier, Value. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], LocalIdentifier, Value]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/alert_description.py b/gooddata-api-client/gooddata_api_client/models/alert_description.py
new file mode 100644
index 000000000..e58e6436d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/alert_description.py
@@ -0,0 +1,136 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from gooddata_api_client.models.alert_evaluation_row import AlertEvaluationRow
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AlertDescription(BaseModel):
+ """
+ AlertDescription
+ """ # noqa: E501
+ attribute: Optional[StrictStr] = None
+ condition: StrictStr
+ current_values: Optional[List[AlertEvaluationRow]] = Field(default=None, alias="currentValues")
+ error_message: Optional[StrictStr] = Field(default=None, alias="errorMessage")
+ formatted_threshold: Optional[StrictStr] = Field(default=None, alias="formattedThreshold")
+ lower_threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="lowerThreshold")
+ metric: StrictStr
+ remaining_alert_evaluation_count: Optional[StrictInt] = Field(default=None, alias="remainingAlertEvaluationCount")
+ status: Optional[StrictStr] = None
+ threshold: Optional[Union[StrictFloat, StrictInt]] = None
+ total_value_count: Optional[StrictInt] = Field(default=None, alias="totalValueCount")
+ trace_id: Optional[StrictStr] = Field(default=None, alias="traceId")
+ triggered_at: Optional[datetime] = Field(default=None, alias="triggeredAt")
+ triggered_count: Optional[StrictInt] = Field(default=None, alias="triggeredCount")
+ upper_threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="upperThreshold")
+ __properties: ClassVar[List[str]] = ["attribute", "condition", "currentValues", "errorMessage", "formattedThreshold", "lowerThreshold", "metric", "remainingAlertEvaluationCount", "status", "threshold", "totalValueCount", "traceId", "triggeredAt", "triggeredCount", "upperThreshold"]
+
+ @field_validator('status')
+ def status_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['SUCCESS', 'ERROR', 'INTERNAL_ERROR', 'TIMEOUT']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SUCCESS', 'ERROR', 'INTERNAL_ERROR', 'TIMEOUT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AlertDescription from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in current_values (list)
+ _items = []
+ if self.current_values:
+ for _item_current_values in self.current_values:
+ if _item_current_values:
+ _items.append(_item_current_values.to_dict())
+ _dict['currentValues'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AlertDescription from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute": obj.get("attribute"),
+ "condition": obj.get("condition"),
+ "currentValues": [AlertEvaluationRow.from_dict(_item) for _item in obj["currentValues"]] if obj.get("currentValues") is not None else None,
+ "errorMessage": obj.get("errorMessage"),
+ "formattedThreshold": obj.get("formattedThreshold"),
+ "lowerThreshold": obj.get("lowerThreshold"),
+ "metric": obj.get("metric"),
+ "remainingAlertEvaluationCount": obj.get("remainingAlertEvaluationCount"),
+ "status": obj.get("status"),
+ "threshold": obj.get("threshold"),
+ "totalValueCount": obj.get("totalValueCount"),
+ "traceId": obj.get("traceId"),
+ "triggeredAt": obj.get("triggeredAt"),
+ "triggeredCount": obj.get("triggeredCount"),
+ "upperThreshold": obj.get("upperThreshold")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/alert_evaluation_row.py b/gooddata-api-client/gooddata_api_client/models/alert_evaluation_row.py
new file mode 100644
index 000000000..25ec4900d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/alert_evaluation_row.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.metric_record import MetricRecord
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AlertEvaluationRow(BaseModel):
+ """
+ AlertEvaluationRow
+ """ # noqa: E501
+ computed_metric: Optional[MetricRecord] = Field(default=None, alias="computedMetric")
+ label_value: Optional[StrictStr] = Field(default=None, alias="labelValue")
+ primary_metric: Optional[MetricRecord] = Field(default=None, alias="primaryMetric")
+ secondary_metric: Optional[MetricRecord] = Field(default=None, alias="secondaryMetric")
+ __properties: ClassVar[List[str]] = ["computedMetric", "labelValue", "primaryMetric", "secondaryMetric"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AlertEvaluationRow from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of computed_metric
+ if self.computed_metric:
+ _dict['computedMetric'] = self.computed_metric.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of primary_metric
+ if self.primary_metric:
+ _dict['primaryMetric'] = self.primary_metric.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of secondary_metric
+ if self.secondary_metric:
+ _dict['secondaryMetric'] = self.secondary_metric.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AlertEvaluationRow from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "computedMetric": MetricRecord.from_dict(obj["computedMetric"]) if obj.get("computedMetric") is not None else None,
+ "labelValue": obj.get("labelValue"),
+ "primaryMetric": MetricRecord.from_dict(obj["primaryMetric"]) if obj.get("primaryMetric") is not None else None,
+ "secondaryMetric": MetricRecord.from_dict(obj["secondaryMetric"]) if obj.get("secondaryMetric") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/all_time_date_filter.py b/gooddata-api-client/gooddata_api_client/models/all_time_date_filter.py
new file mode 100644
index 000000000..d903052eb
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/all_time_date_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.all_time_date_filter_all_time_date_filter import AllTimeDateFilterAllTimeDateFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AllTimeDateFilter(BaseModel):
+ """
+ An all-time date filter that does not restrict by date range. Controls how rows with empty (null/missing) date values are handled.
+ """ # noqa: E501
+ all_time_date_filter: AllTimeDateFilterAllTimeDateFilter = Field(alias="allTimeDateFilter")
+ __properties: ClassVar[List[str]] = ["allTimeDateFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AllTimeDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of all_time_date_filter
+ if self.all_time_date_filter:
+ _dict['allTimeDateFilter'] = self.all_time_date_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AllTimeDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "allTimeDateFilter": AllTimeDateFilterAllTimeDateFilter.from_dict(obj["allTimeDateFilter"]) if obj.get("allTimeDateFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/all_time_date_filter_all_time_date_filter.py b/gooddata-api-client/gooddata_api_client/models/all_time_date_filter_all_time_date_filter.py
new file mode 100644
index 000000000..07b6ec077
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/all_time_date_filter_all_time_date_filter.py
@@ -0,0 +1,122 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.afm_object_identifier_dataset import AfmObjectIdentifierDataset
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AllTimeDateFilterAllTimeDateFilter(BaseModel):
+ """
+ AllTimeDateFilterAllTimeDateFilter
+ """ # noqa: E501
+ apply_on_result: Optional[StrictBool] = Field(default=None, alias="applyOnResult")
+ dataset: AfmObjectIdentifierDataset
+ empty_value_handling: Optional[StrictStr] = Field(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.", alias="emptyValueHandling")
+ granularity: Optional[StrictStr] = Field(default='DAY', description="Date granularity used to resolve the date attribute label for null value checks. Defaults to DAY if not specified.")
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ __properties: ClassVar[List[str]] = ["applyOnResult", "dataset", "emptyValueHandling", "granularity", "localIdentifier"]
+
+ @field_validator('empty_value_handling')
+ def empty_value_handling_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INCLUDE', 'EXCLUDE', 'ONLY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INCLUDE', 'EXCLUDE', 'ONLY')")
+ return value
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['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']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('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')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AllTimeDateFilterAllTimeDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of dataset
+ if self.dataset:
+ _dict['dataset'] = self.dataset.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AllTimeDateFilterAllTimeDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "applyOnResult": obj.get("applyOnResult"),
+ "dataset": AfmObjectIdentifierDataset.from_dict(obj["dataset"]) if obj.get("dataset") is not None else None,
+ "emptyValueHandling": obj.get("emptyValueHandling") if obj.get("emptyValueHandling") is not None else 'INCLUDE',
+ "granularity": obj.get("granularity") if obj.get("granularity") is not None else 'DAY',
+ "localIdentifier": obj.get("localIdentifier")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/allowed_relationship_type.py b/gooddata-api-client/gooddata_api_client/models/allowed_relationship_type.py
new file mode 100644
index 000000000..a954776ab
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/allowed_relationship_type.py
@@ -0,0 +1,108 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AllowedRelationshipType(BaseModel):
+ """
+ Allowed relationship type combination.
+ """ # noqa: E501
+ allow_orphans: Optional[StrictBool] = Field(default=True, description="If true, allows target objects that are not part of any relationship (orphans) to be included in results. If false, orphan target objects will be excluded even if they directly match the search query. Default is true (orphans are allowed).", alias="allowOrphans")
+ source_type: StrictStr = Field(description="Source object type (e.g., 'dashboard', 'visualization', 'metric').", alias="sourceType")
+ target_type: StrictStr = Field(description="Target object type (e.g., 'visualization', 'metric', 'attribute').", alias="targetType")
+ __properties: ClassVar[List[str]] = ["allowOrphans", "sourceType", "targetType"]
+
+ @field_validator('source_type')
+ def source_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard')")
+ return value
+
+ @field_validator('target_type')
+ def target_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AllowedRelationshipType from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AllowedRelationshipType from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "allowOrphans": obj.get("allowOrphans") if obj.get("allowOrphans") is not None else True,
+ "sourceType": obj.get("sourceType"),
+ "targetType": obj.get("targetType")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/analytics_catalog_created_by.py b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_created_by.py
new file mode 100644
index 000000000..bb8102961
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_created_by.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.analytics_catalog_user import AnalyticsCatalogUser
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnalyticsCatalogCreatedBy(BaseModel):
+ """
+ AnalyticsCatalogCreatedBy
+ """ # noqa: E501
+ reasoning: StrictStr = Field(description="Reasoning for error states")
+ users: List[AnalyticsCatalogUser] = Field(description="Users who created any object in the catalog")
+ __properties: ClassVar[List[str]] = ["reasoning", "users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogCreatedBy from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogCreatedBy from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "reasoning": obj.get("reasoning"),
+ "users": [AnalyticsCatalogUser.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/analytics_catalog_tags.py b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_tags.py
new file mode 100644
index 000000000..829650dff
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_tags.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnalyticsCatalogTags(BaseModel):
+ """
+ AnalyticsCatalogTags
+ """ # noqa: E501
+ tags: List[StrictStr]
+ __properties: ClassVar[List[str]] = ["tags"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogTags from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogTags from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "tags": obj.get("tags")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/analytics_catalog_user.py b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_user.py
new file mode 100644
index 000000000..1b776c6af
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/analytics_catalog_user.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnalyticsCatalogUser(BaseModel):
+ """
+ Users who created any object in the catalog
+ """ # noqa: E501
+ firstname: StrictStr = Field(description="First name of the user who created any objects")
+ lastname: StrictStr = Field(description="Last name of the user who created any objects")
+ user_id: StrictStr = Field(description="User ID of the user who created any objects", alias="userId")
+ __properties: ClassVar[List[str]] = ["firstname", "lastname", "userId"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogUser from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnalyticsCatalogUser from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "firstname": obj.get("firstname"),
+ "lastname": obj.get("lastname"),
+ "userId": obj.get("userId")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/anomaly_detection.py b/gooddata-api-client/gooddata_api_client/models/anomaly_detection.py
new file mode 100644
index 000000000..e8be21d24
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/anomaly_detection.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_object_identifier_dataset import AfmObjectIdentifierDataset
+from gooddata_api_client.models.local_identifier import LocalIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnomalyDetection(BaseModel):
+ """
+ AnomalyDetection
+ """ # noqa: E501
+ dataset: AfmObjectIdentifierDataset
+ granularity: StrictStr = Field(description="Date granularity for anomaly detection. Only time-based granularities are supported (HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).")
+ measure: LocalIdentifier
+ sensitivity: StrictStr = Field(description="Sensitivity level for anomaly detection")
+ __properties: ClassVar[List[str]] = ["dataset", "granularity", "measure", "sensitivity"]
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR')")
+ return value
+
+ @field_validator('sensitivity')
+ def sensitivity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['LOW', 'MEDIUM', 'HIGH']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('LOW', 'MEDIUM', 'HIGH')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnomalyDetection from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of dataset
+ if self.dataset:
+ _dict['dataset'] = self.dataset.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of measure
+ if self.measure:
+ _dict['measure'] = self.measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnomalyDetection from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataset": AfmObjectIdentifierDataset.from_dict(obj["dataset"]) if obj.get("dataset") is not None else None,
+ "granularity": obj.get("granularity"),
+ "measure": LocalIdentifier.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
+ "sensitivity": obj.get("sensitivity")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/anomaly_detection_config.py b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_config.py
new file mode 100644
index 000000000..6308933be
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_config.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnomalyDetectionConfig(BaseModel):
+ """
+ Anomaly detection configuration.
+ """ # noqa: E501
+ sensitivity: StrictStr = Field(description="Outlier sensitivity level.")
+ __properties: ClassVar[List[str]] = ["sensitivity"]
+
+ @field_validator('sensitivity')
+ def sensitivity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['LOW', 'MEDIUM', 'HIGH']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('LOW', 'MEDIUM', 'HIGH')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "sensitivity": obj.get("sensitivity")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/anomaly_detection_request.py b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_request.py
new file mode 100644
index 000000000..9e01b5b95
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_request.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
+from typing import Any, ClassVar, Dict, List, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnomalyDetectionRequest(BaseModel):
+ """
+ AnomalyDetectionRequest
+ """ # noqa: E501
+ sensitivity: Union[StrictFloat, StrictInt] = Field(description="Anomaly detection sensitivity.")
+ __properties: ClassVar[List[str]] = ["sensitivity"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "sensitivity": obj.get("sensitivity")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/anomaly_detection_result.py b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_result.py
new file mode 100644
index 000000000..89d96873a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_result.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnomalyDetectionResult(BaseModel):
+ """
+ AnomalyDetectionResult
+ """ # noqa: E501
+ anomaly_flag: List[Optional[StrictBool]] = Field(alias="anomalyFlag")
+ attribute: List[StrictStr]
+ values: List[Optional[Union[StrictFloat, StrictInt]]]
+ __properties: ClassVar[List[str]] = ["anomalyFlag", "attribute", "values"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "anomalyFlag": obj.get("anomalyFlag"),
+ "attribute": obj.get("attribute"),
+ "values": obj.get("values")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/anomaly_detection_wrapper.py b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_wrapper.py
new file mode 100644
index 000000000..d17e7ab24
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/anomaly_detection_wrapper.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.anomaly_detection import AnomalyDetection
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AnomalyDetectionWrapper(BaseModel):
+ """
+ AnomalyDetectionWrapper
+ """ # noqa: E501
+ anomaly: AnomalyDetection
+ __properties: ClassVar[List[str]] = ["anomaly"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionWrapper from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of anomaly
+ if self.anomaly:
+ _dict['anomaly'] = self.anomaly.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AnomalyDetectionWrapper from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "anomaly": AnomalyDetection.from_dict(obj["anomaly"]) if obj.get("anomaly") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/api_entitlement.py b/gooddata-api-client/gooddata_api_client/models/api_entitlement.py
new file mode 100644
index 000000000..384a83cf5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/api_entitlement.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import date
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ApiEntitlement(BaseModel):
+ """
+ ApiEntitlement
+ """ # noqa: E501
+ expiry: Optional[date] = None
+ name: StrictStr
+ value: Optional[StrictStr] = None
+ __properties: ClassVar[List[str]] = ["expiry", "name", "value"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['CacheStrategy', 'Contract', 'CustomTheming', 'ExtraCache', 'Hipaa', 'PdfExports', 'UiLocalization', 'Tier', 'UserCount', 'ManagedIdpUserCount', 'UnlimitedUsers', 'UnlimitedWorkspaces', 'WhiteLabeling', 'WorkspaceCount', 'UserTelemetryDisabled', 'AutomationCount', 'UnlimitedAutomations', 'AutomationRecipientCount', 'UnlimitedAutomationRecipients', 'DailyScheduledActionCount', 'UnlimitedDailyScheduledActions', 'DailyAlertActionCount', 'UnlimitedDailyAlertActions', 'ScheduledActionMinimumRecurrenceMinutes', 'FederatedIdentityManagement', 'AuditLogging', 'ControlledFeatureRollout', 'AiLake']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('CacheStrategy', 'Contract', 'CustomTheming', 'ExtraCache', 'Hipaa', 'PdfExports', 'UiLocalization', 'Tier', 'UserCount', 'ManagedIdpUserCount', 'UnlimitedUsers', 'UnlimitedWorkspaces', 'WhiteLabeling', 'WorkspaceCount', 'UserTelemetryDisabled', 'AutomationCount', 'UnlimitedAutomations', 'AutomationRecipientCount', 'UnlimitedAutomationRecipients', 'DailyScheduledActionCount', 'UnlimitedDailyScheduledActions', 'DailyAlertActionCount', 'UnlimitedDailyAlertActions', 'ScheduledActionMinimumRecurrenceMinutes', 'FederatedIdentityManagement', 'AuditLogging', 'ControlledFeatureRollout', 'AiLake')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ApiEntitlement from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ApiEntitlement from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "expiry": obj.get("expiry"),
+ "name": obj.get("name"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/arithmetic_measure.py b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure.py
new file mode 100644
index 000000000..4b5192f74
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure.py
@@ -0,0 +1,107 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.local_identifier import LocalIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ArithmeticMeasure(BaseModel):
+ """
+ ArithmeticMeasure
+ """ # noqa: E501
+ left: LocalIdentifier
+ operator: StrictStr = Field(description="Arithmetic operator. DIFFERENCE - m₁−m₂ - the difference between two metrics. CHANGE - (m₁−m₂)÷m₂ - the relative difference between two metrics. ")
+ right: LocalIdentifier
+ __properties: ClassVar[List[str]] = ["left", "operator", "right"]
+
+ @field_validator('operator')
+ def operator_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['DIFFERENCE', 'CHANGE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('DIFFERENCE', 'CHANGE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasure from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of left
+ if self.left:
+ _dict['left'] = self.left.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of right
+ if self.right:
+ _dict['right'] = self.right.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasure from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "left": LocalIdentifier.from_dict(obj["left"]) if obj.get("left") is not None else None,
+ "operator": obj.get("operator"),
+ "right": LocalIdentifier.from_dict(obj["right"]) if obj.get("right") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition.py b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition.py
new file mode 100644
index 000000000..419cb2c14
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.arithmetic_measure_definition_arithmetic_measure import ArithmeticMeasureDefinitionArithmeticMeasure
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ArithmeticMeasureDefinition(BaseModel):
+ """
+ Metric representing arithmetics between other metrics.
+ """ # noqa: E501
+ arithmetic_measure: ArithmeticMeasureDefinitionArithmeticMeasure = Field(alias="arithmeticMeasure")
+ __properties: ClassVar[List[str]] = ["arithmeticMeasure"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasureDefinition from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of arithmetic_measure
+ if self.arithmetic_measure:
+ _dict['arithmeticMeasure'] = self.arithmetic_measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasureDefinition from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "arithmeticMeasure": ArithmeticMeasureDefinitionArithmeticMeasure.from_dict(obj["arithmeticMeasure"]) if obj.get("arithmeticMeasure") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition_arithmetic_measure.py b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition_arithmetic_measure.py
new file mode 100644
index 000000000..317a7bca3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/arithmetic_measure_definition_arithmetic_measure.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.afm_local_identifier import AfmLocalIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ArithmeticMeasureDefinitionArithmeticMeasure(BaseModel):
+ """
+ ArithmeticMeasureDefinitionArithmeticMeasure
+ """ # noqa: E501
+ measure_identifiers: List[AfmLocalIdentifier] = Field(description="List of metrics to apply arithmetic operation by chosen operator.", alias="measureIdentifiers")
+ operator: StrictStr = Field(description="Arithmetic operator describing operation between metrics.")
+ __properties: ClassVar[List[str]] = ["measureIdentifiers", "operator"]
+
+ @field_validator('operator')
+ def operator_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SUM', 'DIFFERENCE', 'MULTIPLICATION', 'RATIO', 'CHANGE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SUM', 'DIFFERENCE', 'MULTIPLICATION', 'RATIO', 'CHANGE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasureDefinitionArithmeticMeasure from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in measure_identifiers (list)
+ _items = []
+ if self.measure_identifiers:
+ for _item_measure_identifiers in self.measure_identifiers:
+ if _item_measure_identifiers:
+ _items.append(_item_measure_identifiers.to_dict())
+ _dict['measureIdentifiers'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ArithmeticMeasureDefinitionArithmeticMeasure from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "measureIdentifiers": [AfmLocalIdentifier.from_dict(_item) for _item in obj["measureIdentifiers"]] if obj.get("measureIdentifiers") is not None else None,
+ "operator": obj.get("operator")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/assignee_identifier.py b/gooddata-api-client/gooddata_api_client/models/assignee_identifier.py
new file mode 100644
index 000000000..864080dbf
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/assignee_identifier.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AssigneeIdentifier(BaseModel):
+ """
+ Identifier of a user or user-group.
+ """ # noqa: E501
+ id: StrictStr
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['user', 'userGroup']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('user', 'userGroup')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AssigneeIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AssigneeIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/assignee_rule.py b/gooddata-api-client/gooddata_api_client/models/assignee_rule.py
new file mode 100644
index 000000000..7d77a6a79
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/assignee_rule.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AssigneeRule(BaseModel):
+ """
+ Identifier of an assignee rule.
+ """ # noqa: E501
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['allWorkspaceUsers']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('allWorkspaceUsers')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AssigneeRule from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AssigneeRule from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_elements.py b/gooddata-api-client/gooddata_api_client/models/attribute_elements.py
new file mode 100644
index 000000000..0af3b8213
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_elements.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.attribute_elements_by_ref import AttributeElementsByRef
+from gooddata_api_client.models.attribute_elements_by_value import AttributeElementsByValue
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ATTRIBUTEELEMENTS_ONE_OF_SCHEMAS = ["AttributeElementsByRef", "AttributeElementsByValue"]
+
+class AttributeElements(BaseModel):
+ """
+ AttributeElements
+ """
+ # data type: AttributeElementsByRef
+ oneof_schema_1_validator: Optional[AttributeElementsByRef] = None
+ # data type: AttributeElementsByValue
+ oneof_schema_2_validator: Optional[AttributeElementsByValue] = None
+ actual_instance: Optional[Union[AttributeElementsByRef, AttributeElementsByValue]] = None
+ one_of_schemas: Set[str] = { "AttributeElementsByRef", "AttributeElementsByValue" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AttributeElements.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AttributeElementsByRef
+ if not isinstance(v, AttributeElementsByRef):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeElementsByRef`")
+ else:
+ match += 1
+ # validate data type: AttributeElementsByValue
+ if not isinstance(v, AttributeElementsByValue):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeElementsByValue`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AttributeElements with oneOf schemas: AttributeElementsByRef, AttributeElementsByValue. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AttributeElementsByRef
+ try:
+ if match == 0:
+ instance.actual_instance = AttributeElementsByRef.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AttributeElementsByValue
+ try:
+ if match == 0:
+ instance.actual_instance = AttributeElementsByValue.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AttributeElements with oneOf schemas: AttributeElementsByRef, AttributeElementsByValue. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AttributeElementsByRef, AttributeElementsByValue]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_ref.py b/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_ref.py
new file mode 100644
index 000000000..6f4f6b35f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_ref.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeElementsByRef(BaseModel):
+ """
+ AttributeElementsByRef
+ """ # noqa: E501
+ uris: List[Optional[StrictStr]] = Field(description="List of attribute elements by reference")
+ __properties: ClassVar[List[str]] = ["uris"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeElementsByRef from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeElementsByRef from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "uris": obj.get("uris")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_value.py b/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_value.py
new file mode 100644
index 000000000..253315428
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_elements_by_value.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeElementsByValue(BaseModel):
+ """
+ AttributeElementsByValue
+ """ # noqa: E501
+ values: List[Optional[StrictStr]] = Field(description="List of attribute elements by value")
+ __properties: ClassVar[List[str]] = ["values"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeElementsByValue from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeElementsByValue from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "values": obj.get("values")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_execution_result_header.py b/gooddata-api-client/gooddata_api_client/models/attribute_execution_result_header.py
new file mode 100644
index 000000000..e12412392
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_execution_result_header.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.attribute_result_header import AttributeResultHeader
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeExecutionResultHeader(BaseModel):
+ """
+ AttributeExecutionResultHeader
+ """ # noqa: E501
+ attribute_header: AttributeResultHeader = Field(alias="attributeHeader")
+ __properties: ClassVar[List[str]] = ["attributeHeader"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeExecutionResultHeader from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute_header
+ if self.attribute_header:
+ _dict['attributeHeader'] = self.attribute_header.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeExecutionResultHeader from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributeHeader": AttributeResultHeader.from_dict(obj["attributeHeader"]) if obj.get("attributeHeader") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_filter.py b/gooddata-api-client/gooddata_api_client/models/attribute_filter.py
new file mode 100644
index 000000000..4cb99b8d4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_filter.py
@@ -0,0 +1,156 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.match_attribute_filter import MatchAttributeFilter
+from gooddata_api_client.models.negative_attribute_filter import NegativeAttributeFilter
+from gooddata_api_client.models.positive_attribute_filter import PositiveAttributeFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ATTRIBUTEFILTER_ONE_OF_SCHEMAS = ["MatchAttributeFilter", "NegativeAttributeFilter", "PositiveAttributeFilter"]
+
+class AttributeFilter(BaseModel):
+ """
+ Abstract filter definition type attributes
+ """
+ # data type: NegativeAttributeFilter
+ oneof_schema_1_validator: Optional[NegativeAttributeFilter] = None
+ # data type: PositiveAttributeFilter
+ oneof_schema_2_validator: Optional[PositiveAttributeFilter] = None
+ # data type: MatchAttributeFilter
+ oneof_schema_3_validator: Optional[MatchAttributeFilter] = None
+ actual_instance: Optional[Union[MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter]] = None
+ one_of_schemas: Set[str] = { "MatchAttributeFilter", "NegativeAttributeFilter", "PositiveAttributeFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AttributeFilter.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: NegativeAttributeFilter
+ if not isinstance(v, NegativeAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NegativeAttributeFilter`")
+ else:
+ match += 1
+ # validate data type: PositiveAttributeFilter
+ if not isinstance(v, PositiveAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `PositiveAttributeFilter`")
+ else:
+ match += 1
+ # validate data type: MatchAttributeFilter
+ if not isinstance(v, MatchAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `MatchAttributeFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AttributeFilter with oneOf schemas: MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into NegativeAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = NegativeAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into PositiveAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = PositiveAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into MatchAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = MatchAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AttributeFilter with oneOf schemas: MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_filter_by_date.py b/gooddata-api-client/gooddata_api_client/models/attribute_filter_by_date.py
new file mode 100644
index 000000000..419cd5d07
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_filter_by_date.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeFilterByDate(BaseModel):
+ """
+ AttributeFilterByDate
+ """ # noqa: E501
+ filter_local_identifier: StrictStr = Field(alias="filterLocalIdentifier")
+ is_common_date: StrictBool = Field(alias="isCommonDate")
+ __properties: ClassVar[List[str]] = ["filterLocalIdentifier", "isCommonDate"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeFilterByDate from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeFilterByDate from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filterLocalIdentifier": obj.get("filterLocalIdentifier"),
+ "isCommonDate": obj.get("isCommonDate")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_filter_elements.py b/gooddata-api-client/gooddata_api_client/models/attribute_filter_elements.py
new file mode 100644
index 000000000..581142358
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_filter_elements.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeFilterElements(BaseModel):
+ """
+ Filter on specific set of label values.
+ """ # noqa: E501
+ values: List[Optional[StrictStr]] = Field(description="Set of label values.")
+ __properties: ClassVar[List[str]] = ["values"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeFilterElements from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeFilterElements from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "values": obj.get("values")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_filter_parent.py b/gooddata-api-client/gooddata_api_client/models/attribute_filter_parent.py
new file mode 100644
index 000000000..5ffc3c63b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_filter_parent.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.over import Over
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeFilterParent(BaseModel):
+ """
+ AttributeFilterParent
+ """ # noqa: E501
+ filter_local_identifier: StrictStr = Field(alias="filterLocalIdentifier")
+ over: Over
+ __properties: ClassVar[List[str]] = ["filterLocalIdentifier", "over"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeFilterParent from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of over
+ if self.over:
+ _dict['over'] = self.over.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeFilterParent from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filterLocalIdentifier": obj.get("filterLocalIdentifier"),
+ "over": Over.from_dict(obj["over"]) if obj.get("over") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_format.py b/gooddata-api-client/gooddata_api_client/models/attribute_format.py
new file mode 100644
index 000000000..60a076528
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_format.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeFormat(BaseModel):
+ """
+ Attribute format describes formatting information to effectively format attribute values when needed.
+ """ # noqa: E501
+ locale: StrictStr = Field(description="Format locale code like 'en-US', 'cs-CZ', etc.")
+ pattern: StrictStr = Field(description="ICU formatting pattern like 'y', 'dd.MM.y', etc.")
+ timezone: Optional[StrictStr] = Field(default=None, description="Timezone for date formatting like 'America/New_York', 'Europe/Prague', etc.")
+ __properties: ClassVar[List[str]] = ["locale", "pattern", "timezone"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeFormat from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeFormat from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "locale": obj.get("locale"),
+ "pattern": obj.get("pattern"),
+ "timezone": obj.get("timezone")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_header.py b/gooddata-api-client/gooddata_api_client/models/attribute_header.py
new file mode 100644
index 000000000..6597f50b1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_header.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.attribute_header_attribute_header import AttributeHeaderAttributeHeader
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeHeader(BaseModel):
+ """
+ AttributeHeader
+ """ # noqa: E501
+ attribute_header: AttributeHeaderAttributeHeader = Field(alias="attributeHeader")
+ __properties: ClassVar[List[str]] = ["attributeHeader"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeHeader from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute_header
+ if self.attribute_header:
+ _dict['attributeHeader'] = self.attribute_header.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeHeader from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributeHeader": AttributeHeaderAttributeHeader.from_dict(obj["attributeHeader"]) if obj.get("attributeHeader") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_header_attribute_header.py b/gooddata-api-client/gooddata_api_client/models/attribute_header_attribute_header.py
new file mode 100644
index 000000000..afb959624
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_header_attribute_header.py
@@ -0,0 +1,154 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.attribute_format import AttributeFormat
+from gooddata_api_client.models.geo_area_config import GeoAreaConfig
+from gooddata_api_client.models.rest_api_identifier import RestApiIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeHeaderAttributeHeader(BaseModel):
+ """
+ AttributeHeaderAttributeHeader
+ """ # noqa: E501
+ attribute: RestApiIdentifier
+ attribute_name: StrictStr = Field(description="Attribute name.", alias="attributeName")
+ format: Optional[AttributeFormat] = None
+ geo_area_config: Optional[GeoAreaConfig] = Field(default=None, alias="geoAreaConfig")
+ granularity: Optional[StrictStr] = Field(default=None, description="Date granularity of the attribute, only filled for date attributes.")
+ label: RestApiIdentifier
+ label_name: StrictStr = Field(description="Label name.", alias="labelName")
+ local_identifier: Annotated[str, Field(strict=True)] = Field(description="Local identifier of the attribute this header relates to.", alias="localIdentifier")
+ primary_label: RestApiIdentifier = Field(alias="primaryLabel")
+ value_type: Optional[StrictStr] = Field(default=None, description="Attribute value type.", alias="valueType")
+ __properties: ClassVar[List[str]] = ["attribute", "attributeName", "format", "geoAreaConfig", "granularity", "label", "labelName", "localIdentifier", "primaryLabel", "valueType"]
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['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']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('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')")
+ return value
+
+ @field_validator('local_identifier')
+ def local_identifier_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[.a-zA-Z0-9_-]+$", value):
+ raise ValueError(r"must validate the regular expression /^[.a-zA-Z0-9_-]+$/")
+ return value
+
+ @field_validator('value_type')
+ def value_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeHeaderAttributeHeader from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute
+ if self.attribute:
+ _dict['attribute'] = self.attribute.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of format
+ if self.format:
+ _dict['format'] = self.format.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of geo_area_config
+ if self.geo_area_config:
+ _dict['geoAreaConfig'] = self.geo_area_config.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of label
+ if self.label:
+ _dict['label'] = self.label.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of primary_label
+ if self.primary_label:
+ _dict['primaryLabel'] = self.primary_label.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeHeaderAttributeHeader from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute": RestApiIdentifier.from_dict(obj["attribute"]) if obj.get("attribute") is not None else None,
+ "attributeName": obj.get("attributeName"),
+ "format": AttributeFormat.from_dict(obj["format"]) if obj.get("format") is not None else None,
+ "geoAreaConfig": GeoAreaConfig.from_dict(obj["geoAreaConfig"]) if obj.get("geoAreaConfig") is not None else None,
+ "granularity": obj.get("granularity"),
+ "label": RestApiIdentifier.from_dict(obj["label"]) if obj.get("label") is not None else None,
+ "labelName": obj.get("labelName"),
+ "localIdentifier": obj.get("localIdentifier"),
+ "primaryLabel": RestApiIdentifier.from_dict(obj["primaryLabel"]) if obj.get("primaryLabel") is not None else None,
+ "valueType": obj.get("valueType")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_item.py b/gooddata-api-client/gooddata_api_client/models/attribute_item.py
new file mode 100644
index 000000000..5c19557be
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_item.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.afm_object_identifier_label import AfmObjectIdentifierLabel
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeItem(BaseModel):
+ """
+ AttributeItem
+ """ # noqa: E501
+ label: AfmObjectIdentifierLabel
+ local_identifier: Annotated[str, Field(strict=True)] = Field(description="Local identifier of the attribute. This can be used to reference the attribute in other parts of the execution definition.", alias="localIdentifier")
+ show_all_values: Optional[StrictBool] = Field(default=False, description="Indicates whether to show all values of given attribute even if the data bound to those values is not available.", alias="showAllValues")
+ __properties: ClassVar[List[str]] = ["label", "localIdentifier", "showAllValues"]
+
+ @field_validator('local_identifier')
+ def local_identifier_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[.a-zA-Z0-9_-]+$", value):
+ raise ValueError(r"must validate the regular expression /^[.a-zA-Z0-9_-]+$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeItem from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of label
+ if self.label:
+ _dict['label'] = self.label.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeItem from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "label": AfmObjectIdentifierLabel.from_dict(obj["label"]) if obj.get("label") is not None else None,
+ "localIdentifier": obj.get("localIdentifier"),
+ "showAllValues": obj.get("showAllValues") if obj.get("showAllValues") is not None else False
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_negative_filter.py b/gooddata-api-client/gooddata_api_client/models/attribute_negative_filter.py
new file mode 100644
index 000000000..38f8b4dcf
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_negative_filter.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeNegativeFilter(BaseModel):
+ """
+ AttributeNegativeFilter
+ """ # noqa: E501
+ exclude: List[StrictStr]
+ using: StrictStr
+ __properties: ClassVar[List[str]] = ["exclude", "using"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeNegativeFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeNegativeFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "exclude": obj.get("exclude"),
+ "using": obj.get("using")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_positive_filter.py b/gooddata-api-client/gooddata_api_client/models/attribute_positive_filter.py
new file mode 100644
index 000000000..3712ac7fd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_positive_filter.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributePositiveFilter(BaseModel):
+ """
+ AttributePositiveFilter
+ """ # noqa: E501
+ include: List[StrictStr]
+ using: StrictStr
+ __properties: ClassVar[List[str]] = ["include", "using"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributePositiveFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributePositiveFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "include": obj.get("include"),
+ "using": obj.get("using")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/attribute_result_header.py b/gooddata-api-client/gooddata_api_client/models/attribute_result_header.py
new file mode 100644
index 000000000..f7690a90d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/attribute_result_header.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AttributeResultHeader(BaseModel):
+ """
+ Header containing the information related to attributes.
+ """ # noqa: E501
+ label_value: StrictStr = Field(description="A value of the current attribute label.", alias="labelValue")
+ primary_label_value: StrictStr = Field(description="A value of the primary attribute label.", alias="primaryLabelValue")
+ __properties: ClassVar[List[str]] = ["labelValue", "primaryLabelValue"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AttributeResultHeader from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AttributeResultHeader from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "labelValue": obj.get("labelValue"),
+ "primaryLabelValue": obj.get("primaryLabelValue")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_alert.py b/gooddata-api-client/gooddata_api_client/models/automation_alert.py
new file mode 100644
index 000000000..7dbb619f4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_alert.py
@@ -0,0 +1,124 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.alert_afm import AlertAfm
+from gooddata_api_client.models.automation_alert_condition import AutomationAlertCondition
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationAlert(BaseModel):
+ """
+ AutomationAlert
+ """ # noqa: E501
+ condition: AutomationAlertCondition
+ execution: AlertAfm
+ interval: Optional[StrictStr] = Field(default=None, description="Date granularity for the interval of ONCE_PER_INTERVAL trigger. Supported granularities: DAY, WEEK, MONTH, QUARTER, YEAR.")
+ trigger: Optional[StrictStr] = Field(default='ALWAYS', description="Trigger behavior for the alert. ALWAYS - alert is triggered every time the condition is met. ONCE - alert is triggered only once when the condition is met. ONCE_PER_INTERVAL - alert is triggered when the condition is met, then suppressed for the interval. If no interval is specified, it behaves as ALWAYS. ")
+ __properties: ClassVar[List[str]] = ["condition", "execution", "interval", "trigger"]
+
+ @field_validator('interval')
+ def interval_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR')")
+ return value
+
+ @field_validator('trigger')
+ def trigger_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ALWAYS', 'ONCE', 'ONCE_PER_INTERVAL']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ALWAYS', 'ONCE', 'ONCE_PER_INTERVAL')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationAlert from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of condition
+ if self.condition:
+ _dict['condition'] = self.condition.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of execution
+ if self.execution:
+ _dict['execution'] = self.execution.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationAlert from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "condition": AutomationAlertCondition.from_dict(obj["condition"]) if obj.get("condition") is not None else None,
+ "execution": AlertAfm.from_dict(obj["execution"]) if obj.get("execution") is not None else None,
+ "interval": obj.get("interval"),
+ "trigger": obj.get("trigger") if obj.get("trigger") is not None else 'ALWAYS'
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_alert_condition.py b/gooddata-api-client/gooddata_api_client/models/automation_alert_condition.py
new file mode 100644
index 000000000..e79b1e0ac
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_alert_condition.py
@@ -0,0 +1,171 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.anomaly_detection_wrapper import AnomalyDetectionWrapper
+from gooddata_api_client.models.comparison_wrapper import ComparisonWrapper
+from gooddata_api_client.models.range_wrapper import RangeWrapper
+from gooddata_api_client.models.relative_wrapper import RelativeWrapper
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AUTOMATIONALERTCONDITION_ONE_OF_SCHEMAS = ["AnomalyDetectionWrapper", "ComparisonWrapper", "RangeWrapper", "RelativeWrapper"]
+
+class AutomationAlertCondition(BaseModel):
+ """
+ AutomationAlertCondition
+ """
+ # data type: AnomalyDetectionWrapper
+ oneof_schema_1_validator: Optional[AnomalyDetectionWrapper] = None
+ # data type: ComparisonWrapper
+ oneof_schema_2_validator: Optional[ComparisonWrapper] = None
+ # data type: RangeWrapper
+ oneof_schema_3_validator: Optional[RangeWrapper] = None
+ # data type: RelativeWrapper
+ oneof_schema_4_validator: Optional[RelativeWrapper] = None
+ actual_instance: Optional[Union[AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper]] = None
+ one_of_schemas: Set[str] = { "AnomalyDetectionWrapper", "ComparisonWrapper", "RangeWrapper", "RelativeWrapper" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AutomationAlertCondition.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AnomalyDetectionWrapper
+ if not isinstance(v, AnomalyDetectionWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AnomalyDetectionWrapper`")
+ else:
+ match += 1
+ # validate data type: ComparisonWrapper
+ if not isinstance(v, ComparisonWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ComparisonWrapper`")
+ else:
+ match += 1
+ # validate data type: RangeWrapper
+ if not isinstance(v, RangeWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RangeWrapper`")
+ else:
+ match += 1
+ # validate data type: RelativeWrapper
+ if not isinstance(v, RelativeWrapper):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RelativeWrapper`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AutomationAlertCondition with oneOf schemas: AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AnomalyDetectionWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = AnomalyDetectionWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into ComparisonWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = ComparisonWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RangeWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = RangeWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RelativeWrapper
+ try:
+ if match == 0:
+ instance.actual_instance = RelativeWrapper.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AutomationAlertCondition with oneOf schemas: AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AnomalyDetectionWrapper, ComparisonWrapper, RangeWrapper, RelativeWrapper]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_dashboard_tabular_export.py b/gooddata-api-client/gooddata_api_client/models/automation_dashboard_tabular_export.py
new file mode 100644
index 000000000..3de74641c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_dashboard_tabular_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dashboard_tabular_export_request_v2 import DashboardTabularExportRequestV2
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationDashboardTabularExport(BaseModel):
+ """
+ AutomationDashboardTabularExport
+ """ # noqa: E501
+ request_payload: DashboardTabularExportRequestV2 = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationDashboardTabularExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationDashboardTabularExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": DashboardTabularExportRequestV2.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_external_recipient.py b/gooddata-api-client/gooddata_api_client/models/automation_external_recipient.py
new file mode 100644
index 000000000..d7122ab1b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_external_recipient.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationExternalRecipient(BaseModel):
+ """
+ AutomationExternalRecipient
+ """ # noqa: E501
+ email: StrictStr = Field(description="E-mail address to send notifications from.")
+ __properties: ClassVar[List[str]] = ["email"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationExternalRecipient from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationExternalRecipient from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "email": obj.get("email")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_image_export.py b/gooddata-api-client/gooddata_api_client/models/automation_image_export.py
new file mode 100644
index 000000000..b908ef88f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_image_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.image_export_request import ImageExportRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationImageExport(BaseModel):
+ """
+ AutomationImageExport
+ """ # noqa: E501
+ request_payload: ImageExportRequest = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationImageExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationImageExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": ImageExportRequest.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_metadata.py b/gooddata-api-client/gooddata_api_client/models/automation_metadata.py
new file mode 100644
index 000000000..1a9126482
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_metadata.py
@@ -0,0 +1,111 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.visible_filter import VisibleFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationMetadata(BaseModel):
+ """
+ Additional information for the automation.
+ """ # noqa: E501
+ visible_filters: Optional[List[VisibleFilter]] = Field(default=None, alias="visibleFilters")
+ widget: Optional[StrictStr] = None
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["visibleFilters", "widget"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationMetadata from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in visible_filters (list)
+ _items = []
+ if self.visible_filters:
+ for _item_visible_filters in self.visible_filters:
+ if _item_visible_filters:
+ _items.append(_item_visible_filters.to_dict())
+ _dict['visibleFilters'] = _items
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationMetadata from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "visibleFilters": [VisibleFilter.from_dict(_item) for _item in obj["visibleFilters"]] if obj.get("visibleFilters") is not None else None,
+ "widget": obj.get("widget")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_notification.py b/gooddata-api-client/gooddata_api_client/models/automation_notification.py
new file mode 100644
index 000000000..4e08d6f47
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_notification.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.notification_content import NotificationContent
+from gooddata_api_client.models.webhook_message import WebhookMessage
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationNotification(NotificationContent):
+ """
+ AutomationNotification
+ """ # noqa: E501
+ content: WebhookMessage
+ __properties: ClassVar[List[str]] = ["type", "content"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationNotification from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of content
+ if self.content:
+ _dict['content'] = self.content.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationNotification from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "type": obj.get("type"),
+ "content": WebhookMessage.from_dict(obj["content"]) if obj.get("content") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_raw_export.py b/gooddata-api-client/gooddata_api_client/models/automation_raw_export.py
new file mode 100644
index 000000000..b3aa533de
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_raw_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.raw_export_automation_request import RawExportAutomationRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationRawExport(BaseModel):
+ """
+ AutomationRawExport
+ """ # noqa: E501
+ request_payload: RawExportAutomationRequest = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationRawExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationRawExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": RawExportAutomationRequest.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_schedule.py b/gooddata-api-client/gooddata_api_client/models/automation_schedule.py
new file mode 100644
index 000000000..756f4a73a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_schedule.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationSchedule(BaseModel):
+ """
+ AutomationSchedule
+ """ # noqa: E501
+ cron: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Cron expression defining the schedule of the automation. The format is SECOND MINUTE HOUR DAY-OF-MONTH MONTH DAY-OF-WEEK (YEAR). The example expression signifies an action every 30 minutes from 9:00 to 17:00 on workdays.")
+ cron_description: Optional[StrictStr] = Field(default=None, description="Human-readable description of the cron expression.", alias="cronDescription")
+ first_run: Optional[datetime] = Field(default=None, description="Timestamp of the first scheduled action. If not provided default to the next scheduled time.", alias="firstRun")
+ timezone: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Timezone in which the schedule is defined.")
+ __properties: ClassVar[List[str]] = ["cron", "cronDescription", "firstRun", "timezone"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationSchedule from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * OpenAPI `readOnly` fields are excluded.
+ """
+ excluded_fields: Set[str] = set([
+ "cron_description",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationSchedule from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "cron": obj.get("cron"),
+ "cronDescription": obj.get("cronDescription"),
+ "firstRun": obj.get("firstRun"),
+ "timezone": obj.get("timezone")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_slides_export.py b/gooddata-api-client/gooddata_api_client/models/automation_slides_export.py
new file mode 100644
index 000000000..a53d65e04
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_slides_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.slides_export_request import SlidesExportRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationSlidesExport(BaseModel):
+ """
+ AutomationSlidesExport
+ """ # noqa: E501
+ request_payload: SlidesExportRequest = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationSlidesExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationSlidesExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": SlidesExportRequest.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_tabular_export.py b/gooddata-api-client/gooddata_api_client/models/automation_tabular_export.py
new file mode 100644
index 000000000..2bb6d699c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_tabular_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.tabular_export_request import TabularExportRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationTabularExport(BaseModel):
+ """
+ AutomationTabularExport
+ """ # noqa: E501
+ request_payload: TabularExportRequest = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationTabularExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationTabularExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": TabularExportRequest.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/automation_visual_export.py b/gooddata-api-client/gooddata_api_client/models/automation_visual_export.py
new file mode 100644
index 000000000..5cb93b0b5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/automation_visual_export.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.visual_export_request import VisualExportRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AutomationVisualExport(BaseModel):
+ """
+ AutomationVisualExport
+ """ # noqa: E501
+ request_payload: VisualExportRequest = Field(alias="requestPayload")
+ __properties: ClassVar[List[str]] = ["requestPayload"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AutomationVisualExport from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AutomationVisualExport from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "requestPayload": VisualExportRequest.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/available_assignees.py b/gooddata-api-client/gooddata_api_client/models/available_assignees.py
new file mode 100644
index 000000000..f9b072477
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/available_assignees.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.user_assignee import UserAssignee
+from gooddata_api_client.models.user_group_assignee import UserGroupAssignee
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AvailableAssignees(BaseModel):
+ """
+ AvailableAssignees
+ """ # noqa: E501
+ user_groups: List[UserGroupAssignee] = Field(description="List of user groups", alias="userGroups")
+ users: List[UserAssignee] = Field(description="List of users")
+ __properties: ClassVar[List[str]] = ["userGroups", "users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AvailableAssignees from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AvailableAssignees from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "userGroups": [UserGroupAssignee.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None,
+ "users": [UserAssignee.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aws_bedrock_access_key_auth.py b/gooddata-api-client/gooddata_api_client/models/aws_bedrock_access_key_auth.py
new file mode 100644
index 000000000..f58d8de8a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aws_bedrock_access_key_auth.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AwsBedrockAccessKeyAuth(BaseModel):
+ """
+ AwsBedrockAccessKeyAuth
+ """ # noqa: E501
+ access_key_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="AWS Access Key ID.", alias="accessKeyId")
+ secret_access_key: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="AWS Secret Access Key.", alias="secretAccessKey")
+ session_token: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="AWS Session Token (for temporary credentials).", alias="sessionToken")
+ type: StrictStr = Field(description="Authentication type.")
+ __properties: ClassVar[List[str]] = ["accessKeyId", "secretAccessKey", "sessionToken", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['ACCESS_KEY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ACCESS_KEY')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AwsBedrockAccessKeyAuth from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if access_key_id (nullable) is None
+ # and model_fields_set contains the field
+ if self.access_key_id is None and "access_key_id" in self.model_fields_set:
+ _dict['accessKeyId'] = None
+
+ # set to None if secret_access_key (nullable) is None
+ # and model_fields_set contains the field
+ if self.secret_access_key is None and "secret_access_key" in self.model_fields_set:
+ _dict['secretAccessKey'] = None
+
+ # set to None if session_token (nullable) is None
+ # and model_fields_set contains the field
+ if self.session_token is None and "session_token" in self.model_fields_set:
+ _dict['sessionToken'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AwsBedrockAccessKeyAuth from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "accessKeyId": obj.get("accessKeyId"),
+ "secretAccessKey": obj.get("secretAccessKey"),
+ "sessionToken": obj.get("sessionToken"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/aws_bedrock_provider_config.py b/gooddata-api-client/gooddata_api_client/models/aws_bedrock_provider_config.py
new file mode 100644
index 000000000..8f811ad7f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/aws_bedrock_provider_config.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from gooddata_api_client.models.bedrock_provider_auth import BedrockProviderAuth
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AwsBedrockProviderConfig(BaseModel):
+ """
+ Configuration for AWS Bedrock provider.
+ """ # noqa: E501
+ auth: BedrockProviderAuth
+ region: Annotated[str, Field(strict=True, max_length=255)] = Field(description="AWS region for Bedrock.")
+ type: StrictStr = Field(description="Provider type.")
+ __properties: ClassVar[List[str]] = ["auth", "region", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['AWS_BEDROCK']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('AWS_BEDROCK')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AwsBedrockProviderConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of auth
+ if self.auth:
+ _dict['auth'] = self.auth.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AwsBedrockProviderConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "auth": BedrockProviderAuth.from_dict(obj["auth"]) if obj.get("auth") is not None else None,
+ "region": obj.get("region"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/azure_foundry_api_key_auth.py b/gooddata-api-client/gooddata_api_client/models/azure_foundry_api_key_auth.py
new file mode 100644
index 000000000..bcc416bb4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/azure_foundry_api_key_auth.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AzureFoundryApiKeyAuth(BaseModel):
+ """
+ AzureFoundryApiKeyAuth
+ """ # noqa: E501
+ api_key: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Azure API key.", alias="apiKey")
+ type: StrictStr = Field(description="Authentication type.")
+ __properties: ClassVar[List[str]] = ["apiKey", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['API_KEY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('API_KEY')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AzureFoundryApiKeyAuth from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if api_key (nullable) is None
+ # and model_fields_set contains the field
+ if self.api_key is None and "api_key" in self.model_fields_set:
+ _dict['apiKey'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AzureFoundryApiKeyAuth from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "apiKey": obj.get("apiKey"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_auth.py b/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_auth.py
new file mode 100644
index 000000000..1205a15fe
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_auth.py
@@ -0,0 +1,126 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.azure_foundry_api_key_auth import AzureFoundryApiKeyAuth
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+AZUREFOUNDRYPROVIDERAUTH_ONE_OF_SCHEMAS = ["AzureFoundryApiKeyAuth"]
+
+class AzureFoundryProviderAuth(BaseModel):
+ """
+ Authentication configuration.
+ """
+ # data type: AzureFoundryApiKeyAuth
+ oneof_schema_1_validator: Optional[AzureFoundryApiKeyAuth] = None
+ actual_instance: Optional[Union[AzureFoundryApiKeyAuth]] = None
+ one_of_schemas: Set[str] = { "AzureFoundryApiKeyAuth" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = AzureFoundryProviderAuth.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AzureFoundryApiKeyAuth
+ if not isinstance(v, AzureFoundryApiKeyAuth):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AzureFoundryApiKeyAuth`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in AzureFoundryProviderAuth with oneOf schemas: AzureFoundryApiKeyAuth. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AzureFoundryApiKeyAuth
+ try:
+ if match == 0:
+ instance.actual_instance = AzureFoundryApiKeyAuth.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into AzureFoundryProviderAuth with oneOf schemas: AzureFoundryApiKeyAuth. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AzureFoundryApiKeyAuth]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_config.py b/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_config.py
new file mode 100644
index 000000000..b67871882
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/azure_foundry_provider_config.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from gooddata_api_client.models.azure_foundry_provider_auth import AzureFoundryProviderAuth
+from typing import Optional, Set
+from typing_extensions import Self
+
+class AzureFoundryProviderConfig(BaseModel):
+ """
+ Configuration for Azure Foundry provider.
+ """ # noqa: E501
+ auth: AzureFoundryProviderAuth
+ endpoint: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Azure AI inference endpoint URL.")
+ type: StrictStr = Field(description="Provider type.")
+ __properties: ClassVar[List[str]] = ["auth", "endpoint", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['AZURE_FOUNDRY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('AZURE_FOUNDRY')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of AzureFoundryProviderConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of auth
+ if self.auth:
+ _dict['auth'] = self.auth.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of AzureFoundryProviderConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "auth": AzureFoundryProviderAuth.from_dict(obj["auth"]) if obj.get("auth") is not None else None,
+ "endpoint": obj.get("endpoint"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/bedrock_provider_auth.py b/gooddata-api-client/gooddata_api_client/models/bedrock_provider_auth.py
new file mode 100644
index 000000000..43b869c51
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/bedrock_provider_auth.py
@@ -0,0 +1,126 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.aws_bedrock_access_key_auth import AwsBedrockAccessKeyAuth
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+BEDROCKPROVIDERAUTH_ONE_OF_SCHEMAS = ["AwsBedrockAccessKeyAuth"]
+
+class BedrockProviderAuth(BaseModel):
+ """
+ Authentication configuration.
+ """
+ # data type: AwsBedrockAccessKeyAuth
+ oneof_schema_1_validator: Optional[AwsBedrockAccessKeyAuth] = None
+ actual_instance: Optional[Union[AwsBedrockAccessKeyAuth]] = None
+ one_of_schemas: Set[str] = { "AwsBedrockAccessKeyAuth" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = BedrockProviderAuth.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AwsBedrockAccessKeyAuth
+ if not isinstance(v, AwsBedrockAccessKeyAuth):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AwsBedrockAccessKeyAuth`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in BedrockProviderAuth with oneOf schemas: AwsBedrockAccessKeyAuth. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AwsBedrockAccessKeyAuth
+ try:
+ if match == 0:
+ instance.actual_instance = AwsBedrockAccessKeyAuth.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into BedrockProviderAuth with oneOf schemas: AwsBedrockAccessKeyAuth. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AwsBedrockAccessKeyAuth]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/bounded_filter.py b/gooddata-api-client/gooddata_api_client/models/bounded_filter.py
new file mode 100644
index 000000000..a8062b69d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/bounded_filter.py
@@ -0,0 +1,110 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class BoundedFilter(BaseModel):
+ """
+ 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.
+ """ # noqa: E501
+ var_from: Optional[StrictInt] = Field(default=None, 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'). If null, then start of the range is unbounded.", alias="from")
+ granularity: StrictStr = Field(description="Date granularity specifying particular date attribute in given dimension.")
+ to: Optional[StrictInt] = Field(default=None, description="End of the filtering interval. Specified by number of periods (with respect to given granularity). Value 'O' is representing current time-interval (current day, week, ...). If null, then end of the range is unbounded.")
+ __properties: ClassVar[List[str]] = ["from", "granularity", "to"]
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['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']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('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')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of BoundedFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if var_from (nullable) is None
+ # and model_fields_set contains the field
+ if self.var_from is None and "var_from" in self.model_fields_set:
+ _dict['from'] = None
+
+ # set to None if to (nullable) is None
+ # and model_fields_set contains the field
+ if self.to is None and "to" in self.model_fields_set:
+ _dict['to'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of BoundedFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "from": obj.get("from"),
+ "granularity": obj.get("granularity"),
+ "to": obj.get("to")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/change_analysis_params.py b/gooddata-api-client/gooddata_api_client/models/change_analysis_params.py
new file mode 100644
index 000000000..102475afc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/change_analysis_params.py
@@ -0,0 +1,125 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.attribute_item import AttributeItem
+from gooddata_api_client.models.change_analysis_params_filters_inner import ChangeAnalysisParamsFiltersInner
+from gooddata_api_client.models.measure_item import MeasureItem
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChangeAnalysisParams(BaseModel):
+ """
+ Change analysis specification.
+ """ # noqa: E501
+ analyzed_period: StrictStr = Field(description="The analyzed time period", alias="analyzedPeriod")
+ attributes: List[AttributeItem] = Field(description="Attributes to analyze for significant changes")
+ date_attribute: AttributeItem = Field(alias="dateAttribute")
+ filters: List[ChangeAnalysisParamsFiltersInner] = Field(description="Optional filters to apply")
+ measure: MeasureItem
+ measure_title: StrictStr = Field(description="The title of the measure being analyzed", alias="measureTitle")
+ reference_period: StrictStr = Field(description="The reference time period", alias="referencePeriod")
+ use_smart_attribute_selection: StrictBool = Field(description="Whether to use smart attribute selection", alias="useSmartAttributeSelection")
+ __properties: ClassVar[List[str]] = ["analyzedPeriod", "attributes", "dateAttribute", "filters", "measure", "measureTitle", "referencePeriod", "useSmartAttributeSelection"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisParams from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of date_attribute
+ if self.date_attribute:
+ _dict['dateAttribute'] = self.date_attribute.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
+ _items = []
+ if self.filters:
+ for _item_filters in self.filters:
+ if _item_filters:
+ _items.append(_item_filters.to_dict())
+ _dict['filters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of measure
+ if self.measure:
+ _dict['measure'] = self.measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisParams from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analyzedPeriod": obj.get("analyzedPeriod"),
+ "attributes": [AttributeItem.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None,
+ "dateAttribute": AttributeItem.from_dict(obj["dateAttribute"]) if obj.get("dateAttribute") is not None else None,
+ "filters": [ChangeAnalysisParamsFiltersInner.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
+ "measure": MeasureItem.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
+ "measureTitle": obj.get("measureTitle"),
+ "referencePeriod": obj.get("referencePeriod"),
+ "useSmartAttributeSelection": obj.get("useSmartAttributeSelection")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/change_analysis_params_filters_inner.py b/gooddata-api-client/gooddata_api_client/models/change_analysis_params_filters_inner.py
new file mode 100644
index 000000000..c73b4ea9f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/change_analysis_params_filters_inner.py
@@ -0,0 +1,156 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.abstract_measure_value_filter import AbstractMeasureValueFilter
+from gooddata_api_client.models.filter_definition_for_simple_measure import FilterDefinitionForSimpleMeasure
+from gooddata_api_client.models.inline_filter_definition import InlineFilterDefinition
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+CHANGEANALYSISPARAMSFILTERSINNER_ONE_OF_SCHEMAS = ["AbstractMeasureValueFilter", "FilterDefinitionForSimpleMeasure", "InlineFilterDefinition"]
+
+class ChangeAnalysisParamsFiltersInner(BaseModel):
+ """
+ ChangeAnalysisParamsFiltersInner
+ """
+ # data type: AbstractMeasureValueFilter
+ oneof_schema_1_validator: Optional[AbstractMeasureValueFilter] = None
+ # data type: FilterDefinitionForSimpleMeasure
+ oneof_schema_2_validator: Optional[FilterDefinitionForSimpleMeasure] = None
+ # data type: InlineFilterDefinition
+ oneof_schema_3_validator: Optional[InlineFilterDefinition] = None
+ actual_instance: Optional[Union[AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition]] = None
+ one_of_schemas: Set[str] = { "AbstractMeasureValueFilter", "FilterDefinitionForSimpleMeasure", "InlineFilterDefinition" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = ChangeAnalysisParamsFiltersInner.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AbstractMeasureValueFilter
+ if not isinstance(v, AbstractMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AbstractMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: FilterDefinitionForSimpleMeasure
+ if not isinstance(v, FilterDefinitionForSimpleMeasure):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `FilterDefinitionForSimpleMeasure`")
+ else:
+ match += 1
+ # validate data type: InlineFilterDefinition
+ if not isinstance(v, InlineFilterDefinition):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `InlineFilterDefinition`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in ChangeAnalysisParamsFiltersInner with oneOf schemas: AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AbstractMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AbstractMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into FilterDefinitionForSimpleMeasure
+ try:
+ if match == 0:
+ instance.actual_instance = FilterDefinitionForSimpleMeasure.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into InlineFilterDefinition
+ try:
+ if match == 0:
+ instance.actual_instance = InlineFilterDefinition.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into ChangeAnalysisParamsFiltersInner with oneOf schemas: AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AbstractMeasureValueFilter, FilterDefinitionForSimpleMeasure, InlineFilterDefinition]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/change_analysis_request.py b/gooddata-api-client/gooddata_api_client/models/change_analysis_request.py
new file mode 100644
index 000000000..1e501c519
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/change_analysis_request.py
@@ -0,0 +1,136 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.attribute_item import AttributeItem
+from gooddata_api_client.models.change_analysis_params_filters_inner import ChangeAnalysisParamsFiltersInner
+from gooddata_api_client.models.measure_item import MeasureItem
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChangeAnalysisRequest(BaseModel):
+ """
+ Request for change analysis computation
+ """ # noqa: E501
+ analyzed_period: StrictStr = Field(description="The analyzed time period (e.g., '2025-02')", alias="analyzedPeriod")
+ attributes: Optional[List[AttributeItem]] = Field(default=None, description="Attributes to analyze for significant changes. If empty, valid attributes will be automatically discovered.")
+ aux_measures: Optional[List[MeasureItem]] = Field(default=None, description="Auxiliary measures", alias="auxMeasures")
+ date_attribute: AttributeItem = Field(alias="dateAttribute")
+ exclude_tags: Optional[List[StrictStr]] = Field(default=None, description="Exclude attributes with any of these tags. This filter applies to both auto-discovered and explicitly provided attributes.", alias="excludeTags")
+ filters: Optional[List[ChangeAnalysisParamsFiltersInner]] = Field(default=None, description="Optional filters to apply.")
+ include_tags: Optional[List[StrictStr]] = Field(default=None, description="Only include attributes with at least one of these tags. If empty, no inclusion filter is applied. This filter applies to both auto-discovered and explicitly provided attributes.", alias="includeTags")
+ measure: MeasureItem
+ reference_period: StrictStr = Field(description="The reference time period (e.g., '2025-01')", alias="referencePeriod")
+ use_smart_attribute_selection: Optional[StrictBool] = Field(default=False, description="Whether to use smart attribute selection (LLM-based) instead of discovering all valid attributes. If true, GenAI will intelligently select the most relevant attributes for change analysis. If false or not set, all valid attributes will be discovered using Calcique. Smart attribute selection applies only when no attributes are provided.", alias="useSmartAttributeSelection")
+ __properties: ClassVar[List[str]] = ["analyzedPeriod", "attributes", "auxMeasures", "dateAttribute", "excludeTags", "filters", "includeTags", "measure", "referencePeriod", "useSmartAttributeSelection"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in aux_measures (list)
+ _items = []
+ if self.aux_measures:
+ for _item_aux_measures in self.aux_measures:
+ if _item_aux_measures:
+ _items.append(_item_aux_measures.to_dict())
+ _dict['auxMeasures'] = _items
+ # override the default output from pydantic by calling `to_dict()` of date_attribute
+ if self.date_attribute:
+ _dict['dateAttribute'] = self.date_attribute.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
+ _items = []
+ if self.filters:
+ for _item_filters in self.filters:
+ if _item_filters:
+ _items.append(_item_filters.to_dict())
+ _dict['filters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of measure
+ if self.measure:
+ _dict['measure'] = self.measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analyzedPeriod": obj.get("analyzedPeriod"),
+ "attributes": [AttributeItem.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None,
+ "auxMeasures": [MeasureItem.from_dict(_item) for _item in obj["auxMeasures"]] if obj.get("auxMeasures") is not None else None,
+ "dateAttribute": AttributeItem.from_dict(obj["dateAttribute"]) if obj.get("dateAttribute") is not None else None,
+ "excludeTags": obj.get("excludeTags"),
+ "filters": [ChangeAnalysisParamsFiltersInner.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
+ "includeTags": obj.get("includeTags"),
+ "measure": MeasureItem.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
+ "referencePeriod": obj.get("referencePeriod"),
+ "useSmartAttributeSelection": obj.get("useSmartAttributeSelection") if obj.get("useSmartAttributeSelection") is not None else False
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/change_analysis_response.py b/gooddata-api-client/gooddata_api_client/models/change_analysis_response.py
new file mode 100644
index 000000000..6e7276af6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/change_analysis_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.execution_links import ExecutionLinks
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChangeAnalysisResponse(BaseModel):
+ """
+ Response for change analysis computation
+ """ # noqa: E501
+ links: ExecutionLinks
+ __properties: ClassVar[List[str]] = ["links"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of links
+ if self.links:
+ _dict['links'] = self.links.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "links": ExecutionLinks.from_dict(obj["links"]) if obj.get("links") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/change_analysis_result.py b/gooddata-api-client/gooddata_api_client/models/change_analysis_result.py
new file mode 100644
index 000000000..ec805de97
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/change_analysis_result.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.metric_value_change import MetricValueChange
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChangeAnalysisResult(BaseModel):
+ """
+ Result of a change analysis execution.
+ """ # noqa: E501
+ data: List[MetricValueChange] = Field(description="The change analysis result data containing significant changes.")
+ __properties: ClassVar[List[str]] = ["data"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in data (list)
+ _items = []
+ if self.data:
+ for _item_data in self.data:
+ if _item_data:
+ _items.append(_item_data.to_dict())
+ _dict['data'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChangeAnalysisResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data": [MetricValueChange.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_history_interaction.py b/gooddata-api-client/gooddata_api_client/models/chat_history_interaction.py
new file mode 100644
index 000000000..ea99ebb8e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_history_interaction.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.change_analysis_params import ChangeAnalysisParams
+from gooddata_api_client.models.created_visualizations import CreatedVisualizations
+from gooddata_api_client.models.found_objects import FoundObjects
+from gooddata_api_client.models.reasoning import Reasoning
+from gooddata_api_client.models.route_result import RouteResult
+from gooddata_api_client.models.search_result import SearchResult
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatHistoryInteraction(BaseModel):
+ """
+ List of chat history interactions.
+ """ # noqa: E501
+ change_analysis_params: Optional[ChangeAnalysisParams] = Field(default=None, alias="changeAnalysisParams")
+ chat_history_interaction_id: StrictStr = Field(description="Chat History interaction ID. Unique ID for each interaction.", alias="chatHistoryInteractionId")
+ created_visualizations: Optional[CreatedVisualizations] = Field(default=None, alias="createdVisualizations")
+ error_response: Optional[StrictStr] = Field(default=None, description="Error response in anything fails.", alias="errorResponse")
+ found_objects: Optional[FoundObjects] = Field(default=None, alias="foundObjects")
+ interaction_finished: StrictBool = Field(description="Has the interaction already finished? Can be used for polling when interaction is in progress.", alias="interactionFinished")
+ question: Annotated[str, Field(strict=True, max_length=2000)] = Field(description="User question")
+ reasoning: Optional[Reasoning] = None
+ routing: RouteResult
+ semantic_search: Optional[SearchResult] = Field(default=None, alias="semanticSearch")
+ text_response: Optional[StrictStr] = Field(default=None, description="Text response for general questions.", alias="textResponse")
+ thread_id_suffix: Optional[StrictStr] = Field(default=None, description="Chat History thread suffix appended to ID generated by backend. Enables more chat windows.", alias="threadIdSuffix")
+ user_feedback: Optional[StrictStr] = Field(default=None, description="User feedback.", alias="userFeedback")
+ __properties: ClassVar[List[str]] = ["changeAnalysisParams", "chatHistoryInteractionId", "createdVisualizations", "errorResponse", "foundObjects", "interactionFinished", "question", "reasoning", "routing", "semanticSearch", "textResponse", "threadIdSuffix", "userFeedback"]
+
+ @field_validator('user_feedback')
+ def user_feedback_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['POSITIVE', 'NEGATIVE', 'NONE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('POSITIVE', 'NEGATIVE', 'NONE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatHistoryInteraction from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of change_analysis_params
+ if self.change_analysis_params:
+ _dict['changeAnalysisParams'] = self.change_analysis_params.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_visualizations
+ if self.created_visualizations:
+ _dict['createdVisualizations'] = self.created_visualizations.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of found_objects
+ if self.found_objects:
+ _dict['foundObjects'] = self.found_objects.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of reasoning
+ if self.reasoning:
+ _dict['reasoning'] = self.reasoning.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of routing
+ if self.routing:
+ _dict['routing'] = self.routing.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of semantic_search
+ if self.semantic_search:
+ _dict['semanticSearch'] = self.semantic_search.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatHistoryInteraction from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "changeAnalysisParams": ChangeAnalysisParams.from_dict(obj["changeAnalysisParams"]) if obj.get("changeAnalysisParams") is not None else None,
+ "chatHistoryInteractionId": obj.get("chatHistoryInteractionId"),
+ "createdVisualizations": CreatedVisualizations.from_dict(obj["createdVisualizations"]) if obj.get("createdVisualizations") is not None else None,
+ "errorResponse": obj.get("errorResponse"),
+ "foundObjects": FoundObjects.from_dict(obj["foundObjects"]) if obj.get("foundObjects") is not None else None,
+ "interactionFinished": obj.get("interactionFinished"),
+ "question": obj.get("question"),
+ "reasoning": Reasoning.from_dict(obj["reasoning"]) if obj.get("reasoning") is not None else None,
+ "routing": RouteResult.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
+ "semanticSearch": SearchResult.from_dict(obj["semanticSearch"]) if obj.get("semanticSearch") is not None else None,
+ "textResponse": obj.get("textResponse"),
+ "threadIdSuffix": obj.get("threadIdSuffix"),
+ "userFeedback": obj.get("userFeedback")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_history_request.py b/gooddata-api-client/gooddata_api_client/models/chat_history_request.py
new file mode 100644
index 000000000..fcee4e00e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_history_request.py
@@ -0,0 +1,126 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.saved_visualization import SavedVisualization
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatHistoryRequest(BaseModel):
+ """
+ ChatHistoryRequest
+ """ # noqa: E501
+ chat_history_interaction_id: Optional[StrictStr] = Field(default=None, description="Return chat history records only after this interaction ID. If empty, complete chat history is returned.", alias="chatHistoryInteractionId")
+ reset: Optional[StrictBool] = Field(default=None, description="User feedback.")
+ response_state: Optional[StrictStr] = Field(default=None, description="Response state indicating the outcome of the AI interaction.", alias="responseState")
+ saved_visualization: Optional[SavedVisualization] = Field(default=None, alias="savedVisualization")
+ thread_id_suffix: Optional[StrictStr] = Field(default=None, description="Chat History thread suffix appended to ID generated by backend. Enables more chat windows.", alias="threadIdSuffix")
+ user_feedback: Optional[StrictStr] = Field(default=None, description="User feedback.", alias="userFeedback")
+ user_text_feedback: Optional[StrictStr] = Field(default=None, description="User text feedback for the interaction.", alias="userTextFeedback")
+ __properties: ClassVar[List[str]] = ["chatHistoryInteractionId", "reset", "responseState", "savedVisualization", "threadIdSuffix", "userFeedback", "userTextFeedback"]
+
+ @field_validator('response_state')
+ def response_state_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['SUCCESSFUL', 'UNEXPECTED_ERROR', 'NOT_FOUND_ATTRIBUTES', 'TOO_MANY_DATA_POINTS', 'NO_DATA', 'NO_RESULTS', 'OUT_OF_TOPIC']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SUCCESSFUL', 'UNEXPECTED_ERROR', 'NOT_FOUND_ATTRIBUTES', 'TOO_MANY_DATA_POINTS', 'NO_DATA', 'NO_RESULTS', 'OUT_OF_TOPIC')")
+ return value
+
+ @field_validator('user_feedback')
+ def user_feedback_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['POSITIVE', 'NEGATIVE', 'NONE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('POSITIVE', 'NEGATIVE', 'NONE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatHistoryRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of saved_visualization
+ if self.saved_visualization:
+ _dict['savedVisualization'] = self.saved_visualization.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatHistoryRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "chatHistoryInteractionId": obj.get("chatHistoryInteractionId"),
+ "reset": obj.get("reset"),
+ "responseState": obj.get("responseState"),
+ "savedVisualization": SavedVisualization.from_dict(obj["savedVisualization"]) if obj.get("savedVisualization") is not None else None,
+ "threadIdSuffix": obj.get("threadIdSuffix"),
+ "userFeedback": obj.get("userFeedback"),
+ "userTextFeedback": obj.get("userTextFeedback")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_history_result.py b/gooddata-api-client/gooddata_api_client/models/chat_history_result.py
new file mode 100644
index 000000000..94c62158d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_history_result.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.chat_history_interaction import ChatHistoryInteraction
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatHistoryResult(BaseModel):
+ """
+ ChatHistoryResult
+ """ # noqa: E501
+ interactions: List[ChatHistoryInteraction] = Field(description="List of chat history interactions.")
+ thread_id: StrictStr = Field(description="The conversation thread ID.", alias="threadId")
+ __properties: ClassVar[List[str]] = ["interactions", "threadId"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatHistoryResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in interactions (list)
+ _items = []
+ if self.interactions:
+ for _item_interactions in self.interactions:
+ if _item_interactions:
+ _items.append(_item_interactions.to_dict())
+ _dict['interactions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatHistoryResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "interactions": [ChatHistoryInteraction.from_dict(_item) for _item in obj["interactions"]] if obj.get("interactions") is not None else None,
+ "threadId": obj.get("threadId")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_request.py b/gooddata-api-client/gooddata_api_client/models/chat_request.py
new file mode 100644
index 000000000..2dde53a33
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_request.py
@@ -0,0 +1,134 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing_extensions import Annotated
+from gooddata_api_client.models.allowed_relationship_type import AllowedRelationshipType
+from gooddata_api_client.models.user_context import UserContext
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatRequest(BaseModel):
+ """
+ ChatRequest
+ """ # noqa: E501
+ allowed_relationship_types: Optional[List[AllowedRelationshipType]] = Field(default=None, description="Filter relationships and search results based on allowed relationship type combinations. When specified, only relationships matching the allowed types are returned (e.g. for view-only users).", alias="allowedRelationshipTypes")
+ include_hidden: Optional[StrictBool] = Field(default=False, description="If true, includes hidden objects in search and visualization building. If false (default), excludes objects where isHidden=true.", alias="includeHidden")
+ limit_create: Optional[StrictInt] = Field(default=3, description="Maximum number of created results.", alias="limitCreate")
+ limit_create_context: Optional[StrictInt] = Field(default=10, description="Maximum number of relevant objects included into context for LLM (for each object type).", alias="limitCreateContext")
+ limit_search: Optional[StrictInt] = Field(default=5, description="Maximum number of search results.", alias="limitSearch")
+ object_types: Optional[List[StrictStr]] = Field(default=None, description="List of object types to filter the search and visualization building. If empty or null, all object types are considered.", alias="objectTypes")
+ question: Annotated[str, Field(strict=True, max_length=2000)] = Field(description="User question")
+ relevant_score_threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=0.45, description="Score, above which we return found objects. Below this score objects are not relevant.", alias="relevantScoreThreshold")
+ search_score_threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=0.9, description="Score, above which we return found object(s) and don't call LLM to create new objects.", alias="searchScoreThreshold")
+ thread_id_suffix: Optional[StrictStr] = Field(default=None, description="Chat History thread suffix appended to ID generated by backend. Enables more chat windows.", alias="threadIdSuffix")
+ title_to_descriptor_ratio: Optional[Union[StrictFloat, StrictInt]] = Field(default=0.7, description="Temporary for experiments. Ratio of title score to descriptor score.", alias="titleToDescriptorRatio")
+ user_context: Optional[UserContext] = Field(default=None, alias="userContext")
+ __properties: ClassVar[List[str]] = ["allowedRelationshipTypes", "includeHidden", "limitCreate", "limitCreateContext", "limitSearch", "objectTypes", "question", "relevantScoreThreshold", "searchScoreThreshold", "threadIdSuffix", "titleToDescriptorRatio", "userContext"]
+
+ @field_validator('object_types')
+ def object_types_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ for i in value:
+ if i not in set(['attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard']):
+ raise ValueError("each list item must be one of ('attribute', 'metric', 'fact', 'label', 'date', 'dataset', 'visualization', 'dashboard')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in allowed_relationship_types (list)
+ _items = []
+ if self.allowed_relationship_types:
+ for _item_allowed_relationship_types in self.allowed_relationship_types:
+ if _item_allowed_relationship_types:
+ _items.append(_item_allowed_relationship_types.to_dict())
+ _dict['allowedRelationshipTypes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of user_context
+ if self.user_context:
+ _dict['userContext'] = self.user_context.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "allowedRelationshipTypes": [AllowedRelationshipType.from_dict(_item) for _item in obj["allowedRelationshipTypes"]] if obj.get("allowedRelationshipTypes") is not None else None,
+ "includeHidden": obj.get("includeHidden") if obj.get("includeHidden") is not None else False,
+ "limitCreate": obj.get("limitCreate") if obj.get("limitCreate") is not None else 3,
+ "limitCreateContext": obj.get("limitCreateContext") if obj.get("limitCreateContext") is not None else 10,
+ "limitSearch": obj.get("limitSearch") if obj.get("limitSearch") is not None else 5,
+ "objectTypes": obj.get("objectTypes"),
+ "question": obj.get("question"),
+ "relevantScoreThreshold": obj.get("relevantScoreThreshold") if obj.get("relevantScoreThreshold") is not None else 0.45,
+ "searchScoreThreshold": obj.get("searchScoreThreshold") if obj.get("searchScoreThreshold") is not None else 0.9,
+ "threadIdSuffix": obj.get("threadIdSuffix"),
+ "titleToDescriptorRatio": obj.get("titleToDescriptorRatio") if obj.get("titleToDescriptorRatio") is not None else 0.7,
+ "userContext": UserContext.from_dict(obj["userContext"]) if obj.get("userContext") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_result.py b/gooddata-api-client/gooddata_api_client/models/chat_result.py
new file mode 100644
index 000000000..2ebdd3715
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_result.py
@@ -0,0 +1,130 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.change_analysis_params import ChangeAnalysisParams
+from gooddata_api_client.models.created_visualizations import CreatedVisualizations
+from gooddata_api_client.models.found_objects import FoundObjects
+from gooddata_api_client.models.reasoning import Reasoning
+from gooddata_api_client.models.route_result import RouteResult
+from gooddata_api_client.models.search_result import SearchResult
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatResult(BaseModel):
+ """
+ ChatResult
+ """ # noqa: E501
+ change_analysis_params: Optional[ChangeAnalysisParams] = Field(default=None, alias="changeAnalysisParams")
+ chat_history_interaction_id: Optional[StrictStr] = Field(default=None, description="Chat History interaction ID. Unique ID for each interaction.", alias="chatHistoryInteractionId")
+ created_visualizations: Optional[CreatedVisualizations] = Field(default=None, alias="createdVisualizations")
+ error_response: Optional[StrictStr] = Field(default=None, description="Error response in anything fails.", alias="errorResponse")
+ found_objects: Optional[FoundObjects] = Field(default=None, alias="foundObjects")
+ reasoning: Optional[Reasoning] = None
+ routing: Optional[RouteResult] = None
+ semantic_search: Optional[SearchResult] = Field(default=None, alias="semanticSearch")
+ text_response: Optional[StrictStr] = Field(default=None, description="Text response for general questions.", alias="textResponse")
+ thread_id_suffix: Optional[StrictStr] = Field(default=None, description="Chat History thread suffix appended to ID generated by backend. Enables more chat windows.", alias="threadIdSuffix")
+ __properties: ClassVar[List[str]] = ["changeAnalysisParams", "chatHistoryInteractionId", "createdVisualizations", "errorResponse", "foundObjects", "reasoning", "routing", "semanticSearch", "textResponse", "threadIdSuffix"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of change_analysis_params
+ if self.change_analysis_params:
+ _dict['changeAnalysisParams'] = self.change_analysis_params.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_visualizations
+ if self.created_visualizations:
+ _dict['createdVisualizations'] = self.created_visualizations.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of found_objects
+ if self.found_objects:
+ _dict['foundObjects'] = self.found_objects.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of reasoning
+ if self.reasoning:
+ _dict['reasoning'] = self.reasoning.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of routing
+ if self.routing:
+ _dict['routing'] = self.routing.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of semantic_search
+ if self.semantic_search:
+ _dict['semanticSearch'] = self.semantic_search.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "changeAnalysisParams": ChangeAnalysisParams.from_dict(obj["changeAnalysisParams"]) if obj.get("changeAnalysisParams") is not None else None,
+ "chatHistoryInteractionId": obj.get("chatHistoryInteractionId"),
+ "createdVisualizations": CreatedVisualizations.from_dict(obj["createdVisualizations"]) if obj.get("createdVisualizations") is not None else None,
+ "errorResponse": obj.get("errorResponse"),
+ "foundObjects": FoundObjects.from_dict(obj["foundObjects"]) if obj.get("foundObjects") is not None else None,
+ "reasoning": Reasoning.from_dict(obj["reasoning"]) if obj.get("reasoning") is not None else None,
+ "routing": RouteResult.from_dict(obj["routing"]) if obj.get("routing") is not None else None,
+ "semanticSearch": SearchResult.from_dict(obj["semanticSearch"]) if obj.get("semanticSearch") is not None else None,
+ "textResponse": obj.get("textResponse"),
+ "threadIdSuffix": obj.get("threadIdSuffix")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/chat_usage_response.py b/gooddata-api-client/gooddata_api_client/models/chat_usage_response.py
new file mode 100644
index 000000000..c8e2e6e22
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/chat_usage_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ChatUsageResponse(BaseModel):
+ """
+ ChatUsageResponse
+ """ # noqa: E501
+ interaction_count: StrictInt = Field(description="Number of interactions in the time window", alias="interactionCount")
+ interaction_limit: StrictInt = Field(description="Maximum number of interactions in the time window any user can do in the workspace", alias="interactionLimit")
+ time_window_hours: StrictInt = Field(description="Time window in hours", alias="timeWindowHours")
+ __properties: ClassVar[List[str]] = ["interactionCount", "interactionLimit", "timeWindowHours"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ChatUsageResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ChatUsageResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "interactionCount": obj.get("interactionCount"),
+ "interactionLimit": obj.get("interactionLimit"),
+ "timeWindowHours": obj.get("timeWindowHours")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/clustering_config.py b/gooddata-api-client/gooddata_api_client/models/clustering_config.py
new file mode 100644
index 000000000..13e3641a8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/clustering_config.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
+from typing import Any, ClassVar, Dict, List, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ClusteringConfig(BaseModel):
+ """
+ Clustering configuration.
+ """ # noqa: E501
+ number_of_clusters: StrictInt = Field(description="Number of clusters to create", alias="numberOfClusters")
+ threshold: Union[StrictFloat, StrictInt] = Field(description="Clustering algorithm threshold")
+ __properties: ClassVar[List[str]] = ["numberOfClusters", "threshold"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ClusteringConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ClusteringConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "numberOfClusters": obj.get("numberOfClusters"),
+ "threshold": obj.get("threshold")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/clustering_request.py b/gooddata-api-client/gooddata_api_client/models/clustering_request.py
new file mode 100644
index 000000000..82e21441f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/clustering_request.py
@@ -0,0 +1,91 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ClusteringRequest(BaseModel):
+ """
+ ClusteringRequest
+ """ # noqa: E501
+ number_of_clusters: Annotated[int, Field(strict=True, ge=1)] = Field(description="Number of clusters to create", alias="numberOfClusters")
+ threshold: Optional[Union[Annotated[float, Field(strict=True, gt=0)], Annotated[int, Field(strict=True, gt=0)]]] = Field(default=0.03, description="Threshold used for algorithm")
+ __properties: ClassVar[List[str]] = ["numberOfClusters", "threshold"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ClusteringRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ClusteringRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "numberOfClusters": obj.get("numberOfClusters"),
+ "threshold": obj.get("threshold") if obj.get("threshold") is not None else 0.03
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/clustering_result.py b/gooddata-api-client/gooddata_api_client/models/clustering_result.py
new file mode 100644
index 000000000..546f87aae
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/clustering_result.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ClusteringResult(BaseModel):
+ """
+ ClusteringResult
+ """ # noqa: E501
+ attribute: List[Dict[str, Any]]
+ clusters: List[Optional[StrictInt]]
+ x_coord: Optional[List[Optional[Union[StrictFloat, StrictInt]]]] = Field(default=None, alias="xCoord")
+ xcoord: List[Union[StrictFloat, StrictInt]]
+ y_coord: Optional[List[Optional[Union[StrictFloat, StrictInt]]]] = Field(default=None, alias="yCoord")
+ ycoord: List[Union[StrictFloat, StrictInt]]
+ __properties: ClassVar[List[str]] = ["attribute", "clusters", "xCoord", "xcoord", "yCoord", "ycoord"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ClusteringResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ClusteringResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute": obj.get("attribute"),
+ "clusters": obj.get("clusters"),
+ "xCoord": obj.get("xCoord"),
+ "xcoord": obj.get("xcoord"),
+ "yCoord": obj.get("yCoord"),
+ "ycoord": obj.get("ycoord")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_override.py b/gooddata-api-client/gooddata_api_client/models/column_override.py
new file mode 100644
index 000000000..eafd31bc5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_override.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnOverride(BaseModel):
+ """
+ Table column override.
+ """ # noqa: E501
+ label_target_column: Optional[StrictStr] = Field(default=None, description="Specifies the attribute's column to which this label is associated.", alias="labelTargetColumn")
+ label_type: Optional[StrictStr] = Field(default=None, description="Label type for the target attribute.", alias="labelType")
+ ldm_type_override: Optional[StrictStr] = Field(default=None, description="Logical Data Model type for the column.", alias="ldmTypeOverride")
+ name: StrictStr = Field(description="Column name.")
+ __properties: ClassVar[List[str]] = ["labelTargetColumn", "labelType", "ldmTypeOverride", "name"]
+
+ @field_validator('label_type')
+ def label_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE')")
+ return value
+
+ @field_validator('ldm_type_override')
+ def ldm_type_override_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['FACT', 'LABEL']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('FACT', 'LABEL')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnOverride from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnOverride from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "labelTargetColumn": obj.get("labelTargetColumn"),
+ "labelType": obj.get("labelType"),
+ "ldmTypeOverride": obj.get("ldmTypeOverride"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_statistic.py b/gooddata-api-client/gooddata_api_client/models/column_statistic.py
new file mode 100644
index 000000000..ce03b4e09
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_statistic.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnStatistic(BaseModel):
+ """
+ ColumnStatistic
+ """ # noqa: E501
+ type: StrictStr
+ value: Optional[StrictStr] = None
+ __properties: ClassVar[List[str]] = ["type", "value"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['COUNT', 'COUNT_NULL', 'COUNT_UNIQUE', 'AVG', 'STDDEV', 'MIN', 'MAX', 'PERCENTILE_25', 'PERCENTILE_50', 'PERCENTILE_75']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('COUNT', 'COUNT_NULL', 'COUNT_UNIQUE', 'AVG', 'STDDEV', 'MIN', 'MAX', 'PERCENTILE_25', 'PERCENTILE_50', 'PERCENTILE_75')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnStatistic from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnStatistic from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "type": obj.get("type"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_statistic_warning.py b/gooddata-api-client/gooddata_api_client/models/column_statistic_warning.py
new file mode 100644
index 000000000..03bed3459
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_statistic_warning.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnStatisticWarning(BaseModel):
+ """
+ ColumnStatisticWarning
+ """ # noqa: E501
+ action: StrictStr
+ message: StrictStr
+ __properties: ClassVar[List[str]] = ["action", "message"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnStatisticWarning from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnStatisticWarning from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "action": obj.get("action"),
+ "message": obj.get("message")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_statistics_request.py b/gooddata-api-client/gooddata_api_client/models/column_statistics_request.py
new file mode 100644
index 000000000..f3e7f488c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_statistics_request.py
@@ -0,0 +1,119 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.column_statistics_request_from import ColumnStatisticsRequestFrom
+from gooddata_api_client.models.frequency_properties import FrequencyProperties
+from gooddata_api_client.models.histogram_properties import HistogramProperties
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnStatisticsRequest(BaseModel):
+ """
+ A request to retrieve statistics for a column.
+ """ # noqa: E501
+ column_name: StrictStr = Field(alias="columnName")
+ frequency: Optional[FrequencyProperties] = None
+ var_from: ColumnStatisticsRequestFrom = Field(alias="from")
+ histogram: Optional[HistogramProperties] = None
+ statistics: Optional[List[StrictStr]] = None
+ __properties: ClassVar[List[str]] = ["columnName", "frequency", "from", "histogram", "statistics"]
+
+ @field_validator('statistics')
+ def statistics_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ for i in value:
+ if i not in set(['COUNT', 'COUNT_NULL', 'COUNT_UNIQUE', 'AVG', 'STDDEV', 'MIN', 'MAX', 'PERCENTILE_25', 'PERCENTILE_50', 'PERCENTILE_75']):
+ raise ValueError("each list item must be one of ('COUNT', 'COUNT_NULL', 'COUNT_UNIQUE', 'AVG', 'STDDEV', 'MIN', 'MAX', 'PERCENTILE_25', 'PERCENTILE_50', 'PERCENTILE_75')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnStatisticsRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of frequency
+ if self.frequency:
+ _dict['frequency'] = self.frequency.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of var_from
+ if self.var_from:
+ _dict['from'] = self.var_from.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of histogram
+ if self.histogram:
+ _dict['histogram'] = self.histogram.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnStatisticsRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "columnName": obj.get("columnName"),
+ "frequency": FrequencyProperties.from_dict(obj["frequency"]) if obj.get("frequency") is not None else None,
+ "from": ColumnStatisticsRequestFrom.from_dict(obj["from"]) if obj.get("from") is not None else None,
+ "histogram": HistogramProperties.from_dict(obj["histogram"]) if obj.get("histogram") is not None else None,
+ "statistics": obj.get("statistics")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_statistics_request_from.py b/gooddata-api-client/gooddata_api_client/models/column_statistics_request_from.py
new file mode 100644
index 000000000..f149c035a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_statistics_request_from.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.sql_query import SqlQuery
+from gooddata_api_client.models.table import Table
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+COLUMNSTATISTICSREQUESTFROM_ONE_OF_SCHEMAS = ["SqlQuery", "Table"]
+
+class ColumnStatisticsRequestFrom(BaseModel):
+ """
+ ColumnStatisticsRequestFrom
+ """
+ # data type: SqlQuery
+ oneof_schema_1_validator: Optional[SqlQuery] = None
+ # data type: Table
+ oneof_schema_2_validator: Optional[Table] = None
+ actual_instance: Optional[Union[SqlQuery, Table]] = None
+ one_of_schemas: Set[str] = { "SqlQuery", "Table" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = ColumnStatisticsRequestFrom.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: SqlQuery
+ if not isinstance(v, SqlQuery):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `SqlQuery`")
+ else:
+ match += 1
+ # validate data type: Table
+ if not isinstance(v, Table):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `Table`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in ColumnStatisticsRequestFrom with oneOf schemas: SqlQuery, Table. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into SqlQuery
+ try:
+ if match == 0:
+ instance.actual_instance = SqlQuery.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into Table
+ try:
+ if match == 0:
+ instance.actual_instance = Table.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into ColumnStatisticsRequestFrom with oneOf schemas: SqlQuery, Table. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], SqlQuery, Table]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_statistics_response.py b/gooddata-api-client/gooddata_api_client/models/column_statistics_response.py
new file mode 100644
index 000000000..e0c1b122c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_statistics_response.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.column_statistic import ColumnStatistic
+from gooddata_api_client.models.column_statistic_warning import ColumnStatisticWarning
+from gooddata_api_client.models.frequency import Frequency
+from gooddata_api_client.models.histogram import Histogram
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnStatisticsResponse(BaseModel):
+ """
+ ColumnStatisticsResponse
+ """ # noqa: E501
+ frequency: Optional[Frequency] = None
+ histogram: Optional[Histogram] = None
+ statistics: Optional[List[ColumnStatistic]] = None
+ warnings: Optional[List[ColumnStatisticWarning]] = None
+ __properties: ClassVar[List[str]] = ["frequency", "histogram", "statistics", "warnings"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnStatisticsResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of frequency
+ if self.frequency:
+ _dict['frequency'] = self.frequency.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of histogram
+ if self.histogram:
+ _dict['histogram'] = self.histogram.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in statistics (list)
+ _items = []
+ if self.statistics:
+ for _item_statistics in self.statistics:
+ if _item_statistics:
+ _items.append(_item_statistics.to_dict())
+ _dict['statistics'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in warnings (list)
+ _items = []
+ if self.warnings:
+ for _item_warnings in self.warnings:
+ if _item_warnings:
+ _items.append(_item_warnings.to_dict())
+ _dict['warnings'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnStatisticsResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "frequency": Frequency.from_dict(obj["frequency"]) if obj.get("frequency") is not None else None,
+ "histogram": Histogram.from_dict(obj["histogram"]) if obj.get("histogram") is not None else None,
+ "statistics": [ColumnStatistic.from_dict(_item) for _item in obj["statistics"]] if obj.get("statistics") is not None else None,
+ "warnings": [ColumnStatisticWarning.from_dict(_item) for _item in obj["warnings"]] if obj.get("warnings") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/column_warning.py b/gooddata-api-client/gooddata_api_client/models/column_warning.py
new file mode 100644
index 000000000..3e6c6bb6f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/column_warning.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ColumnWarning(BaseModel):
+ """
+ Warning related to single column.
+ """ # noqa: E501
+ message: StrictStr = Field(description="Warning message related to the column.")
+ name: StrictStr = Field(description="Column name.")
+ __properties: ClassVar[List[str]] = ["message", "name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ColumnWarning from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ColumnWarning from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "message": obj.get("message"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison.py b/gooddata-api-client/gooddata_api_client/models/comparison.py
new file mode 100644
index 000000000..a60d0d265
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison.py
@@ -0,0 +1,108 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.alert_condition_operand import AlertConditionOperand
+from gooddata_api_client.models.local_identifier import LocalIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Comparison(BaseModel):
+ """
+ Comparison
+ """ # noqa: E501
+ left: LocalIdentifier
+ operator: StrictStr
+ right: AlertConditionOperand
+ __properties: ClassVar[List[str]] = ["left", "operator", "right"]
+
+ @field_validator('operator')
+ def operator_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Comparison from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of left
+ if self.left:
+ _dict['left'] = self.left.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of right
+ if self.right:
+ _dict['right'] = self.right.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Comparison from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "left": LocalIdentifier.from_dict(obj["left"]) if obj.get("left") is not None else None,
+ "operator": obj.get("operator"),
+ "right": AlertConditionOperand.from_dict(obj["right"]) if obj.get("right") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison_condition.py b/gooddata-api-client/gooddata_api_client/models/comparison_condition.py
new file mode 100644
index 000000000..6fbaf64b9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison_condition.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.comparison_condition_comparison import ComparisonConditionComparison
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ComparisonCondition(BaseModel):
+ """
+ Condition that compares the metric value to a given constant value using a comparison operator.
+ """ # noqa: E501
+ comparison: ComparisonConditionComparison
+ __properties: ClassVar[List[str]] = ["comparison"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ComparisonCondition from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of comparison
+ if self.comparison:
+ _dict['comparison'] = self.comparison.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ComparisonCondition from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "comparison": ComparisonConditionComparison.from_dict(obj["comparison"]) if obj.get("comparison") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison_condition_comparison.py b/gooddata-api-client/gooddata_api_client/models/comparison_condition_comparison.py
new file mode 100644
index 000000000..376dd6423
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison_condition_comparison.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ComparisonConditionComparison(BaseModel):
+ """
+ ComparisonConditionComparison
+ """ # noqa: E501
+ operator: StrictStr
+ value: Union[StrictFloat, StrictInt]
+ __properties: ClassVar[List[str]] = ["operator", "value"]
+
+ @field_validator('operator')
+ def operator_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ComparisonConditionComparison from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ComparisonConditionComparison from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "operator": obj.get("operator"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter.py b/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter.py
new file mode 100644
index 000000000..48a71fd73
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.comparison_measure_value_filter_comparison_measure_value_filter import ComparisonMeasureValueFilterComparisonMeasureValueFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ComparisonMeasureValueFilter(BaseModel):
+ """
+ Filter the result by comparing specified metric to given constant value, using given comparison operator.
+ """ # noqa: E501
+ comparison_measure_value_filter: ComparisonMeasureValueFilterComparisonMeasureValueFilter = Field(alias="comparisonMeasureValueFilter")
+ __properties: ClassVar[List[str]] = ["comparisonMeasureValueFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ComparisonMeasureValueFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of comparison_measure_value_filter
+ if self.comparison_measure_value_filter:
+ _dict['comparisonMeasureValueFilter'] = self.comparison_measure_value_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ComparisonMeasureValueFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "comparisonMeasureValueFilter": ComparisonMeasureValueFilterComparisonMeasureValueFilter.from_dict(obj["comparisonMeasureValueFilter"]) if obj.get("comparisonMeasureValueFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter_comparison_measure_value_filter.py b/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter_comparison_measure_value_filter.py
new file mode 100644
index 000000000..acd076649
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison_measure_value_filter_comparison_measure_value_filter.py
@@ -0,0 +1,119 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from gooddata_api_client.models.afm_identifier import AfmIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ComparisonMeasureValueFilterComparisonMeasureValueFilter(BaseModel):
+ """
+ ComparisonMeasureValueFilterComparisonMeasureValueFilter
+ """ # noqa: E501
+ apply_on_result: Optional[StrictBool] = Field(default=None, alias="applyOnResult")
+ dimensionality: Optional[List[AfmIdentifier]] = Field(default=None, description="References to the attributes to be used when filtering.")
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ measure: AfmIdentifier
+ operator: StrictStr
+ treat_null_values_as: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="A value that will be substituted for null values in the metric for the comparisons.", alias="treatNullValuesAs")
+ value: Union[StrictFloat, StrictInt]
+ __properties: ClassVar[List[str]] = ["applyOnResult", "dimensionality", "localIdentifier", "measure", "operator", "treatNullValuesAs", "value"]
+
+ @field_validator('operator')
+ def operator_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('GREATER_THAN', 'GREATER_THAN_OR_EQUAL_TO', 'LESS_THAN', 'LESS_THAN_OR_EQUAL_TO', 'EQUAL_TO', 'NOT_EQUAL_TO')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ComparisonMeasureValueFilterComparisonMeasureValueFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dimensionality (list)
+ _items = []
+ if self.dimensionality:
+ for _item_dimensionality in self.dimensionality:
+ if _item_dimensionality:
+ _items.append(_item_dimensionality.to_dict())
+ _dict['dimensionality'] = _items
+ # override the default output from pydantic by calling `to_dict()` of measure
+ if self.measure:
+ _dict['measure'] = self.measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ComparisonMeasureValueFilterComparisonMeasureValueFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "applyOnResult": obj.get("applyOnResult"),
+ "dimensionality": [AfmIdentifier.from_dict(_item) for _item in obj["dimensionality"]] if obj.get("dimensionality") is not None else None,
+ "localIdentifier": obj.get("localIdentifier"),
+ "measure": AfmIdentifier.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
+ "operator": obj.get("operator"),
+ "treatNullValuesAs": obj.get("treatNullValuesAs"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/comparison_wrapper.py b/gooddata-api-client/gooddata_api_client/models/comparison_wrapper.py
new file mode 100644
index 000000000..d6aa08396
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/comparison_wrapper.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.comparison import Comparison
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ComparisonWrapper(BaseModel):
+ """
+ ComparisonWrapper
+ """ # noqa: E501
+ comparison: Comparison
+ __properties: ClassVar[List[str]] = ["comparison"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ComparisonWrapper from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of comparison
+ if self.comparison:
+ _dict['comparison'] = self.comparison.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ComparisonWrapper from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "comparison": Comparison.from_dict(obj["comparison"]) if obj.get("comparison") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter.py b/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter.py
new file mode 100644
index 000000000..dbc8734be
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.compound_measure_value_filter_compound_measure_value_filter import CompoundMeasureValueFilterCompoundMeasureValueFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CompoundMeasureValueFilter(BaseModel):
+ """
+ Filter the result by applying multiple comparison and/or range conditions combined with OR logic. If conditions list is empty, no filtering is applied (all rows are returned).
+ """ # noqa: E501
+ compound_measure_value_filter: CompoundMeasureValueFilterCompoundMeasureValueFilter = Field(alias="compoundMeasureValueFilter")
+ __properties: ClassVar[List[str]] = ["compoundMeasureValueFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CompoundMeasureValueFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of compound_measure_value_filter
+ if self.compound_measure_value_filter:
+ _dict['compoundMeasureValueFilter'] = self.compound_measure_value_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CompoundMeasureValueFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "compoundMeasureValueFilter": CompoundMeasureValueFilterCompoundMeasureValueFilter.from_dict(obj["compoundMeasureValueFilter"]) if obj.get("compoundMeasureValueFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter_compound_measure_value_filter.py b/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter_compound_measure_value_filter.py
new file mode 100644
index 000000000..5ffcf198b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/compound_measure_value_filter_compound_measure_value_filter.py
@@ -0,0 +1,117 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from gooddata_api_client.models.afm_identifier import AfmIdentifier
+from gooddata_api_client.models.measure_value_condition import MeasureValueCondition
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CompoundMeasureValueFilterCompoundMeasureValueFilter(BaseModel):
+ """
+ CompoundMeasureValueFilterCompoundMeasureValueFilter
+ """ # noqa: E501
+ apply_on_result: Optional[StrictBool] = Field(default=None, alias="applyOnResult")
+ conditions: List[MeasureValueCondition] = Field(description="List of conditions to apply. Conditions are combined with OR logic. Each condition can be either a comparison (e.g., > 100) or a range (e.g., BETWEEN 10 AND 50). If empty, no filtering is applied and all rows are returned.")
+ dimensionality: Optional[List[AfmIdentifier]] = Field(default=None, description="References to the attributes to be used when filtering.")
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ measure: AfmIdentifier
+ treat_null_values_as: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="A value that will be substituted for null values in the metric for the comparisons.", alias="treatNullValuesAs")
+ __properties: ClassVar[List[str]] = ["applyOnResult", "conditions", "dimensionality", "localIdentifier", "measure", "treatNullValuesAs"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CompoundMeasureValueFilterCompoundMeasureValueFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in conditions (list)
+ _items = []
+ if self.conditions:
+ for _item_conditions in self.conditions:
+ if _item_conditions:
+ _items.append(_item_conditions.to_dict())
+ _dict['conditions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in dimensionality (list)
+ _items = []
+ if self.dimensionality:
+ for _item_dimensionality in self.dimensionality:
+ if _item_dimensionality:
+ _items.append(_item_dimensionality.to_dict())
+ _dict['dimensionality'] = _items
+ # override the default output from pydantic by calling `to_dict()` of measure
+ if self.measure:
+ _dict['measure'] = self.measure.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CompoundMeasureValueFilterCompoundMeasureValueFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "applyOnResult": obj.get("applyOnResult"),
+ "conditions": [MeasureValueCondition.from_dict(_item) for _item in obj["conditions"]] if obj.get("conditions") is not None else None,
+ "dimensionality": [AfmIdentifier.from_dict(_item) for _item in obj["dimensionality"]] if obj.get("dimensionality") is not None else None,
+ "localIdentifier": obj.get("localIdentifier"),
+ "measure": AfmIdentifier.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
+ "treatNullValuesAs": obj.get("treatNullValuesAs")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/content_slide_template.py b/gooddata-api-client/gooddata_api_client/models/content_slide_template.py
new file mode 100644
index 000000000..ee6e45ae5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/content_slide_template.py
@@ -0,0 +1,114 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.running_section import RunningSection
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ContentSlideTemplate(BaseModel):
+ """
+ Settings for content slide.
+ """ # noqa: E501
+ description_field: Optional[StrictStr] = Field(default=None, alias="descriptionField")
+ footer: Optional[RunningSection] = None
+ header: Optional[RunningSection] = None
+ __properties: ClassVar[List[str]] = ["descriptionField", "footer", "header"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ContentSlideTemplate from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of footer
+ if self.footer:
+ _dict['footer'] = self.footer.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of header
+ if self.header:
+ _dict['header'] = self.header.to_dict()
+ # set to None if description_field (nullable) is None
+ # and model_fields_set contains the field
+ if self.description_field is None and "description_field" in self.model_fields_set:
+ _dict['descriptionField'] = None
+
+ # set to None if footer (nullable) is None
+ # and model_fields_set contains the field
+ if self.footer is None and "footer" in self.model_fields_set:
+ _dict['footer'] = None
+
+ # set to None if header (nullable) is None
+ # and model_fields_set contains the field
+ if self.header is None and "header" in self.model_fields_set:
+ _dict['header'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ContentSlideTemplate from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "descriptionField": obj.get("descriptionField"),
+ "footer": RunningSection.from_dict(obj["footer"]) if obj.get("footer") is not None else None,
+ "header": RunningSection.from_dict(obj["header"]) if obj.get("header") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/cover_slide_template.py b/gooddata-api-client/gooddata_api_client/models/cover_slide_template.py
new file mode 100644
index 000000000..2af866d56
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/cover_slide_template.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.running_section import RunningSection
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CoverSlideTemplate(BaseModel):
+ """
+ Settings for cover slide.
+ """ # noqa: E501
+ background_image: Optional[StrictBool] = Field(default=True, description="Show background image on the slide.", alias="backgroundImage")
+ description_field: Optional[StrictStr] = Field(default=None, alias="descriptionField")
+ footer: Optional[RunningSection] = None
+ header: Optional[RunningSection] = None
+ __properties: ClassVar[List[str]] = ["backgroundImage", "descriptionField", "footer", "header"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CoverSlideTemplate from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of footer
+ if self.footer:
+ _dict['footer'] = self.footer.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of header
+ if self.header:
+ _dict['header'] = self.header.to_dict()
+ # set to None if description_field (nullable) is None
+ # and model_fields_set contains the field
+ if self.description_field is None and "description_field" in self.model_fields_set:
+ _dict['descriptionField'] = None
+
+ # set to None if footer (nullable) is None
+ # and model_fields_set contains the field
+ if self.footer is None and "footer" in self.model_fields_set:
+ _dict['footer'] = None
+
+ # set to None if header (nullable) is None
+ # and model_fields_set contains the field
+ if self.header is None and "header" in self.model_fields_set:
+ _dict['header'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CoverSlideTemplate from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "backgroundImage": obj.get("backgroundImage") if obj.get("backgroundImage") is not None else True,
+ "descriptionField": obj.get("descriptionField"),
+ "footer": RunningSection.from_dict(obj["footer"]) if obj.get("footer") is not None else None,
+ "header": RunningSection.from_dict(obj["header"]) if obj.get("header") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_request_dto.py b/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_request_dto.py
new file mode 100644
index 000000000..c9e52c439
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_request_dto.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreateKnowledgeDocumentRequestDto(BaseModel):
+ """
+ CreateKnowledgeDocumentRequestDto
+ """ # noqa: E501
+ content: StrictStr
+ filename: StrictStr
+ page_boundaries: Optional[List[StrictInt]] = Field(default=None, alias="pageBoundaries")
+ scopes: Optional[List[StrictStr]] = None
+ title: Optional[StrictStr] = None
+ __properties: ClassVar[List[str]] = ["content", "filename", "pageBoundaries", "scopes", "title"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreateKnowledgeDocumentRequestDto from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreateKnowledgeDocumentRequestDto from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "filename": obj.get("filename"),
+ "pageBoundaries": obj.get("pageBoundaries"),
+ "scopes": obj.get("scopes"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_response_dto.py b/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_response_dto.py
new file mode 100644
index 000000000..301d9f6b6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/create_knowledge_document_response_dto.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreateKnowledgeDocumentResponseDto(BaseModel):
+ """
+ CreateKnowledgeDocumentResponseDto
+ """ # noqa: E501
+ filename: StrictStr
+ message: StrictStr
+ num_chunks: StrictInt = Field(alias="numChunks")
+ success: StrictBool
+ __properties: ClassVar[List[str]] = ["filename", "message", "numChunks", "success"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreateKnowledgeDocumentResponseDto from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreateKnowledgeDocumentResponseDto from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filename": obj.get("filename"),
+ "message": obj.get("message"),
+ "numChunks": obj.get("numChunks"),
+ "success": obj.get("success")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/created_visualization.py b/gooddata-api-client/gooddata_api_client/models/created_visualization.py
new file mode 100644
index 000000000..044a8de58
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/created_visualization.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.created_visualization_filters_inner import CreatedVisualizationFiltersInner
+from gooddata_api_client.models.dim_attribute import DimAttribute
+from gooddata_api_client.models.metric import Metric
+from gooddata_api_client.models.suggestion import Suggestion
+from gooddata_api_client.models.visualization_config import VisualizationConfig
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreatedVisualization(BaseModel):
+ """
+ List of created visualization objects
+ """ # noqa: E501
+ config: Optional[VisualizationConfig] = None
+ dimensionality: List[DimAttribute] = Field(description="List of attributes representing the dimensionality of the new visualization")
+ filters: List[CreatedVisualizationFiltersInner] = Field(description="List of filters to be applied to the new visualization")
+ id: StrictStr = Field(description="Proposed ID of the new visualization")
+ metrics: List[Metric] = Field(description="List of metrics to be used in the new visualization")
+ saved_visualization_id: Optional[StrictStr] = Field(default=None, description="Saved visualization ID.", alias="savedVisualizationId")
+ suggestions: List[Suggestion] = Field(description="Suggestions for next steps")
+ title: StrictStr = Field(description="Proposed title of the new visualization")
+ visualization_type: StrictStr = Field(description="Visualization type requested in question", alias="visualizationType")
+ __properties: ClassVar[List[str]] = ["config", "dimensionality", "filters", "id", "metrics", "savedVisualizationId", "suggestions", "title", "visualizationType"]
+
+ @field_validator('visualization_type')
+ def visualization_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['TABLE', 'HEADLINE', 'BAR', 'LINE', 'PIE', 'COLUMN', 'SCATTER']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('TABLE', 'HEADLINE', 'BAR', 'LINE', 'PIE', 'COLUMN', 'SCATTER')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreatedVisualization from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of config
+ if self.config:
+ _dict['config'] = self.config.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in dimensionality (list)
+ _items = []
+ if self.dimensionality:
+ for _item_dimensionality in self.dimensionality:
+ if _item_dimensionality:
+ _items.append(_item_dimensionality.to_dict())
+ _dict['dimensionality'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
+ _items = []
+ if self.filters:
+ for _item_filters in self.filters:
+ if _item_filters:
+ _items.append(_item_filters.to_dict())
+ _dict['filters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
+ _items = []
+ if self.metrics:
+ for _item_metrics in self.metrics:
+ if _item_metrics:
+ _items.append(_item_metrics.to_dict())
+ _dict['metrics'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in suggestions (list)
+ _items = []
+ if self.suggestions:
+ for _item_suggestions in self.suggestions:
+ if _item_suggestions:
+ _items.append(_item_suggestions.to_dict())
+ _dict['suggestions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreatedVisualization from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "config": VisualizationConfig.from_dict(obj["config"]) if obj.get("config") is not None else None,
+ "dimensionality": [DimAttribute.from_dict(_item) for _item in obj["dimensionality"]] if obj.get("dimensionality") is not None else None,
+ "filters": [CreatedVisualizationFiltersInner.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None,
+ "id": obj.get("id"),
+ "metrics": [Metric.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None,
+ "savedVisualizationId": obj.get("savedVisualizationId"),
+ "suggestions": [Suggestion.from_dict(_item) for _item in obj["suggestions"]] if obj.get("suggestions") is not None else None,
+ "title": obj.get("title"),
+ "visualizationType": obj.get("visualizationType")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/created_visualization_filters_inner.py b/gooddata-api-client/gooddata_api_client/models/created_visualization_filters_inner.py
new file mode 100644
index 000000000..55b4cf8cc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/created_visualization_filters_inner.py
@@ -0,0 +1,186 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.attribute_negative_filter import AttributeNegativeFilter
+from gooddata_api_client.models.attribute_positive_filter import AttributePositiveFilter
+from gooddata_api_client.models.date_absolute_filter import DateAbsoluteFilter
+from gooddata_api_client.models.date_relative_filter import DateRelativeFilter
+from gooddata_api_client.models.ranking_filter import RankingFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+CREATEDVISUALIZATIONFILTERSINNER_ONE_OF_SCHEMAS = ["AttributeNegativeFilter", "AttributePositiveFilter", "DateAbsoluteFilter", "DateRelativeFilter", "RankingFilter"]
+
+class CreatedVisualizationFiltersInner(BaseModel):
+ """
+ CreatedVisualizationFiltersInner
+ """
+ # data type: AttributeNegativeFilter
+ oneof_schema_1_validator: Optional[AttributeNegativeFilter] = None
+ # data type: AttributePositiveFilter
+ oneof_schema_2_validator: Optional[AttributePositiveFilter] = None
+ # data type: DateAbsoluteFilter
+ oneof_schema_3_validator: Optional[DateAbsoluteFilter] = None
+ # data type: DateRelativeFilter
+ oneof_schema_4_validator: Optional[DateRelativeFilter] = None
+ # data type: RankingFilter
+ oneof_schema_5_validator: Optional[RankingFilter] = None
+ actual_instance: Optional[Union[AttributeNegativeFilter, AttributePositiveFilter, DateAbsoluteFilter, DateRelativeFilter, RankingFilter]] = None
+ one_of_schemas: Set[str] = { "AttributeNegativeFilter", "AttributePositiveFilter", "DateAbsoluteFilter", "DateRelativeFilter", "RankingFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = CreatedVisualizationFiltersInner.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AttributeNegativeFilter
+ if not isinstance(v, AttributeNegativeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeNegativeFilter`")
+ else:
+ match += 1
+ # validate data type: AttributePositiveFilter
+ if not isinstance(v, AttributePositiveFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributePositiveFilter`")
+ else:
+ match += 1
+ # validate data type: DateAbsoluteFilter
+ if not isinstance(v, DateAbsoluteFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DateAbsoluteFilter`")
+ else:
+ match += 1
+ # validate data type: DateRelativeFilter
+ if not isinstance(v, DateRelativeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DateRelativeFilter`")
+ else:
+ match += 1
+ # validate data type: RankingFilter
+ if not isinstance(v, RankingFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RankingFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in CreatedVisualizationFiltersInner with oneOf schemas: AttributeNegativeFilter, AttributePositiveFilter, DateAbsoluteFilter, DateRelativeFilter, RankingFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AttributeNegativeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AttributeNegativeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AttributePositiveFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AttributePositiveFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into DateAbsoluteFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DateAbsoluteFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into DateRelativeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DateRelativeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RankingFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RankingFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into CreatedVisualizationFiltersInner with oneOf schemas: AttributeNegativeFilter, AttributePositiveFilter, DateAbsoluteFilter, DateRelativeFilter, RankingFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AttributeNegativeFilter, AttributePositiveFilter, DateAbsoluteFilter, DateRelativeFilter, RankingFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/created_visualizations.py b/gooddata-api-client/gooddata_api_client/models/created_visualizations.py
new file mode 100644
index 000000000..c797bd079
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/created_visualizations.py
@@ -0,0 +1,108 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.created_visualization import CreatedVisualization
+from gooddata_api_client.models.suggestion import Suggestion
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreatedVisualizations(BaseModel):
+ """
+ Visualization definitions created by AI.
+ """ # noqa: E501
+ objects: List[CreatedVisualization] = Field(description="List of created visualization objects")
+ reasoning: StrictStr = Field(description="DEPRECATED: Use top-level reasoning.steps instead. Reasoning from LLM. Description of how and why the answer was generated.")
+ suggestions: List[Suggestion] = Field(description="List of suggestions for next steps. Filled when no visualization was created, suggests alternatives.")
+ __properties: ClassVar[List[str]] = ["objects", "reasoning", "suggestions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreatedVisualizations from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in objects (list)
+ _items = []
+ if self.objects:
+ for _item_objects in self.objects:
+ if _item_objects:
+ _items.append(_item_objects.to_dict())
+ _dict['objects'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in suggestions (list)
+ _items = []
+ if self.suggestions:
+ for _item_suggestions in self.suggestions:
+ if _item_suggestions:
+ _items.append(_item_suggestions.to_dict())
+ _dict['suggestions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreatedVisualizations from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "objects": [CreatedVisualization.from_dict(_item) for _item in obj["objects"]] if obj.get("objects") is not None else None,
+ "reasoning": obj.get("reasoning"),
+ "suggestions": [Suggestion.from_dict(_item) for _item in obj["suggestions"]] if obj.get("suggestions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/custom_label.py b/gooddata-api-client/gooddata_api_client/models/custom_label.py
new file mode 100644
index 000000000..2ed5d5faa
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/custom_label.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CustomLabel(BaseModel):
+ """
+ Custom label object override.
+ """ # noqa: E501
+ title: StrictStr = Field(description="Override value.")
+ __properties: ClassVar[List[str]] = ["title"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CustomLabel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CustomLabel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/custom_metric.py b/gooddata-api-client/gooddata_api_client/models/custom_metric.py
new file mode 100644
index 000000000..3bc3b6fb7
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/custom_metric.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CustomMetric(BaseModel):
+ """
+ Custom metric object override.
+ """ # noqa: E501
+ format: StrictStr = Field(description="Format override.")
+ title: StrictStr = Field(description="Metric title override.")
+ __properties: ClassVar[List[str]] = ["format", "title"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CustomMetric from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CustomMetric from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "format": obj.get("format"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/custom_override.py b/gooddata-api-client/gooddata_api_client/models/custom_override.py
new file mode 100644
index 000000000..d67277092
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/custom_override.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.custom_label import CustomLabel
+from gooddata_api_client.models.custom_metric import CustomMetric
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CustomOverride(BaseModel):
+ """
+ Custom cell value overrides (IDs will be replaced with specified values).
+ """ # noqa: E501
+ labels: Optional[Dict[str, CustomLabel]] = Field(default=None, description="Map of CustomLabels with keys used as placeholders in document.")
+ metrics: Optional[Dict[str, CustomMetric]] = Field(default=None, description="Map of CustomMetrics with keys used as placeholders in document.")
+ __properties: ClassVar[List[str]] = ["labels", "metrics"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CustomOverride from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in labels (dict)
+ _field_dict = {}
+ if self.labels:
+ for _key_labels in self.labels:
+ if self.labels[_key_labels]:
+ _field_dict[_key_labels] = self.labels[_key_labels].to_dict()
+ _dict['labels'] = _field_dict
+ # override the default output from pydantic by calling `to_dict()` of each value in metrics (dict)
+ _field_dict = {}
+ if self.metrics:
+ for _key_metrics in self.metrics:
+ if self.metrics[_key_metrics]:
+ _field_dict[_key_metrics] = self.metrics[_key_metrics].to_dict()
+ _dict['metrics'] = _field_dict
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CustomOverride from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "labels": dict(
+ (_k, CustomLabel.from_dict(_v))
+ for _k, _v in obj["labels"].items()
+ )
+ if obj.get("labels") is not None
+ else None,
+ "metrics": dict(
+ (_k, CustomMetric.from_dict(_v))
+ for _k, _v in obj["metrics"].items()
+ )
+ if obj.get("metrics") is not None
+ else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter.py b/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter.py
new file mode 100644
index 000000000..9ee129a79
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dashboard_attribute_filter_attribute_filter import DashboardAttributeFilterAttributeFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardAttributeFilter(BaseModel):
+ """
+ DashboardAttributeFilter
+ """ # noqa: E501
+ attribute_filter: DashboardAttributeFilterAttributeFilter = Field(alias="attributeFilter")
+ __properties: ClassVar[List[str]] = ["attributeFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardAttributeFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute_filter
+ if self.attribute_filter:
+ _dict['attributeFilter'] = self.attribute_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardAttributeFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributeFilter": DashboardAttributeFilterAttributeFilter.from_dict(obj["attributeFilter"]) if obj.get("attributeFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter_attribute_filter.py b/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter_attribute_filter.py
new file mode 100644
index 000000000..b1b5eeee8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_attribute_filter_attribute_filter.py
@@ -0,0 +1,146 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.attribute_elements import AttributeElements
+from gooddata_api_client.models.attribute_filter_by_date import AttributeFilterByDate
+from gooddata_api_client.models.attribute_filter_parent import AttributeFilterParent
+from gooddata_api_client.models.identifier_ref import IdentifierRef
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardAttributeFilterAttributeFilter(BaseModel):
+ """
+ DashboardAttributeFilterAttributeFilter
+ """ # noqa: E501
+ attribute_elements: AttributeElements = Field(alias="attributeElements")
+ display_form: IdentifierRef = Field(alias="displayForm")
+ filter_elements_by: Optional[List[AttributeFilterParent]] = Field(default=None, alias="filterElementsBy")
+ filter_elements_by_date: Optional[List[AttributeFilterByDate]] = Field(default=None, alias="filterElementsByDate")
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ negative_selection: StrictBool = Field(alias="negativeSelection")
+ selection_mode: Optional[StrictStr] = Field(default=None, alias="selectionMode")
+ title: Optional[StrictStr] = None
+ validate_elements_by: Optional[List[IdentifierRef]] = Field(default=None, alias="validateElementsBy")
+ __properties: ClassVar[List[str]] = ["attributeElements", "displayForm", "filterElementsBy", "filterElementsByDate", "localIdentifier", "negativeSelection", "selectionMode", "title", "validateElementsBy"]
+
+ @field_validator('selection_mode')
+ def selection_mode_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['single', 'multi']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('single', 'multi')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardAttributeFilterAttributeFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute_elements
+ if self.attribute_elements:
+ _dict['attributeElements'] = self.attribute_elements.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of display_form
+ if self.display_form:
+ _dict['displayForm'] = self.display_form.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in filter_elements_by (list)
+ _items = []
+ if self.filter_elements_by:
+ for _item_filter_elements_by in self.filter_elements_by:
+ if _item_filter_elements_by:
+ _items.append(_item_filter_elements_by.to_dict())
+ _dict['filterElementsBy'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in filter_elements_by_date (list)
+ _items = []
+ if self.filter_elements_by_date:
+ for _item_filter_elements_by_date in self.filter_elements_by_date:
+ if _item_filter_elements_by_date:
+ _items.append(_item_filter_elements_by_date.to_dict())
+ _dict['filterElementsByDate'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in validate_elements_by (list)
+ _items = []
+ if self.validate_elements_by:
+ for _item_validate_elements_by in self.validate_elements_by:
+ if _item_validate_elements_by:
+ _items.append(_item_validate_elements_by.to_dict())
+ _dict['validateElementsBy'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardAttributeFilterAttributeFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attributeElements": AttributeElements.from_dict(obj["attributeElements"]) if obj.get("attributeElements") is not None else None,
+ "displayForm": IdentifierRef.from_dict(obj["displayForm"]) if obj.get("displayForm") is not None else None,
+ "filterElementsBy": [AttributeFilterParent.from_dict(_item) for _item in obj["filterElementsBy"]] if obj.get("filterElementsBy") is not None else None,
+ "filterElementsByDate": [AttributeFilterByDate.from_dict(_item) for _item in obj["filterElementsByDate"]] if obj.get("filterElementsByDate") is not None else None,
+ "localIdentifier": obj.get("localIdentifier"),
+ "negativeSelection": obj.get("negativeSelection"),
+ "selectionMode": obj.get("selectionMode"),
+ "title": obj.get("title"),
+ "validateElementsBy": [IdentifierRef.from_dict(_item) for _item in obj["validateElementsBy"]] if obj.get("validateElementsBy") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter.py b/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter.py
new file mode 100644
index 000000000..b9fe4d3ea
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dashboard_date_filter_date_filter import DashboardDateFilterDateFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardDateFilter(BaseModel):
+ """
+ DashboardDateFilter
+ """ # noqa: E501
+ date_filter: DashboardDateFilterDateFilter = Field(alias="dateFilter")
+ __properties: ClassVar[List[str]] = ["dateFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of date_filter
+ if self.date_filter:
+ _dict['dateFilter'] = self.date_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dateFilter": DashboardDateFilterDateFilter.from_dict(obj["dateFilter"]) if obj.get("dateFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter_date_filter.py b/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter_date_filter.py
new file mode 100644
index 000000000..01d2b2a50
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_date_filter_date_filter.py
@@ -0,0 +1,149 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.aac_dashboard_filter_from import AacDashboardFilterFrom
+from gooddata_api_client.models.identifier_ref import IdentifierRef
+from gooddata_api_client.models.relative_bounded_date_filter import RelativeBoundedDateFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardDateFilterDateFilter(BaseModel):
+ """
+ DashboardDateFilterDateFilter
+ """ # noqa: E501
+ attribute: Optional[IdentifierRef] = None
+ bounded_filter: Optional[RelativeBoundedDateFilter] = Field(default=None, alias="boundedFilter")
+ data_set: Optional[IdentifierRef] = Field(default=None, alias="dataSet")
+ empty_value_handling: Optional[StrictStr] = Field(default=None, alias="emptyValueHandling")
+ var_from: Optional[AacDashboardFilterFrom] = Field(default=None, alias="from")
+ granularity: StrictStr
+ local_identifier: Optional[StrictStr] = Field(default=None, alias="localIdentifier")
+ to: Optional[AacDashboardFilterFrom] = None
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["attribute", "boundedFilter", "dataSet", "emptyValueHandling", "from", "granularity", "localIdentifier", "to", "type"]
+
+ @field_validator('empty_value_handling')
+ def empty_value_handling_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INCLUDE', 'EXCLUDE', 'ONLY']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INCLUDE', 'EXCLUDE', 'ONLY')")
+ return value
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['ALL_TIME_GRANULARITY', 'GDC.time.year', 'GDC.time.week_us', 'GDC.time.week_in_year', 'GDC.time.week_in_quarter', 'GDC.time.week', 'GDC.time.euweek_in_year', 'GDC.time.euweek_in_quarter', 'GDC.time.quarter', 'GDC.time.quarter_in_year', 'GDC.time.month', 'GDC.time.month_in_quarter', 'GDC.time.month_in_year', 'GDC.time.day_in_year', 'GDC.time.day_in_quarter', 'GDC.time.day_in_month', 'GDC.time.day_in_week', 'GDC.time.day_in_euweek', 'GDC.time.date', 'GDC.time.hour', 'GDC.time.hour_in_day', 'GDC.time.minute', 'GDC.time.minute_in_hour', 'GDC.time.fiscal_month', 'GDC.time.fiscal_quarter', 'GDC.time.fiscal_year']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ALL_TIME_GRANULARITY', 'GDC.time.year', 'GDC.time.week_us', 'GDC.time.week_in_year', 'GDC.time.week_in_quarter', 'GDC.time.week', 'GDC.time.euweek_in_year', 'GDC.time.euweek_in_quarter', 'GDC.time.quarter', 'GDC.time.quarter_in_year', 'GDC.time.month', 'GDC.time.month_in_quarter', 'GDC.time.month_in_year', 'GDC.time.day_in_year', 'GDC.time.day_in_quarter', 'GDC.time.day_in_month', 'GDC.time.day_in_week', 'GDC.time.day_in_euweek', 'GDC.time.date', 'GDC.time.hour', 'GDC.time.hour_in_day', 'GDC.time.minute', 'GDC.time.minute_in_hour', 'GDC.time.fiscal_month', 'GDC.time.fiscal_quarter', 'GDC.time.fiscal_year')")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['relative', 'absolute']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('relative', 'absolute')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardDateFilterDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of attribute
+ if self.attribute:
+ _dict['attribute'] = self.attribute.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of bounded_filter
+ if self.bounded_filter:
+ _dict['boundedFilter'] = self.bounded_filter.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of data_set
+ if self.data_set:
+ _dict['dataSet'] = self.data_set.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of var_from
+ if self.var_from:
+ _dict['from'] = self.var_from.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of to
+ if self.to:
+ _dict['to'] = self.to.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardDateFilterDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute": IdentifierRef.from_dict(obj["attribute"]) if obj.get("attribute") is not None else None,
+ "boundedFilter": RelativeBoundedDateFilter.from_dict(obj["boundedFilter"]) if obj.get("boundedFilter") is not None else None,
+ "dataSet": IdentifierRef.from_dict(obj["dataSet"]) if obj.get("dataSet") is not None else None,
+ "emptyValueHandling": obj.get("emptyValueHandling"),
+ "from": AacDashboardFilterFrom.from_dict(obj["from"]) if obj.get("from") is not None else None,
+ "granularity": obj.get("granularity"),
+ "localIdentifier": obj.get("localIdentifier"),
+ "to": AacDashboardFilterFrom.from_dict(obj["to"]) if obj.get("to") is not None else None,
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_export_settings.py b/gooddata-api-client/gooddata_api_client/models/dashboard_export_settings.py
new file mode 100644
index 000000000..ea4a0d7ce
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_export_settings.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardExportSettings(BaseModel):
+ """
+ Additional settings.
+ """ # noqa: E501
+ export_info: Optional[StrictBool] = Field(default=False, description="If true, the export will contain the information about the export – exported date, dashboard filters, etc.", alias="exportInfo")
+ merge_headers: Optional[StrictBool] = Field(default=False, description="Merge equal headers in neighbouring cells. Used for [XLSX] format only.", alias="mergeHeaders")
+ page_orientation: Optional[StrictStr] = Field(default='PORTRAIT', description="Set page orientation. (PDF)", alias="pageOrientation")
+ page_size: Optional[StrictStr] = Field(default='A4', description="Set page size. (PDF)", alias="pageSize")
+ __properties: ClassVar[List[str]] = ["exportInfo", "mergeHeaders", "pageOrientation", "pageSize"]
+
+ @field_validator('page_orientation')
+ def page_orientation_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['PORTRAIT', 'LANDSCAPE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('PORTRAIT', 'LANDSCAPE')")
+ return value
+
+ @field_validator('page_size')
+ def page_size_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['A3', 'A4', 'LETTER']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('A3', 'A4', 'LETTER')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardExportSettings from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardExportSettings from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "exportInfo": obj.get("exportInfo") if obj.get("exportInfo") is not None else False,
+ "mergeHeaders": obj.get("mergeHeaders") if obj.get("mergeHeaders") is not None else False,
+ "pageOrientation": obj.get("pageOrientation") if obj.get("pageOrientation") is not None else 'PORTRAIT',
+ "pageSize": obj.get("pageSize") if obj.get("pageSize") is not None else 'A4'
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_filter.py b/gooddata-api-client/gooddata_api_client/models/dashboard_filter.py
new file mode 100644
index 000000000..5e389e32e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_filter.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.dashboard_attribute_filter import DashboardAttributeFilter
+from gooddata_api_client.models.dashboard_date_filter import DashboardDateFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DASHBOARDFILTER_ONE_OF_SCHEMAS = ["DashboardAttributeFilter", "DashboardDateFilter"]
+
+class DashboardFilter(BaseModel):
+ """
+ DashboardFilter
+ """
+ # data type: DashboardAttributeFilter
+ oneof_schema_1_validator: Optional[DashboardAttributeFilter] = None
+ # data type: DashboardDateFilter
+ oneof_schema_2_validator: Optional[DashboardDateFilter] = None
+ actual_instance: Optional[Union[DashboardAttributeFilter, DashboardDateFilter]] = None
+ one_of_schemas: Set[str] = { "DashboardAttributeFilter", "DashboardDateFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DashboardFilter.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DashboardAttributeFilter
+ if not isinstance(v, DashboardAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DashboardAttributeFilter`")
+ else:
+ match += 1
+ # validate data type: DashboardDateFilter
+ if not isinstance(v, DashboardDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DashboardDateFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DashboardFilter with oneOf schemas: DashboardAttributeFilter, DashboardDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DashboardAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DashboardAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into DashboardDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DashboardDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DashboardFilter with oneOf schemas: DashboardAttributeFilter, DashboardDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DashboardAttributeFilter, DashboardDateFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_permissions.py b/gooddata-api-client/gooddata_api_client/models/dashboard_permissions.py
new file mode 100644
index 000000000..16f83f498
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_permissions.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.rule_permission import RulePermission
+from gooddata_api_client.models.user_group_permission import UserGroupPermission
+from gooddata_api_client.models.user_permission import UserPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardPermissions(BaseModel):
+ """
+ DashboardPermissions
+ """ # noqa: E501
+ rules: List[RulePermission] = Field(description="List of rules")
+ user_groups: List[UserGroupPermission] = Field(description="List of user groups", alias="userGroups")
+ users: List[UserPermission] = Field(description="List of users")
+ __properties: ClassVar[List[str]] = ["rules", "userGroups", "users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardPermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in rules (list)
+ _items = []
+ if self.rules:
+ for _item_rules in self.rules:
+ if _item_rules:
+ _items.append(_item_rules.to_dict())
+ _dict['rules'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardPermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "rules": [RulePermission.from_dict(_item) for _item in obj["rules"]] if obj.get("rules") is not None else None,
+ "userGroups": [UserGroupPermission.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None,
+ "users": [UserPermission.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/models/dashboard_permissions_assignment.py
new file mode 100644
index 000000000..6c68721b1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_permissions_assignment.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardPermissionsAssignment(BaseModel):
+ """
+ Desired levels of permissions for an assignee.
+ """ # noqa: E501
+ permissions: List[StrictStr]
+ __properties: ClassVar[List[str]] = ["permissions"]
+
+ @field_validator('permissions')
+ def permissions_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['EDIT', 'SHARE', 'VIEW']):
+ raise ValueError("each list item must be one of ('EDIT', 'SHARE', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardPermissionsAssignment from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardPermissionsAssignment from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "permissions": obj.get("permissions")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_slides_template.py b/gooddata-api-client/gooddata_api_client/models/dashboard_slides_template.py
new file mode 100644
index 000000000..c1715eb08
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_slides_template.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.content_slide_template import ContentSlideTemplate
+from gooddata_api_client.models.cover_slide_template import CoverSlideTemplate
+from gooddata_api_client.models.intro_slide_template import IntroSlideTemplate
+from gooddata_api_client.models.section_slide_template import SectionSlideTemplate
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardSlidesTemplate(BaseModel):
+ """
+ Template for dashboard slides export. Available variables: {{currentPageNumber}}, {{dashboardDateFilters}}, {{dashboardDescription}}, {{dashboardFilters}}, {{dashboardId}}, {{dashboardName}}, {{dashboardTags}}, {{dashboardUrl}}, {{exportedAt}}, {{exportedBy}}, {{logo}}, {{totalPages}}, {{workspaceId}}, {{workspaceName}}
+ """ # noqa: E501
+ applied_on: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Export types this template applies to.", alias="appliedOn")
+ content_slide: Optional[ContentSlideTemplate] = Field(default=None, alias="contentSlide")
+ cover_slide: Optional[CoverSlideTemplate] = Field(default=None, alias="coverSlide")
+ intro_slide: Optional[IntroSlideTemplate] = Field(default=None, alias="introSlide")
+ section_slide: Optional[SectionSlideTemplate] = Field(default=None, alias="sectionSlide")
+ __properties: ClassVar[List[str]] = ["appliedOn", "contentSlide", "coverSlide", "introSlide", "sectionSlide"]
+
+ @field_validator('applied_on')
+ def applied_on_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['PDF', 'PPTX']):
+ raise ValueError("each list item must be one of ('PDF', 'PPTX')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardSlidesTemplate from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of content_slide
+ if self.content_slide:
+ _dict['contentSlide'] = self.content_slide.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of cover_slide
+ if self.cover_slide:
+ _dict['coverSlide'] = self.cover_slide.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of intro_slide
+ if self.intro_slide:
+ _dict['introSlide'] = self.intro_slide.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of section_slide
+ if self.section_slide:
+ _dict['sectionSlide'] = self.section_slide.to_dict()
+ # set to None if content_slide (nullable) is None
+ # and model_fields_set contains the field
+ if self.content_slide is None and "content_slide" in self.model_fields_set:
+ _dict['contentSlide'] = None
+
+ # set to None if cover_slide (nullable) is None
+ # and model_fields_set contains the field
+ if self.cover_slide is None and "cover_slide" in self.model_fields_set:
+ _dict['coverSlide'] = None
+
+ # set to None if intro_slide (nullable) is None
+ # and model_fields_set contains the field
+ if self.intro_slide is None and "intro_slide" in self.model_fields_set:
+ _dict['introSlide'] = None
+
+ # set to None if section_slide (nullable) is None
+ # and model_fields_set contains the field
+ if self.section_slide is None and "section_slide" in self.model_fields_set:
+ _dict['sectionSlide'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardSlidesTemplate from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "appliedOn": obj.get("appliedOn"),
+ "contentSlide": ContentSlideTemplate.from_dict(obj["contentSlide"]) if obj.get("contentSlide") is not None else None,
+ "coverSlide": CoverSlideTemplate.from_dict(obj["coverSlide"]) if obj.get("coverSlide") is not None else None,
+ "introSlide": IntroSlideTemplate.from_dict(obj["introSlide"]) if obj.get("introSlide") is not None else None,
+ "sectionSlide": SectionSlideTemplate.from_dict(obj["sectionSlide"]) if obj.get("sectionSlide") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request.py b/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request.py
new file mode 100644
index 000000000..635af8d3e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request.py
@@ -0,0 +1,135 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.dashboard_export_settings import DashboardExportSettings
+from gooddata_api_client.models.dashboard_filter import DashboardFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardTabularExportRequest(BaseModel):
+ """
+ Export request object describing the export properties for dashboard tabular exports.
+ """ # noqa: E501
+ dashboard_filters_override: Optional[List[DashboardFilter]] = Field(default=None, description="List of filters that will be used instead of the default dashboard filters.", alias="dashboardFiltersOverride")
+ dashboard_tabs_filters_overrides: Optional[Dict[str, List[DashboardFilter]]] = Field(default=None, description="Map of tab-specific filter overrides. Key is tabId, value is list of filters for that tab.", alias="dashboardTabsFiltersOverrides")
+ file_name: StrictStr = Field(description="Filename of downloaded file without extension.", alias="fileName")
+ format: StrictStr = Field(description="Requested tabular export type.")
+ settings: Optional[DashboardExportSettings] = None
+ widget_ids: Optional[Annotated[List[StrictStr], Field(max_length=1)]] = Field(default=None, description="List of widget identifiers to be exported. Note that only one widget is currently supported.", alias="widgetIds")
+ __properties: ClassVar[List[str]] = ["dashboardFiltersOverride", "dashboardTabsFiltersOverrides", "fileName", "format", "settings", "widgetIds"]
+
+ @field_validator('format')
+ def format_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['XLSX', 'PDF']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('XLSX', 'PDF')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardTabularExportRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboard_filters_override (list)
+ _items = []
+ if self.dashboard_filters_override:
+ for _item_dashboard_filters_override in self.dashboard_filters_override:
+ if _item_dashboard_filters_override:
+ _items.append(_item_dashboard_filters_override.to_dict())
+ _dict['dashboardFiltersOverride'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each value in dashboard_tabs_filters_overrides (dict of array)
+ _field_dict_of_array = {}
+ if self.dashboard_tabs_filters_overrides:
+ for _key_dashboard_tabs_filters_overrides in self.dashboard_tabs_filters_overrides:
+ if self.dashboard_tabs_filters_overrides[_key_dashboard_tabs_filters_overrides] is not None:
+ _field_dict_of_array[_key_dashboard_tabs_filters_overrides] = [
+ _item.to_dict() for _item in self.dashboard_tabs_filters_overrides[_key_dashboard_tabs_filters_overrides]
+ ]
+ _dict['dashboardTabsFiltersOverrides'] = _field_dict_of_array
+ # override the default output from pydantic by calling `to_dict()` of settings
+ if self.settings:
+ _dict['settings'] = self.settings.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardTabularExportRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dashboardFiltersOverride": [DashboardFilter.from_dict(_item) for _item in obj["dashboardFiltersOverride"]] if obj.get("dashboardFiltersOverride") is not None else None,
+ "dashboardTabsFiltersOverrides": dict(
+ (_k,
+ [DashboardFilter.from_dict(_item) for _item in _v]
+ if _v is not None
+ else None
+ )
+ for _k, _v in obj.get("dashboardTabsFiltersOverrides", {}).items()
+ ),
+ "fileName": obj.get("fileName"),
+ "format": obj.get("format"),
+ "settings": DashboardExportSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None,
+ "widgetIds": obj.get("widgetIds")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request_v2.py b/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request_v2.py
new file mode 100644
index 000000000..5b5ed08ea
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dashboard_tabular_export_request_v2.py
@@ -0,0 +1,137 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.dashboard_export_settings import DashboardExportSettings
+from gooddata_api_client.models.dashboard_filter import DashboardFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DashboardTabularExportRequestV2(BaseModel):
+ """
+ Export request object describing the export properties for dashboard tabular exports (v2 with dashboardId).
+ """ # noqa: E501
+ dashboard_filters_override: Optional[List[DashboardFilter]] = Field(default=None, description="List of filters that will be used instead of the default dashboard filters.", alias="dashboardFiltersOverride")
+ dashboard_id: StrictStr = Field(description="Dashboard identifier", alias="dashboardId")
+ dashboard_tabs_filters_overrides: Optional[Dict[str, List[DashboardFilter]]] = Field(default=None, description="Map of tab-specific filter overrides. Key is tabId, value is list of filters for that tab.", alias="dashboardTabsFiltersOverrides")
+ file_name: StrictStr = Field(description="Filename of downloaded file without extension.", alias="fileName")
+ format: StrictStr = Field(description="Requested tabular export type.")
+ settings: Optional[DashboardExportSettings] = None
+ widget_ids: Optional[Annotated[List[StrictStr], Field(max_length=1)]] = Field(default=None, description="List of widget identifiers to be exported. Note that only one widget is currently supported.", alias="widgetIds")
+ __properties: ClassVar[List[str]] = ["dashboardFiltersOverride", "dashboardId", "dashboardTabsFiltersOverrides", "fileName", "format", "settings", "widgetIds"]
+
+ @field_validator('format')
+ def format_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['XLSX', 'PDF']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('XLSX', 'PDF')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DashboardTabularExportRequestV2 from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboard_filters_override (list)
+ _items = []
+ if self.dashboard_filters_override:
+ for _item_dashboard_filters_override in self.dashboard_filters_override:
+ if _item_dashboard_filters_override:
+ _items.append(_item_dashboard_filters_override.to_dict())
+ _dict['dashboardFiltersOverride'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each value in dashboard_tabs_filters_overrides (dict of array)
+ _field_dict_of_array = {}
+ if self.dashboard_tabs_filters_overrides:
+ for _key_dashboard_tabs_filters_overrides in self.dashboard_tabs_filters_overrides:
+ if self.dashboard_tabs_filters_overrides[_key_dashboard_tabs_filters_overrides] is not None:
+ _field_dict_of_array[_key_dashboard_tabs_filters_overrides] = [
+ _item.to_dict() for _item in self.dashboard_tabs_filters_overrides[_key_dashboard_tabs_filters_overrides]
+ ]
+ _dict['dashboardTabsFiltersOverrides'] = _field_dict_of_array
+ # override the default output from pydantic by calling `to_dict()` of settings
+ if self.settings:
+ _dict['settings'] = self.settings.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DashboardTabularExportRequestV2 from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dashboardFiltersOverride": [DashboardFilter.from_dict(_item) for _item in obj["dashboardFiltersOverride"]] if obj.get("dashboardFiltersOverride") is not None else None,
+ "dashboardId": obj.get("dashboardId"),
+ "dashboardTabsFiltersOverrides": dict(
+ (_k,
+ [DashboardFilter.from_dict(_item) for _item in _v]
+ if _v is not None
+ else None
+ )
+ for _k, _v in obj.get("dashboardTabsFiltersOverrides", {}).items()
+ ),
+ "fileName": obj.get("fileName"),
+ "format": obj.get("format"),
+ "settings": DashboardExportSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None,
+ "widgetIds": obj.get("widgetIds")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_column_locator.py b/gooddata-api-client/gooddata_api_client/models/data_column_locator.py
new file mode 100644
index 000000000..a8cc5ac32
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_column_locator.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataColumnLocator(BaseModel):
+ """
+ Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.
+ """ # noqa: E501
+ properties: Dict[str, StrictStr] = Field(description="Mapping from dimension items (either 'localIdentifier' from 'AttributeItem', or \"measureGroup\") to their respective values. This effectively specifies the path (location) of the data column used for sorting. Therefore values for all dimension items must be specified.")
+ __properties: ClassVar[List[str]] = ["properties"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataColumnLocator from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataColumnLocator from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "properties": obj.get("properties")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_column_locators.py b/gooddata-api-client/gooddata_api_client/models/data_column_locators.py
new file mode 100644
index 000000000..76d186737
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_column_locators.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.data_column_locator import DataColumnLocator
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataColumnLocators(BaseModel):
+ """
+ Data column locators for the values.
+ """ # noqa: E501
+ properties: Optional[Dict[str, DataColumnLocator]] = Field(default=None, description="Mapping from dimensions to data column locators.")
+ __properties: ClassVar[List[str]] = ["properties"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataColumnLocators from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
+ _field_dict = {}
+ if self.properties:
+ for _key_properties in self.properties:
+ if self.properties[_key_properties]:
+ _field_dict[_key_properties] = self.properties[_key_properties].to_dict()
+ _dict['properties'] = _field_dict
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataColumnLocators from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "properties": dict(
+ (_k, DataColumnLocator.from_dict(_v))
+ for _k, _v in obj["properties"].items()
+ )
+ if obj.get("properties") is not None
+ else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_source_parameter.py b/gooddata-api-client/gooddata_api_client/models/data_source_parameter.py
new file mode 100644
index 000000000..3d52af1ab
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_source_parameter.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataSourceParameter(BaseModel):
+ """
+ A parameter for testing data source connection
+ """ # noqa: E501
+ name: StrictStr = Field(description="Parameter name.")
+ value: StrictStr = Field(description="Parameter value.")
+ __properties: ClassVar[List[str]] = ["name", "value"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataSourceParameter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataSourceParameter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_source_permission_assignment.py b/gooddata-api-client/gooddata_api_client/models/data_source_permission_assignment.py
new file mode 100644
index 000000000..da10bab46
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_source_permission_assignment.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataSourcePermissionAssignment(BaseModel):
+ """
+ Data source permission assignments
+ """ # noqa: E501
+ assignee_identifier: AssigneeIdentifier = Field(alias="assigneeIdentifier")
+ permissions: List[StrictStr]
+ __properties: ClassVar[List[str]] = ["assigneeIdentifier", "permissions"]
+
+ @field_validator('permissions')
+ def permissions_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['MANAGE', 'USE']):
+ raise ValueError("each list item must be one of ('MANAGE', 'USE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataSourcePermissionAssignment from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee_identifier
+ if self.assignee_identifier:
+ _dict['assigneeIdentifier'] = self.assignee_identifier.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataSourcePermissionAssignment from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assigneeIdentifier": AssigneeIdentifier.from_dict(obj["assigneeIdentifier"]) if obj.get("assigneeIdentifier") is not None else None,
+ "permissions": obj.get("permissions")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_source_schemata.py b/gooddata-api-client/gooddata_api_client/models/data_source_schemata.py
new file mode 100644
index 000000000..1f731d682
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_source_schemata.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataSourceSchemata(BaseModel):
+ """
+ Result of getSchemata. Contains list of available DB schema names.
+ """ # noqa: E501
+ schema_names: List[StrictStr] = Field(alias="schemaNames")
+ __properties: ClassVar[List[str]] = ["schemaNames"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataSourceSchemata from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataSourceSchemata from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "schemaNames": obj.get("schemaNames")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/data_source_table_identifier.py b/gooddata-api-client/gooddata_api_client/models/data_source_table_identifier.py
new file mode 100644
index 000000000..53145cc7e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/data_source_table_identifier.py
@@ -0,0 +1,115 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DataSourceTableIdentifier(BaseModel):
+ """
+ An id of the table. Including ID of data source.
+ """ # noqa: E501
+ data_source_id: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Data source ID.", alias="dataSourceId")
+ id: Annotated[str, Field(strict=True)] = Field(description="ID of table.")
+ path: Optional[List[StrictStr]] = Field(default=None, description="Path to table.")
+ type: StrictStr = Field(description="Data source entity type.")
+ __properties: ClassVar[List[str]] = ["dataSourceId", "id", "path", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['dataSource']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('dataSource')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DataSourceTableIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if path (nullable) is None
+ # and model_fields_set contains the field
+ if self.path is None and "path" in self.model_fields_set:
+ _dict['path'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DataSourceTableIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataSourceId": obj.get("dataSourceId"),
+ "id": obj.get("id"),
+ "path": obj.get("path"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/database_instance.py b/gooddata-api-client/gooddata_api_client/models/database_instance.py
new file mode 100644
index 000000000..c56043ebe
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/database_instance.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DatabaseInstance(BaseModel):
+ """
+ A single AI Lake Database instance
+ """ # noqa: E501
+ id: StrictStr = Field(description="Id of the AI Lake Database instance")
+ name: StrictStr = Field(description="Name of the AI Lake Database instance")
+ storage_ids: List[StrictStr] = Field(description="Set of ids of the storage instances this database instance should access.", alias="storageIds")
+ __properties: ClassVar[List[str]] = ["id", "name", "storageIds"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DatabaseInstance from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DatabaseInstance from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "storageIds": obj.get("storageIds")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dataset_grain.py b/gooddata-api-client/gooddata_api_client/models/dataset_grain.py
new file mode 100644
index 000000000..f3d29802a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dataset_grain.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DatasetGrain(BaseModel):
+ """
+ DatasetGrain
+ """ # noqa: E501
+ id: StrictStr
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute', 'date']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute', 'date')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DatasetGrain from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DatasetGrain from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dataset_reference_identifier.py b/gooddata-api-client/gooddata_api_client/models/dataset_reference_identifier.py
new file mode 100644
index 000000000..b3ab83ae0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dataset_reference_identifier.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DatasetReferenceIdentifier(BaseModel):
+ """
+ DatasetReferenceIdentifier
+ """ # noqa: E501
+ id: StrictStr
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['dataset']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('dataset')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DatasetReferenceIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DatasetReferenceIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dataset_workspace_data_filter_identifier.py b/gooddata-api-client/gooddata_api_client/models/dataset_workspace_data_filter_identifier.py
new file mode 100644
index 000000000..c99f50586
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dataset_workspace_data_filter_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DatasetWorkspaceDataFilterIdentifier(BaseModel):
+ """
+ Identifier of a workspace data filter.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Workspace Data Filters ID.")
+ type: StrictStr = Field(description="Filter type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['workspaceDataFilter']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('workspaceDataFilter')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DatasetWorkspaceDataFilterIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DatasetWorkspaceDataFilterIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/date_absolute_filter.py b/gooddata-api-client/gooddata_api_client/models/date_absolute_filter.py
new file mode 100644
index 000000000..64a6a31c5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/date_absolute_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DateAbsoluteFilter(BaseModel):
+ """
+ DateAbsoluteFilter
+ """ # noqa: E501
+ var_from: StrictStr = Field(alias="from")
+ to: StrictStr
+ using: StrictStr
+ __properties: ClassVar[List[str]] = ["from", "to", "using"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DateAbsoluteFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DateAbsoluteFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "from": obj.get("from"),
+ "to": obj.get("to"),
+ "using": obj.get("using")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/date_filter.py b/gooddata-api-client/gooddata_api_client/models/date_filter.py
new file mode 100644
index 000000000..12e8244ed
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/date_filter.py
@@ -0,0 +1,156 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.absolute_date_filter import AbsoluteDateFilter
+from gooddata_api_client.models.all_time_date_filter import AllTimeDateFilter
+from gooddata_api_client.models.relative_date_filter import RelativeDateFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DATEFILTER_ONE_OF_SCHEMAS = ["AbsoluteDateFilter", "AllTimeDateFilter", "RelativeDateFilter"]
+
+class DateFilter(BaseModel):
+ """
+ Abstract filter definition type for dates.
+ """
+ # data type: AbsoluteDateFilter
+ oneof_schema_1_validator: Optional[AbsoluteDateFilter] = None
+ # data type: RelativeDateFilter
+ oneof_schema_2_validator: Optional[RelativeDateFilter] = None
+ # data type: AllTimeDateFilter
+ oneof_schema_3_validator: Optional[AllTimeDateFilter] = None
+ actual_instance: Optional[Union[AbsoluteDateFilter, AllTimeDateFilter, RelativeDateFilter]] = None
+ one_of_schemas: Set[str] = { "AbsoluteDateFilter", "AllTimeDateFilter", "RelativeDateFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DateFilter.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AbsoluteDateFilter
+ if not isinstance(v, AbsoluteDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AbsoluteDateFilter`")
+ else:
+ match += 1
+ # validate data type: RelativeDateFilter
+ if not isinstance(v, RelativeDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RelativeDateFilter`")
+ else:
+ match += 1
+ # validate data type: AllTimeDateFilter
+ if not isinstance(v, AllTimeDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AllTimeDateFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DateFilter with oneOf schemas: AbsoluteDateFilter, AllTimeDateFilter, RelativeDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AbsoluteDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AbsoluteDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RelativeDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RelativeDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AllTimeDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AllTimeDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DateFilter with oneOf schemas: AbsoluteDateFilter, AllTimeDateFilter, RelativeDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AbsoluteDateFilter, AllTimeDateFilter, RelativeDateFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/date_relative_filter.py b/gooddata-api-client/gooddata_api_client/models/date_relative_filter.py
new file mode 100644
index 000000000..2a2913d4e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/date_relative_filter.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DateRelativeFilter(BaseModel):
+ """
+ DateRelativeFilter
+ """ # noqa: E501
+ var_from: StrictInt = Field(alias="from")
+ granularity: StrictStr
+ to: StrictInt
+ using: StrictStr
+ __properties: ClassVar[List[str]] = ["from", "granularity", "to", "using"]
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['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']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('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')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DateRelativeFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DateRelativeFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "from": obj.get("from"),
+ "granularity": obj.get("granularity"),
+ "to": obj.get("to"),
+ "using": obj.get("using")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/date_value.py b/gooddata-api-client/gooddata_api_client/models/date_value.py
new file mode 100644
index 000000000..8656a04dc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/date_value.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DateValue(BaseModel):
+ """
+ DateValue
+ """ # noqa: E501
+ value: StrictStr
+ __properties: ClassVar[List[str]] = ["value"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DateValue from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DateValue from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_aggregated_fact.py b/gooddata-api-client/gooddata_api_client/models/declarative_aggregated_fact.py
new file mode 100644
index 000000000..826e87249
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_aggregated_fact.py
@@ -0,0 +1,125 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_source_fact_reference import DeclarativeSourceFactReference
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAggregatedFact(BaseModel):
+ """
+ A dataset fact.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Fact description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Fact ID.")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Flag indicating whether the associated source column allows null values.", alias="isNullable")
+ null_value: Optional[StrictStr] = Field(default=None, description="Value used in coalesce during joins instead of null.", alias="nullValue")
+ source_column: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A name of the source column in the table.", alias="sourceColumn")
+ source_column_data_type: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="A type of the source column", alias="sourceColumnDataType")
+ source_fact_reference: DeclarativeSourceFactReference = Field(alias="sourceFactReference")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ __properties: ClassVar[List[str]] = ["description", "id", "isNullable", "nullValue", "sourceColumn", "sourceColumnDataType", "sourceFactReference", "tags"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('source_column_data_type')
+ def source_column_data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAggregatedFact from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of source_fact_reference
+ if self.source_fact_reference:
+ _dict['sourceFactReference'] = self.source_fact_reference.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAggregatedFact from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isNullable": obj.get("isNullable"),
+ "nullValue": obj.get("nullValue"),
+ "sourceColumn": obj.get("sourceColumn"),
+ "sourceColumnDataType": obj.get("sourceColumnDataType"),
+ "sourceFactReference": DeclarativeSourceFactReference.from_dict(obj["sourceFactReference"]) if obj.get("sourceFactReference") is not None else None,
+ "tags": obj.get("tags")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard.py
new file mode 100644
index 000000000..5acd0d38c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard.py
@@ -0,0 +1,214 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboard(BaseModel):
+ """
+ DeclarativeAnalyticalDashboard
+ """ # noqa: E501
+ certification: Optional[StrictStr] = Field(default=None, description="Certification status of the entity.")
+ certification_message: Optional[StrictStr] = Field(default=None, description="Optional message associated with the certification.", alias="certificationMessage")
+ certified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time when the certification was set.", alias="certifiedAt")
+ certified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="certifiedBy")
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Analytical dashboard description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Analytical dashboard ID.")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ permissions: Optional[List[DeclarativeAnalyticalDashboardPermissionsInner]] = Field(default=None, description="A list of permissions.")
+ summary: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="AI-generated summary of the dashboard content")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Analytical dashboard title.")
+ __properties: ClassVar[List[str]] = ["certification", "certificationMessage", "certifiedAt", "certifiedBy", "content", "createdAt", "createdBy", "description", "id", "modifiedAt", "modifiedBy", "permissions", "summary", "tags", "title"]
+
+ @field_validator('certification')
+ def certification_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['CERTIFIED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('CERTIFIED')")
+ return value
+
+ @field_validator('certified_at')
+ def certified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboard from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of certified_by
+ if self.certified_by:
+ _dict['certifiedBy'] = self.certified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ # set to None if certification_message (nullable) is None
+ # and model_fields_set contains the field
+ if self.certification_message is None and "certification_message" in self.model_fields_set:
+ _dict['certificationMessage'] = None
+
+ # set to None if certified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.certified_at is None and "certified_at" in self.model_fields_set:
+ _dict['certifiedAt'] = None
+
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboard from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "certification": obj.get("certification"),
+ "certificationMessage": obj.get("certificationMessage"),
+ "certifiedAt": obj.get("certifiedAt"),
+ "certifiedBy": DeclarativeUserIdentifier.from_dict(obj["certifiedBy"]) if obj.get("certifiedBy") is not None else None,
+ "content": obj.get("content"),
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "permissions": [DeclarativeAnalyticalDashboardPermissionsInner.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None,
+ "summary": obj.get("summary"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_extension.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_extension.py
new file mode 100644
index 000000000..f72296f59
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_extension.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboardExtension(BaseModel):
+ """
+ DeclarativeAnalyticalDashboardExtension
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Analytical dashboard ID.")
+ permissions: List[DeclarativeAnalyticalDashboardPermissionsInner] = Field(description="A list of permissions.")
+ __properties: ClassVar[List[str]] = ["id", "permissions"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardExtension from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardExtension from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "permissions": [DeclarativeAnalyticalDashboardPermissionsInner.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_identifier.py
new file mode 100644
index 000000000..20c544345
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboardIdentifier(BaseModel):
+ """
+ An analytical dashboard identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of the analytical dashboard.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['analyticalDashboard']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('analyticalDashboard')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_assignment.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_assignment.py
new file mode 100644
index 000000000..df3d0b48d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_assignment.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboardPermissionAssignment(BaseModel):
+ """
+ Analytical dashboard permission.
+ """ # noqa: E501
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['EDIT', 'SHARE', 'VIEW']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('EDIT', 'SHARE', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionAssignment from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionAssignment from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee.py
new file mode 100644
index 000000000..69ed80eb9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboardPermissionForAssignee(BaseModel):
+ """
+ Analytical dashboard permission for an assignee.
+ """ # noqa: E501
+ name: StrictStr = Field(description="Permission name.")
+ assignee: AssigneeIdentifier
+ __properties: ClassVar[List[str]] = ["name", "assignee"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['EDIT', 'SHARE', 'VIEW']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('EDIT', 'SHARE', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionForAssignee from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionForAssignee from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name"),
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee_rule.py
new file mode 100644
index 000000000..a5e32fd22
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permission_for_assignee_rule.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_rule import AssigneeRule
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticalDashboardPermissionForAssigneeRule(BaseModel):
+ """
+ Analytical dashboard permission for a collection of assignees identified by a rule.
+ """ # noqa: E501
+ name: StrictStr = Field(description="Permission name.")
+ assignee_rule: AssigneeRule = Field(alias="assigneeRule")
+ __properties: ClassVar[List[str]] = ["name", "assigneeRule"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['EDIT', 'SHARE', 'VIEW']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('EDIT', 'SHARE', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionForAssigneeRule from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee_rule
+ if self.assignee_rule:
+ _dict['assigneeRule'] = self.assignee_rule.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticalDashboardPermissionForAssigneeRule from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name"),
+ "assigneeRule": AssigneeRule.from_dict(obj["assigneeRule"]) if obj.get("assigneeRule") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permissions_inner.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permissions_inner.py
new file mode 100644
index 000000000..659d428d1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytical_dashboard_permissions_inner.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.declarative_analytical_dashboard_permission_for_assignee import DeclarativeAnalyticalDashboardPermissionForAssignee
+from gooddata_api_client.models.declarative_analytical_dashboard_permission_for_assignee_rule import DeclarativeAnalyticalDashboardPermissionForAssigneeRule
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DECLARATIVEANALYTICALDASHBOARDPERMISSIONSINNER_ONE_OF_SCHEMAS = ["DeclarativeAnalyticalDashboardPermissionForAssignee", "DeclarativeAnalyticalDashboardPermissionForAssigneeRule"]
+
+class DeclarativeAnalyticalDashboardPermissionsInner(BaseModel):
+ """
+ DeclarativeAnalyticalDashboardPermissionsInner
+ """
+ # data type: DeclarativeAnalyticalDashboardPermissionForAssignee
+ oneof_schema_1_validator: Optional[DeclarativeAnalyticalDashboardPermissionForAssignee] = None
+ # data type: DeclarativeAnalyticalDashboardPermissionForAssigneeRule
+ oneof_schema_2_validator: Optional[DeclarativeAnalyticalDashboardPermissionForAssigneeRule] = None
+ actual_instance: Optional[Union[DeclarativeAnalyticalDashboardPermissionForAssignee, DeclarativeAnalyticalDashboardPermissionForAssigneeRule]] = None
+ one_of_schemas: Set[str] = { "DeclarativeAnalyticalDashboardPermissionForAssignee", "DeclarativeAnalyticalDashboardPermissionForAssigneeRule" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DeclarativeAnalyticalDashboardPermissionsInner.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DeclarativeAnalyticalDashboardPermissionForAssignee
+ if not isinstance(v, DeclarativeAnalyticalDashboardPermissionForAssignee):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DeclarativeAnalyticalDashboardPermissionForAssignee`")
+ else:
+ match += 1
+ # validate data type: DeclarativeAnalyticalDashboardPermissionForAssigneeRule
+ if not isinstance(v, DeclarativeAnalyticalDashboardPermissionForAssigneeRule):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DeclarativeAnalyticalDashboardPermissionForAssigneeRule`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DeclarativeAnalyticalDashboardPermissionsInner with oneOf schemas: DeclarativeAnalyticalDashboardPermissionForAssignee, DeclarativeAnalyticalDashboardPermissionForAssigneeRule. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DeclarativeAnalyticalDashboardPermissionForAssignee
+ try:
+ if match == 0:
+ instance.actual_instance = DeclarativeAnalyticalDashboardPermissionForAssignee.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into DeclarativeAnalyticalDashboardPermissionForAssigneeRule
+ try:
+ if match == 0:
+ instance.actual_instance = DeclarativeAnalyticalDashboardPermissionForAssigneeRule.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DeclarativeAnalyticalDashboardPermissionsInner with oneOf schemas: DeclarativeAnalyticalDashboardPermissionForAssignee, DeclarativeAnalyticalDashboardPermissionForAssigneeRule. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DeclarativeAnalyticalDashboardPermissionForAssignee, DeclarativeAnalyticalDashboardPermissionForAssigneeRule]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytics.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytics.py
new file mode 100644
index 000000000..52cc9cae5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytics.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_analytics_layer import DeclarativeAnalyticsLayer
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalytics(BaseModel):
+ """
+ Entities describing users' view on data.
+ """ # noqa: E501
+ analytics: Optional[DeclarativeAnalyticsLayer] = None
+ __properties: ClassVar[List[str]] = ["analytics"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalytics from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of analytics
+ if self.analytics:
+ _dict['analytics'] = self.analytics.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalytics from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analytics": DeclarativeAnalyticsLayer.from_dict(obj["analytics"]) if obj.get("analytics") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_analytics_layer.py b/gooddata-api-client/gooddata_api_client/models/declarative_analytics_layer.py
new file mode 100644
index 000000000..1bbe5ced2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_analytics_layer.py
@@ -0,0 +1,176 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_analytical_dashboard import DeclarativeAnalyticalDashboard
+from gooddata_api_client.models.declarative_analytical_dashboard_extension import DeclarativeAnalyticalDashboardExtension
+from gooddata_api_client.models.declarative_attribute_hierarchy import DeclarativeAttributeHierarchy
+from gooddata_api_client.models.declarative_dashboard_plugin import DeclarativeDashboardPlugin
+from gooddata_api_client.models.declarative_export_definition import DeclarativeExportDefinition
+from gooddata_api_client.models.declarative_filter_context import DeclarativeFilterContext
+from gooddata_api_client.models.declarative_memory_item import DeclarativeMemoryItem
+from gooddata_api_client.models.declarative_metric import DeclarativeMetric
+from gooddata_api_client.models.declarative_visualization_object import DeclarativeVisualizationObject
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAnalyticsLayer(BaseModel):
+ """
+ DeclarativeAnalyticsLayer
+ """ # noqa: E501
+ analytical_dashboard_extensions: Optional[List[DeclarativeAnalyticalDashboardExtension]] = Field(default=None, description="A list of dashboard permissions assigned to a related dashboard.", alias="analyticalDashboardExtensions")
+ analytical_dashboards: Optional[List[DeclarativeAnalyticalDashboard]] = Field(default=None, description="A list of analytical dashboards available in the model.", alias="analyticalDashboards")
+ attribute_hierarchies: Optional[List[DeclarativeAttributeHierarchy]] = Field(default=None, description="A list of attribute hierarchies.", alias="attributeHierarchies")
+ dashboard_plugins: Optional[List[DeclarativeDashboardPlugin]] = Field(default=None, description="A list of dashboard plugins available in the model.", alias="dashboardPlugins")
+ export_definitions: Optional[List[DeclarativeExportDefinition]] = Field(default=None, description="A list of export definitions.", alias="exportDefinitions")
+ filter_contexts: Optional[List[DeclarativeFilterContext]] = Field(default=None, description="A list of filter contexts available in the model.", alias="filterContexts")
+ memory_items: Optional[List[DeclarativeMemoryItem]] = Field(default=None, description="A list of AI memory items available in the workspace.", alias="memoryItems")
+ metrics: Optional[List[DeclarativeMetric]] = Field(default=None, description="A list of metrics available in the model.")
+ visualization_objects: Optional[List[DeclarativeVisualizationObject]] = Field(default=None, description="A list of visualization objects available in the model.", alias="visualizationObjects")
+ __properties: ClassVar[List[str]] = ["analyticalDashboardExtensions", "analyticalDashboards", "attributeHierarchies", "dashboardPlugins", "exportDefinitions", "filterContexts", "memoryItems", "metrics", "visualizationObjects"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticsLayer from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in analytical_dashboard_extensions (list)
+ _items = []
+ if self.analytical_dashboard_extensions:
+ for _item_analytical_dashboard_extensions in self.analytical_dashboard_extensions:
+ if _item_analytical_dashboard_extensions:
+ _items.append(_item_analytical_dashboard_extensions.to_dict())
+ _dict['analyticalDashboardExtensions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in analytical_dashboards (list)
+ _items = []
+ if self.analytical_dashboards:
+ for _item_analytical_dashboards in self.analytical_dashboards:
+ if _item_analytical_dashboards:
+ _items.append(_item_analytical_dashboards.to_dict())
+ _dict['analyticalDashboards'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in attribute_hierarchies (list)
+ _items = []
+ if self.attribute_hierarchies:
+ for _item_attribute_hierarchies in self.attribute_hierarchies:
+ if _item_attribute_hierarchies:
+ _items.append(_item_attribute_hierarchies.to_dict())
+ _dict['attributeHierarchies'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboard_plugins (list)
+ _items = []
+ if self.dashboard_plugins:
+ for _item_dashboard_plugins in self.dashboard_plugins:
+ if _item_dashboard_plugins:
+ _items.append(_item_dashboard_plugins.to_dict())
+ _dict['dashboardPlugins'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in export_definitions (list)
+ _items = []
+ if self.export_definitions:
+ for _item_export_definitions in self.export_definitions:
+ if _item_export_definitions:
+ _items.append(_item_export_definitions.to_dict())
+ _dict['exportDefinitions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in filter_contexts (list)
+ _items = []
+ if self.filter_contexts:
+ for _item_filter_contexts in self.filter_contexts:
+ if _item_filter_contexts:
+ _items.append(_item_filter_contexts.to_dict())
+ _dict['filterContexts'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in memory_items (list)
+ _items = []
+ if self.memory_items:
+ for _item_memory_items in self.memory_items:
+ if _item_memory_items:
+ _items.append(_item_memory_items.to_dict())
+ _dict['memoryItems'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
+ _items = []
+ if self.metrics:
+ for _item_metrics in self.metrics:
+ if _item_metrics:
+ _items.append(_item_metrics.to_dict())
+ _dict['metrics'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in visualization_objects (list)
+ _items = []
+ if self.visualization_objects:
+ for _item_visualization_objects in self.visualization_objects:
+ if _item_visualization_objects:
+ _items.append(_item_visualization_objects.to_dict())
+ _dict['visualizationObjects'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAnalyticsLayer from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analyticalDashboardExtensions": [DeclarativeAnalyticalDashboardExtension.from_dict(_item) for _item in obj["analyticalDashboardExtensions"]] if obj.get("analyticalDashboardExtensions") is not None else None,
+ "analyticalDashboards": [DeclarativeAnalyticalDashboard.from_dict(_item) for _item in obj["analyticalDashboards"]] if obj.get("analyticalDashboards") is not None else None,
+ "attributeHierarchies": [DeclarativeAttributeHierarchy.from_dict(_item) for _item in obj["attributeHierarchies"]] if obj.get("attributeHierarchies") is not None else None,
+ "dashboardPlugins": [DeclarativeDashboardPlugin.from_dict(_item) for _item in obj["dashboardPlugins"]] if obj.get("dashboardPlugins") is not None else None,
+ "exportDefinitions": [DeclarativeExportDefinition.from_dict(_item) for _item in obj["exportDefinitions"]] if obj.get("exportDefinitions") is not None else None,
+ "filterContexts": [DeclarativeFilterContext.from_dict(_item) for _item in obj["filterContexts"]] if obj.get("filterContexts") is not None else None,
+ "memoryItems": [DeclarativeMemoryItem.from_dict(_item) for _item in obj["memoryItems"]] if obj.get("memoryItems") is not None else None,
+ "metrics": [DeclarativeMetric.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None,
+ "visualizationObjects": [DeclarativeVisualizationObject.from_dict(_item) for _item in obj["visualizationObjects"]] if obj.get("visualizationObjects") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_attribute.py b/gooddata-api-client/gooddata_api_client/models/declarative_attribute.py
new file mode 100644
index 000000000..908621d64
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_attribute.py
@@ -0,0 +1,156 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_label import DeclarativeLabel
+from gooddata_api_client.models.label_identifier import LabelIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAttribute(BaseModel):
+ """
+ A dataset attribute.
+ """ # noqa: E501
+ default_view: Optional[LabelIdentifier] = Field(default=None, alias="defaultView")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Attribute description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Attribute ID.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="If true, this attribute is hidden from AI search results.", alias="isHidden")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Flag indicating whether the associated source column allows null values.", alias="isNullable")
+ labels: List[DeclarativeLabel] = Field(description="An array of attribute labels.")
+ locale: Optional[StrictStr] = Field(default=None, description="Default locale for primary label.")
+ null_value: Optional[StrictStr] = Field(default=None, description="Value used in coalesce during joins instead of null.", alias="nullValue")
+ sort_column: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Attribute sort column.", alias="sortColumn")
+ sort_direction: Optional[StrictStr] = Field(default=None, description="Attribute sort direction.", alias="sortDirection")
+ source_column: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A name of the source column that is the primary label", alias="sourceColumn")
+ source_column_data_type: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="A type of the source column", alias="sourceColumnDataType")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Attribute title.")
+ __properties: ClassVar[List[str]] = ["defaultView", "description", "id", "isHidden", "isNullable", "labels", "locale", "nullValue", "sortColumn", "sortDirection", "sourceColumn", "sourceColumnDataType", "tags", "title"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('sort_direction')
+ def sort_direction_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ASC', 'DESC']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ASC', 'DESC')")
+ return value
+
+ @field_validator('source_column_data_type')
+ def source_column_data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAttribute from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of default_view
+ if self.default_view:
+ _dict['defaultView'] = self.default_view.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in labels (list)
+ _items = []
+ if self.labels:
+ for _item_labels in self.labels:
+ if _item_labels:
+ _items.append(_item_labels.to_dict())
+ _dict['labels'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAttribute from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "defaultView": LabelIdentifier.from_dict(obj["defaultView"]) if obj.get("defaultView") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isHidden": obj.get("isHidden"),
+ "isNullable": obj.get("isNullable"),
+ "labels": [DeclarativeLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,
+ "locale": obj.get("locale"),
+ "nullValue": obj.get("nullValue"),
+ "sortColumn": obj.get("sortColumn"),
+ "sortDirection": obj.get("sortDirection"),
+ "sourceColumn": obj.get("sourceColumn"),
+ "sourceColumnDataType": obj.get("sourceColumnDataType"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_attribute_hierarchy.py b/gooddata-api-client/gooddata_api_client/models/declarative_attribute_hierarchy.py
new file mode 100644
index 000000000..016ca7772
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_attribute_hierarchy.py
@@ -0,0 +1,158 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAttributeHierarchy(BaseModel):
+ """
+ DeclarativeAttributeHierarchy
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Attribute hierarchy object description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Attribute hierarchy object ID.")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Attribute hierarchy object title.")
+ __properties: ClassVar[List[str]] = ["content", "createdAt", "createdBy", "description", "id", "modifiedAt", "modifiedBy", "tags", "title"]
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAttributeHierarchy from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAttributeHierarchy from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_automation.py b/gooddata-api-client/gooddata_api_client/models/declarative_automation.py
new file mode 100644
index 000000000..1dec515bc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_automation.py
@@ -0,0 +1,303 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.automation_alert import AutomationAlert
+from gooddata_api_client.models.automation_dashboard_tabular_export import AutomationDashboardTabularExport
+from gooddata_api_client.models.automation_external_recipient import AutomationExternalRecipient
+from gooddata_api_client.models.automation_image_export import AutomationImageExport
+from gooddata_api_client.models.automation_metadata import AutomationMetadata
+from gooddata_api_client.models.automation_raw_export import AutomationRawExport
+from gooddata_api_client.models.automation_schedule import AutomationSchedule
+from gooddata_api_client.models.automation_slides_export import AutomationSlidesExport
+from gooddata_api_client.models.automation_tabular_export import AutomationTabularExport
+from gooddata_api_client.models.automation_visual_export import AutomationVisualExport
+from gooddata_api_client.models.declarative_analytical_dashboard_identifier import DeclarativeAnalyticalDashboardIdentifier
+from gooddata_api_client.models.declarative_export_definition_identifier import DeclarativeExportDefinitionIdentifier
+from gooddata_api_client.models.declarative_notification_channel_identifier import DeclarativeNotificationChannelIdentifier
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeAutomation(BaseModel):
+ """
+ DeclarativeAutomation
+ """ # noqa: E501
+ alert: Optional[AutomationAlert] = None
+ analytical_dashboard: Optional[DeclarativeAnalyticalDashboardIdentifier] = Field(default=None, alias="analyticalDashboard")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ dashboard_tabular_exports: Optional[List[AutomationDashboardTabularExport]] = Field(default=None, alias="dashboardTabularExports")
+ description: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
+ details: Optional[Dict[str, Annotated[str, Field(strict=True, max_length=10000)]]] = Field(default=None, description="TODO")
+ evaluation_mode: Optional[StrictStr] = Field(default='PER_RECIPIENT', description="Specify automation evaluation mode.", alias="evaluationMode")
+ export_definitions: Optional[List[DeclarativeExportDefinitionIdentifier]] = Field(default=None, alias="exportDefinitions")
+ external_recipients: Optional[List[AutomationExternalRecipient]] = Field(default=None, description="External recipients of the automation action results.", alias="externalRecipients")
+ id: Annotated[str, Field(strict=True)]
+ image_exports: Optional[List[AutomationImageExport]] = Field(default=None, alias="imageExports")
+ metadata: Optional[AutomationMetadata] = None
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ notification_channel: Optional[DeclarativeNotificationChannelIdentifier] = Field(default=None, alias="notificationChannel")
+ raw_exports: Optional[List[AutomationRawExport]] = Field(default=None, alias="rawExports")
+ recipients: Optional[List[DeclarativeUserIdentifier]] = None
+ schedule: Optional[AutomationSchedule] = None
+ slides_exports: Optional[List[AutomationSlidesExport]] = Field(default=None, alias="slidesExports")
+ state: Optional[StrictStr] = Field(default='ACTIVE', description="Current state of the automation.")
+ tabular_exports: Optional[List[AutomationTabularExport]] = Field(default=None, alias="tabularExports")
+ tags: Optional[List[StrictStr]] = None
+ title: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
+ visual_exports: Optional[List[AutomationVisualExport]] = Field(default=None, alias="visualExports")
+ __properties: ClassVar[List[str]] = ["alert", "analyticalDashboard", "createdAt", "createdBy", "dashboardTabularExports", "description", "details", "evaluationMode", "exportDefinitions", "externalRecipients", "id", "imageExports", "metadata", "modifiedAt", "modifiedBy", "notificationChannel", "rawExports", "recipients", "schedule", "slidesExports", "state", "tabularExports", "tags", "title", "visualExports"]
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('evaluation_mode')
+ def evaluation_mode_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['SHARED', 'PER_RECIPIENT']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SHARED', 'PER_RECIPIENT')")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('state')
+ def state_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ACTIVE', 'PAUSED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ACTIVE', 'PAUSED')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeAutomation from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of alert
+ if self.alert:
+ _dict['alert'] = self.alert.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of analytical_dashboard
+ if self.analytical_dashboard:
+ _dict['analyticalDashboard'] = self.analytical_dashboard.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in dashboard_tabular_exports (list)
+ _items = []
+ if self.dashboard_tabular_exports:
+ for _item_dashboard_tabular_exports in self.dashboard_tabular_exports:
+ if _item_dashboard_tabular_exports:
+ _items.append(_item_dashboard_tabular_exports.to_dict())
+ _dict['dashboardTabularExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in export_definitions (list)
+ _items = []
+ if self.export_definitions:
+ for _item_export_definitions in self.export_definitions:
+ if _item_export_definitions:
+ _items.append(_item_export_definitions.to_dict())
+ _dict['exportDefinitions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in external_recipients (list)
+ _items = []
+ if self.external_recipients:
+ for _item_external_recipients in self.external_recipients:
+ if _item_external_recipients:
+ _items.append(_item_external_recipients.to_dict())
+ _dict['externalRecipients'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in image_exports (list)
+ _items = []
+ if self.image_exports:
+ for _item_image_exports in self.image_exports:
+ if _item_image_exports:
+ _items.append(_item_image_exports.to_dict())
+ _dict['imageExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of metadata
+ if self.metadata:
+ _dict['metadata'] = self.metadata.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of notification_channel
+ if self.notification_channel:
+ _dict['notificationChannel'] = self.notification_channel.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in raw_exports (list)
+ _items = []
+ if self.raw_exports:
+ for _item_raw_exports in self.raw_exports:
+ if _item_raw_exports:
+ _items.append(_item_raw_exports.to_dict())
+ _dict['rawExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in recipients (list)
+ _items = []
+ if self.recipients:
+ for _item_recipients in self.recipients:
+ if _item_recipients:
+ _items.append(_item_recipients.to_dict())
+ _dict['recipients'] = _items
+ # override the default output from pydantic by calling `to_dict()` of schedule
+ if self.schedule:
+ _dict['schedule'] = self.schedule.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in slides_exports (list)
+ _items = []
+ if self.slides_exports:
+ for _item_slides_exports in self.slides_exports:
+ if _item_slides_exports:
+ _items.append(_item_slides_exports.to_dict())
+ _dict['slidesExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in tabular_exports (list)
+ _items = []
+ if self.tabular_exports:
+ for _item_tabular_exports in self.tabular_exports:
+ if _item_tabular_exports:
+ _items.append(_item_tabular_exports.to_dict())
+ _dict['tabularExports'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in visual_exports (list)
+ _items = []
+ if self.visual_exports:
+ for _item_visual_exports in self.visual_exports:
+ if _item_visual_exports:
+ _items.append(_item_visual_exports.to_dict())
+ _dict['visualExports'] = _items
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if metadata (nullable) is None
+ # and model_fields_set contains the field
+ if self.metadata is None and "metadata" in self.model_fields_set:
+ _dict['metadata'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeAutomation from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "alert": AutomationAlert.from_dict(obj["alert"]) if obj.get("alert") is not None else None,
+ "analyticalDashboard": DeclarativeAnalyticalDashboardIdentifier.from_dict(obj["analyticalDashboard"]) if obj.get("analyticalDashboard") is not None else None,
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "dashboardTabularExports": [AutomationDashboardTabularExport.from_dict(_item) for _item in obj["dashboardTabularExports"]] if obj.get("dashboardTabularExports") is not None else None,
+ "description": obj.get("description"),
+ "details": obj.get("details"),
+ "evaluationMode": obj.get("evaluationMode") if obj.get("evaluationMode") is not None else 'PER_RECIPIENT',
+ "exportDefinitions": [DeclarativeExportDefinitionIdentifier.from_dict(_item) for _item in obj["exportDefinitions"]] if obj.get("exportDefinitions") is not None else None,
+ "externalRecipients": [AutomationExternalRecipient.from_dict(_item) for _item in obj["externalRecipients"]] if obj.get("externalRecipients") is not None else None,
+ "id": obj.get("id"),
+ "imageExports": [AutomationImageExport.from_dict(_item) for _item in obj["imageExports"]] if obj.get("imageExports") is not None else None,
+ "metadata": AutomationMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None,
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "notificationChannel": DeclarativeNotificationChannelIdentifier.from_dict(obj["notificationChannel"]) if obj.get("notificationChannel") is not None else None,
+ "rawExports": [AutomationRawExport.from_dict(_item) for _item in obj["rawExports"]] if obj.get("rawExports") is not None else None,
+ "recipients": [DeclarativeUserIdentifier.from_dict(_item) for _item in obj["recipients"]] if obj.get("recipients") is not None else None,
+ "schedule": AutomationSchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None,
+ "slidesExports": [AutomationSlidesExport.from_dict(_item) for _item in obj["slidesExports"]] if obj.get("slidesExports") is not None else None,
+ "state": obj.get("state") if obj.get("state") is not None else 'ACTIVE',
+ "tabularExports": [AutomationTabularExport.from_dict(_item) for _item in obj["tabularExports"]] if obj.get("tabularExports") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "visualExports": [AutomationVisualExport.from_dict(_item) for _item in obj["visualExports"]] if obj.get("visualExports") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_color_palette.py b/gooddata-api-client/gooddata_api_client/models/declarative_color_palette.py
new file mode 100644
index 000000000..8f3ae0bb2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_color_palette.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeColorPalette(BaseModel):
+ """
+ Color palette and its properties.
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ id: StrictStr
+ name: Annotated[str, Field(strict=True, max_length=255)]
+ __properties: ClassVar[List[str]] = ["content", "id", "name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeColorPalette from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeColorPalette from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "id": obj.get("id"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_column.py b/gooddata-api-client/gooddata_api_client/models/declarative_column.py
new file mode 100644
index 000000000..a564b60e6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_column.py
@@ -0,0 +1,109 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeColumn(BaseModel):
+ """
+ A table column.
+ """ # noqa: E501
+ data_type: StrictStr = Field(description="Column type", alias="dataType")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Column description/comment from database")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Column is nullable", alias="isNullable")
+ is_primary_key: Optional[StrictBool] = Field(default=None, description="Is column part of primary key?", alias="isPrimaryKey")
+ name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Column name")
+ referenced_table_column: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Referenced table (Foreign key)", alias="referencedTableColumn")
+ referenced_table_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Referenced table (Foreign key)", alias="referencedTableId")
+ __properties: ClassVar[List[str]] = ["dataType", "description", "isNullable", "isPrimaryKey", "name", "referencedTableColumn", "referencedTableId"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeColumn from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeColumn from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataType": obj.get("dataType"),
+ "description": obj.get("description"),
+ "isNullable": obj.get("isNullable"),
+ "isPrimaryKey": obj.get("isPrimaryKey"),
+ "name": obj.get("name"),
+ "referencedTableColumn": obj.get("referencedTableColumn"),
+ "referencedTableId": obj.get("referencedTableId")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_csp_directive.py b/gooddata-api-client/gooddata_api_client/models/declarative_csp_directive.py
new file mode 100644
index 000000000..a75f635a8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_csp_directive.py
@@ -0,0 +1,91 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeCspDirective(BaseModel):
+ """
+ DeclarativeCspDirective
+ """ # noqa: E501
+ directive: Annotated[str, Field(strict=True, max_length=255)]
+ sources: List[StrictStr]
+ __properties: ClassVar[List[str]] = ["directive", "sources"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeCspDirective from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeCspDirective from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "directive": obj.get("directive"),
+ "sources": obj.get("sources")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_custom_application_setting.py b/gooddata-api-client/gooddata_api_client/models/declarative_custom_application_setting.py
new file mode 100644
index 000000000..204fbe9ed
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_custom_application_setting.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeCustomApplicationSetting(BaseModel):
+ """
+ Custom application setting and its value.
+ """ # noqa: E501
+ application_name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="The application id", alias="applicationName")
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON content. Maximum supported length is 250000 characters.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Custom Application Setting ID.")
+ __properties: ClassVar[List[str]] = ["applicationName", "content", "id"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomApplicationSetting from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomApplicationSetting from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "applicationName": obj.get("applicationName"),
+ "content": obj.get("content"),
+ "id": obj.get("id")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collection.py b/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collection.py
new file mode 100644
index 000000000..b7ad34449
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collection.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeCustomGeoCollection(BaseModel):
+ """
+ A declarative form of custom geo collection.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Description of the custom geo collection.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Custom geo collection ID.")
+ name: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Name of the custom geo collection.")
+ __properties: ClassVar[List[str]] = ["description", "id", "name"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomGeoCollection from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomGeoCollection from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collections.py b/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collections.py
new file mode 100644
index 000000000..14fddf52d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_custom_geo_collections.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_custom_geo_collection import DeclarativeCustomGeoCollection
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeCustomGeoCollections(BaseModel):
+ """
+ Custom geo collections.
+ """ # noqa: E501
+ custom_geo_collections: List[DeclarativeCustomGeoCollection] = Field(alias="customGeoCollections")
+ __properties: ClassVar[List[str]] = ["customGeoCollections"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomGeoCollections from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in custom_geo_collections (list)
+ _items = []
+ if self.custom_geo_collections:
+ for _item_custom_geo_collections in self.custom_geo_collections:
+ if _item_custom_geo_collections:
+ _items.append(_item_custom_geo_collections.to_dict())
+ _dict['customGeoCollections'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeCustomGeoCollections from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "customGeoCollections": [DeclarativeCustomGeoCollection.from_dict(_item) for _item in obj["customGeoCollections"]] if obj.get("customGeoCollections") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_dashboard_plugin.py b/gooddata-api-client/gooddata_api_client/models/declarative_dashboard_plugin.py
new file mode 100644
index 000000000..191e92078
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_dashboard_plugin.py
@@ -0,0 +1,158 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDashboardPlugin(BaseModel):
+ """
+ DeclarativeDashboardPlugin
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Dashboard plugin description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Dashboard plugin object ID.")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Dashboard plugin object title.")
+ __properties: ClassVar[List[str]] = ["content", "createdAt", "createdBy", "description", "id", "modifiedAt", "modifiedBy", "tags", "title"]
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDashboardPlugin from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDashboardPlugin from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_data_source.py b/gooddata-api-client/gooddata_api_client/models/declarative_data_source.py
new file mode 100644
index 000000000..689dff159
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_data_source.py
@@ -0,0 +1,213 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_data_source_permission import DeclarativeDataSourcePermission
+from gooddata_api_client.models.parameter import Parameter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDataSource(BaseModel):
+ """
+ A data source and its properties.
+ """ # noqa: E501
+ alternative_data_source_id: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Alternative data source ID. It is a weak reference meaning data source does not have to exist. All the entities (e.g. tables) from the data source must be available also in the alternative data source. It must be present in the same organization as the data source.", alias="alternativeDataSourceId")
+ authentication_type: Optional[StrictStr] = Field(default=None, description="Type of authentication used to connect to the database.", alias="authenticationType")
+ cache_strategy: Optional[StrictStr] = Field(default=None, description="Determines how the results coming from a particular datasource should be cached. - ALWAYS: The results from the datasource should be cached normally (the default). - NEVER: The results from the datasource should never be cached.", alias="cacheStrategy")
+ client_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Id of client with permission to connect to the data source.", alias="clientId")
+ client_secret: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="The client secret to use to connect to the database providing the data for the data source.", alias="clientSecret")
+ decoded_parameters: Optional[List[Parameter]] = Field(default=None, alias="decodedParameters")
+ id: Annotated[str, Field(strict=True)] = Field(description="Data source ID.")
+ name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Name of the data source.")
+ parameters: Optional[List[Parameter]] = None
+ password: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Password for the data-source user, property is never returned back.")
+ permissions: Optional[List[DeclarativeDataSourcePermission]] = None
+ private_key: Optional[Annotated[str, Field(strict=True, max_length=15000)]] = Field(default=None, description="The private key to use to connect to the database providing the data for the data source.", alias="privateKey")
+ private_key_passphrase: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="The passphrase used to encrypt the private key.", alias="privateKeyPassphrase")
+ var_schema: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A scheme/database with the data.", alias="schema")
+ token: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Token as an alternative to username and password.")
+ type: StrictStr = Field(description="Type of database.")
+ url: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="An connection string relevant to type of database.")
+ username: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="User with permission connect the data source/database.")
+ __properties: ClassVar[List[str]] = ["alternativeDataSourceId", "authenticationType", "cacheStrategy", "clientId", "clientSecret", "decodedParameters", "id", "name", "parameters", "password", "permissions", "privateKey", "privateKeyPassphrase", "schema", "token", "type", "url", "username"]
+
+ @field_validator('alternative_data_source_id')
+ def alternative_data_source_id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('authentication_type')
+ def authentication_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['USERNAME_PASSWORD', 'TOKEN', 'KEY_PAIR', 'CLIENT_SECRET', 'ACCESS_TOKEN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('USERNAME_PASSWORD', 'TOKEN', 'KEY_PAIR', 'CLIENT_SECRET', 'ACCESS_TOKEN')")
+ return value
+
+ @field_validator('cache_strategy')
+ def cache_strategy_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ALWAYS', 'NEVER']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ALWAYS', 'NEVER')")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['POSTGRESQL', 'REDSHIFT', 'VERTICA', 'SNOWFLAKE', 'ADS', 'BIGQUERY', 'MSSQL', 'PRESTO', 'DREMIO', 'DRILL', 'GREENPLUM', 'AZURESQL', 'SYNAPSESQL', 'DATABRICKS', 'GDSTORAGE', 'CLICKHOUSE', 'MYSQL', 'MARIADB', 'ORACLE', 'PINOT', 'SINGLESTORE', 'MOTHERDUCK', 'FLEXCONNECT', 'STARROCKS', 'ATHENA', 'MONGODB', 'CRATEDB', 'AILAKEHOUSE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('POSTGRESQL', 'REDSHIFT', 'VERTICA', 'SNOWFLAKE', 'ADS', 'BIGQUERY', 'MSSQL', 'PRESTO', 'DREMIO', 'DRILL', 'GREENPLUM', 'AZURESQL', 'SYNAPSESQL', 'DATABRICKS', 'GDSTORAGE', 'CLICKHOUSE', 'MYSQL', 'MARIADB', 'ORACLE', 'PINOT', 'SINGLESTORE', 'MOTHERDUCK', 'FLEXCONNECT', 'STARROCKS', 'ATHENA', 'MONGODB', 'CRATEDB', 'AILAKEHOUSE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSource from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in decoded_parameters (list)
+ _items = []
+ if self.decoded_parameters:
+ for _item_decoded_parameters in self.decoded_parameters:
+ if _item_decoded_parameters:
+ _items.append(_item_decoded_parameters.to_dict())
+ _dict['decodedParameters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in parameters (list)
+ _items = []
+ if self.parameters:
+ for _item_parameters in self.parameters:
+ if _item_parameters:
+ _items.append(_item_parameters.to_dict())
+ _dict['parameters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ # set to None if alternative_data_source_id (nullable) is None
+ # and model_fields_set contains the field
+ if self.alternative_data_source_id is None and "alternative_data_source_id" in self.model_fields_set:
+ _dict['alternativeDataSourceId'] = None
+
+ # set to None if authentication_type (nullable) is None
+ # and model_fields_set contains the field
+ if self.authentication_type is None and "authentication_type" in self.model_fields_set:
+ _dict['authenticationType'] = None
+
+ # set to None if private_key (nullable) is None
+ # and model_fields_set contains the field
+ if self.private_key is None and "private_key" in self.model_fields_set:
+ _dict['privateKey'] = None
+
+ # set to None if private_key_passphrase (nullable) is None
+ # and model_fields_set contains the field
+ if self.private_key_passphrase is None and "private_key_passphrase" in self.model_fields_set:
+ _dict['privateKeyPassphrase'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSource from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "alternativeDataSourceId": obj.get("alternativeDataSourceId"),
+ "authenticationType": obj.get("authenticationType"),
+ "cacheStrategy": obj.get("cacheStrategy"),
+ "clientId": obj.get("clientId"),
+ "clientSecret": obj.get("clientSecret"),
+ "decodedParameters": [Parameter.from_dict(_item) for _item in obj["decodedParameters"]] if obj.get("decodedParameters") is not None else None,
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "parameters": [Parameter.from_dict(_item) for _item in obj["parameters"]] if obj.get("parameters") is not None else None,
+ "password": obj.get("password"),
+ "permissions": [DeclarativeDataSourcePermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None,
+ "privateKey": obj.get("privateKey"),
+ "privateKeyPassphrase": obj.get("privateKeyPassphrase"),
+ "schema": obj.get("schema"),
+ "token": obj.get("token"),
+ "type": obj.get("type"),
+ "url": obj.get("url"),
+ "username": obj.get("username")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permission.py
new file mode 100644
index 000000000..ba9458fdc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDataSourcePermission(BaseModel):
+ """
+ DeclarativeDataSourcePermission
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['MANAGE', 'USE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('MANAGE', 'USE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSourcePermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSourcePermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permissions.py b/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permissions.py
new file mode 100644
index 000000000..757fb626f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_data_source_permissions.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_data_source_permission import DeclarativeDataSourcePermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDataSourcePermissions(BaseModel):
+ """
+ Data source permissions.
+ """ # noqa: E501
+ permissions: Optional[List[DeclarativeDataSourcePermission]] = None
+ __properties: ClassVar[List[str]] = ["permissions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSourcePermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSourcePermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "permissions": [DeclarativeDataSourcePermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_data_sources.py b/gooddata-api-client/gooddata_api_client/models/declarative_data_sources.py
new file mode 100644
index 000000000..d3a147bba
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_data_sources.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_data_source import DeclarativeDataSource
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDataSources(BaseModel):
+ """
+ A data source and its properties.
+ """ # noqa: E501
+ data_sources: List[DeclarativeDataSource] = Field(alias="dataSources")
+ __properties: ClassVar[List[str]] = ["dataSources"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSources from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in data_sources (list)
+ _items = []
+ if self.data_sources:
+ for _item_data_sources in self.data_sources:
+ if _item_data_sources:
+ _items.append(_item_data_sources.to_dict())
+ _dict['dataSources'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDataSources from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataSources": [DeclarativeDataSource.from_dict(_item) for _item in obj["dataSources"]] if obj.get("dataSources") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_dataset.py b/gooddata-api-client/gooddata_api_client/models/declarative_dataset.py
new file mode 100644
index 000000000..254d6bb3b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_dataset.py
@@ -0,0 +1,186 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.data_source_table_identifier import DataSourceTableIdentifier
+from gooddata_api_client.models.declarative_aggregated_fact import DeclarativeAggregatedFact
+from gooddata_api_client.models.declarative_attribute import DeclarativeAttribute
+from gooddata_api_client.models.declarative_dataset_sql import DeclarativeDatasetSql
+from gooddata_api_client.models.declarative_fact import DeclarativeFact
+from gooddata_api_client.models.declarative_reference import DeclarativeReference
+from gooddata_api_client.models.declarative_workspace_data_filter_column import DeclarativeWorkspaceDataFilterColumn
+from gooddata_api_client.models.declarative_workspace_data_filter_references import DeclarativeWorkspaceDataFilterReferences
+from gooddata_api_client.models.grain_identifier import GrainIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDataset(BaseModel):
+ """
+ A dataset defined by its properties.
+ """ # noqa: E501
+ aggregated_facts: Optional[List[DeclarativeAggregatedFact]] = Field(default=None, description="An array of aggregated facts.", alias="aggregatedFacts")
+ attributes: Optional[List[DeclarativeAttribute]] = Field(default=None, description="An array of attributes.")
+ data_source_table_id: Optional[DataSourceTableIdentifier] = Field(default=None, alias="dataSourceTableId")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="A dataset description.")
+ facts: Optional[List[DeclarativeFact]] = Field(default=None, description="An array of facts.")
+ grain: List[GrainIdentifier] = Field(description="An array of grain identifiers.")
+ id: Annotated[str, Field(strict=True)] = Field(description="The Dataset ID. This ID is further used to refer to this instance of dataset.")
+ precedence: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Precedence used in aggregate awareness.")
+ references: List[DeclarativeReference] = Field(description="An array of references.")
+ sql: Optional[DeclarativeDatasetSql] = None
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A dataset title.")
+ workspace_data_filter_columns: Optional[List[DeclarativeWorkspaceDataFilterColumn]] = Field(default=None, description="An array of columns which are available for match to implicit workspace data filters.", alias="workspaceDataFilterColumns")
+ workspace_data_filter_references: Optional[List[DeclarativeWorkspaceDataFilterReferences]] = Field(default=None, description="An array of explicit workspace data filters.", alias="workspaceDataFilterReferences")
+ __properties: ClassVar[List[str]] = ["aggregatedFacts", "attributes", "dataSourceTableId", "description", "facts", "grain", "id", "precedence", "references", "sql", "tags", "title", "workspaceDataFilterColumns", "workspaceDataFilterReferences"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDataset from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in aggregated_facts (list)
+ _items = []
+ if self.aggregated_facts:
+ for _item_aggregated_facts in self.aggregated_facts:
+ if _item_aggregated_facts:
+ _items.append(_item_aggregated_facts.to_dict())
+ _dict['aggregatedFacts'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
+ _items = []
+ if self.attributes:
+ for _item_attributes in self.attributes:
+ if _item_attributes:
+ _items.append(_item_attributes.to_dict())
+ _dict['attributes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of data_source_table_id
+ if self.data_source_table_id:
+ _dict['dataSourceTableId'] = self.data_source_table_id.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in facts (list)
+ _items = []
+ if self.facts:
+ for _item_facts in self.facts:
+ if _item_facts:
+ _items.append(_item_facts.to_dict())
+ _dict['facts'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in grain (list)
+ _items = []
+ if self.grain:
+ for _item_grain in self.grain:
+ if _item_grain:
+ _items.append(_item_grain.to_dict())
+ _dict['grain'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in references (list)
+ _items = []
+ if self.references:
+ for _item_references in self.references:
+ if _item_references:
+ _items.append(_item_references.to_dict())
+ _dict['references'] = _items
+ # override the default output from pydantic by calling `to_dict()` of sql
+ if self.sql:
+ _dict['sql'] = self.sql.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filter_columns (list)
+ _items = []
+ if self.workspace_data_filter_columns:
+ for _item_workspace_data_filter_columns in self.workspace_data_filter_columns:
+ if _item_workspace_data_filter_columns:
+ _items.append(_item_workspace_data_filter_columns.to_dict())
+ _dict['workspaceDataFilterColumns'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filter_references (list)
+ _items = []
+ if self.workspace_data_filter_references:
+ for _item_workspace_data_filter_references in self.workspace_data_filter_references:
+ if _item_workspace_data_filter_references:
+ _items.append(_item_workspace_data_filter_references.to_dict())
+ _dict['workspaceDataFilterReferences'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDataset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "aggregatedFacts": [DeclarativeAggregatedFact.from_dict(_item) for _item in obj["aggregatedFacts"]] if obj.get("aggregatedFacts") is not None else None,
+ "attributes": [DeclarativeAttribute.from_dict(_item) for _item in obj["attributes"]] if obj.get("attributes") is not None else None,
+ "dataSourceTableId": DataSourceTableIdentifier.from_dict(obj["dataSourceTableId"]) if obj.get("dataSourceTableId") is not None else None,
+ "description": obj.get("description"),
+ "facts": [DeclarativeFact.from_dict(_item) for _item in obj["facts"]] if obj.get("facts") is not None else None,
+ "grain": [GrainIdentifier.from_dict(_item) for _item in obj["grain"]] if obj.get("grain") is not None else None,
+ "id": obj.get("id"),
+ "precedence": obj.get("precedence"),
+ "references": [DeclarativeReference.from_dict(_item) for _item in obj["references"]] if obj.get("references") is not None else None,
+ "sql": DeclarativeDatasetSql.from_dict(obj["sql"]) if obj.get("sql") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "workspaceDataFilterColumns": [DeclarativeWorkspaceDataFilterColumn.from_dict(_item) for _item in obj["workspaceDataFilterColumns"]] if obj.get("workspaceDataFilterColumns") is not None else None,
+ "workspaceDataFilterReferences": [DeclarativeWorkspaceDataFilterReferences.from_dict(_item) for _item in obj["workspaceDataFilterReferences"]] if obj.get("workspaceDataFilterReferences") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_dataset_extension.py b/gooddata-api-client/gooddata_api_client/models/declarative_dataset_extension.py
new file mode 100644
index 000000000..62121aede
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_dataset_extension.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_workspace_data_filter_references import DeclarativeWorkspaceDataFilterReferences
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDatasetExtension(BaseModel):
+ """
+ A dataset extension properties.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="The Dataset ID. This ID is further used to refer to this instance of dataset.")
+ workspace_data_filter_references: Optional[List[DeclarativeWorkspaceDataFilterReferences]] = Field(default=None, description="An array of explicit workspace data filters.", alias="workspaceDataFilterReferences")
+ __properties: ClassVar[List[str]] = ["id", "workspaceDataFilterReferences"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDatasetExtension from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filter_references (list)
+ _items = []
+ if self.workspace_data_filter_references:
+ for _item_workspace_data_filter_references in self.workspace_data_filter_references:
+ if _item_workspace_data_filter_references:
+ _items.append(_item_workspace_data_filter_references.to_dict())
+ _dict['workspaceDataFilterReferences'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDatasetExtension from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "workspaceDataFilterReferences": [DeclarativeWorkspaceDataFilterReferences.from_dict(_item) for _item in obj["workspaceDataFilterReferences"]] if obj.get("workspaceDataFilterReferences") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_dataset_sql.py b/gooddata-api-client/gooddata_api_client/models/declarative_dataset_sql.py
new file mode 100644
index 000000000..baf9c0df9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_dataset_sql.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDatasetSql(BaseModel):
+ """
+ SQL defining this dataset.
+ """ # noqa: E501
+ data_source_id: StrictStr = Field(description="Data source ID.", alias="dataSourceId")
+ statement: StrictStr = Field(description="SQL statement.")
+ __properties: ClassVar[List[str]] = ["dataSourceId", "statement"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDatasetSql from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDatasetSql from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataSourceId": obj.get("dataSourceId"),
+ "statement": obj.get("statement")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_date_dataset.py b/gooddata-api-client/gooddata_api_client/models/declarative_date_dataset.py
new file mode 100644
index 000000000..3dcba9536
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_date_dataset.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.granularities_formatting import GranularitiesFormatting
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeDateDataset(BaseModel):
+ """
+ A date dataset.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Date dataset description.")
+ granularities: List[StrictStr] = Field(description="An array of date granularities. All listed granularities will be available for date dataset.")
+ granularities_formatting: GranularitiesFormatting = Field(alias="granularitiesFormatting")
+ id: Annotated[str, Field(strict=True)] = Field(description="Date dataset ID.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Date dataset title.")
+ __properties: ClassVar[List[str]] = ["description", "granularities", "granularitiesFormatting", "id", "tags", "title"]
+
+ @field_validator('granularities')
+ def granularities_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['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']):
+ raise ValueError("each list item must be one of ('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')")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeDateDataset from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of granularities_formatting
+ if self.granularities_formatting:
+ _dict['granularitiesFormatting'] = self.granularities_formatting.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeDateDataset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "granularities": obj.get("granularities"),
+ "granularitiesFormatting": GranularitiesFormatting.from_dict(obj["granularitiesFormatting"]) if obj.get("granularitiesFormatting") is not None else None,
+ "id": obj.get("id"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_export_definition.py b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition.py
new file mode 100644
index 000000000..0dcfa2ce9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition.py
@@ -0,0 +1,157 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_export_definition_request_payload import DeclarativeExportDefinitionRequestPayload
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeExportDefinition(BaseModel):
+ """
+ DeclarativeExportDefinition
+ """ # noqa: E501
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Export definition object description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Export definition id.")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ request_payload: Optional[DeclarativeExportDefinitionRequestPayload] = Field(default=None, alias="requestPayload")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Export definition object title.")
+ __properties: ClassVar[List[str]] = ["createdAt", "createdBy", "description", "id", "modifiedAt", "modifiedBy", "requestPayload", "tags", "title"]
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeExportDefinition from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of request_payload
+ if self.request_payload:
+ _dict['requestPayload'] = self.request_payload.to_dict()
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeExportDefinition from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "requestPayload": DeclarativeExportDefinitionRequestPayload.from_dict(obj["requestPayload"]) if obj.get("requestPayload") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_identifier.py
new file mode 100644
index 000000000..85ce86b17
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeExportDefinitionIdentifier(BaseModel):
+ """
+ An export definition identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Export definition identifier.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['exportDefinition']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('exportDefinition')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeExportDefinitionIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeExportDefinitionIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_request_payload.py b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_request_payload.py
new file mode 100644
index 000000000..cd37d0941
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_export_definition_request_payload.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.tabular_export_request import TabularExportRequest
+from gooddata_api_client.models.visual_export_request import VisualExportRequest
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DECLARATIVEEXPORTDEFINITIONREQUESTPAYLOAD_ONE_OF_SCHEMAS = ["TabularExportRequest", "VisualExportRequest"]
+
+class DeclarativeExportDefinitionRequestPayload(BaseModel):
+ """
+ DeclarativeExportDefinitionRequestPayload
+ """
+ # data type: TabularExportRequest
+ oneof_schema_1_validator: Optional[TabularExportRequest] = None
+ # data type: VisualExportRequest
+ oneof_schema_2_validator: Optional[VisualExportRequest] = None
+ actual_instance: Optional[Union[TabularExportRequest, VisualExportRequest]] = None
+ one_of_schemas: Set[str] = { "TabularExportRequest", "VisualExportRequest" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DeclarativeExportDefinitionRequestPayload.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: TabularExportRequest
+ if not isinstance(v, TabularExportRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TabularExportRequest`")
+ else:
+ match += 1
+ # validate data type: VisualExportRequest
+ if not isinstance(v, VisualExportRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `VisualExportRequest`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DeclarativeExportDefinitionRequestPayload with oneOf schemas: TabularExportRequest, VisualExportRequest. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into TabularExportRequest
+ try:
+ if match == 0:
+ instance.actual_instance = TabularExportRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into VisualExportRequest
+ try:
+ if match == 0:
+ instance.actual_instance = VisualExportRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DeclarativeExportDefinitionRequestPayload with oneOf schemas: TabularExportRequest, VisualExportRequest. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], TabularExportRequest, VisualExportRequest]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_export_template.py b/gooddata-api-client/gooddata_api_client/models/declarative_export_template.py
new file mode 100644
index 000000000..4f429f30e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_export_template.py
@@ -0,0 +1,120 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.dashboard_slides_template import DashboardSlidesTemplate
+from gooddata_api_client.models.widget_slides_template import WidgetSlidesTemplate
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeExportTemplate(BaseModel):
+ """
+ A declarative form of a particular export template.
+ """ # noqa: E501
+ dashboard_slides_template: Optional[DashboardSlidesTemplate] = Field(default=None, alias="dashboardSlidesTemplate")
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of an export template")
+ name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Name of an export template.")
+ widget_slides_template: Optional[WidgetSlidesTemplate] = Field(default=None, alias="widgetSlidesTemplate")
+ __properties: ClassVar[List[str]] = ["dashboardSlidesTemplate", "id", "name", "widgetSlidesTemplate"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeExportTemplate from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of dashboard_slides_template
+ if self.dashboard_slides_template:
+ _dict['dashboardSlidesTemplate'] = self.dashboard_slides_template.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of widget_slides_template
+ if self.widget_slides_template:
+ _dict['widgetSlidesTemplate'] = self.widget_slides_template.to_dict()
+ # set to None if dashboard_slides_template (nullable) is None
+ # and model_fields_set contains the field
+ if self.dashboard_slides_template is None and "dashboard_slides_template" in self.model_fields_set:
+ _dict['dashboardSlidesTemplate'] = None
+
+ # set to None if widget_slides_template (nullable) is None
+ # and model_fields_set contains the field
+ if self.widget_slides_template is None and "widget_slides_template" in self.model_fields_set:
+ _dict['widgetSlidesTemplate'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeExportTemplate from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dashboardSlidesTemplate": DashboardSlidesTemplate.from_dict(obj["dashboardSlidesTemplate"]) if obj.get("dashboardSlidesTemplate") is not None else None,
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "widgetSlidesTemplate": WidgetSlidesTemplate.from_dict(obj["widgetSlidesTemplate"]) if obj.get("widgetSlidesTemplate") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_export_templates.py b/gooddata-api-client/gooddata_api_client/models/declarative_export_templates.py
new file mode 100644
index 000000000..45b8b4213
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_export_templates.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_export_template import DeclarativeExportTemplate
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeExportTemplates(BaseModel):
+ """
+ Export templates.
+ """ # noqa: E501
+ export_templates: List[DeclarativeExportTemplate] = Field(alias="exportTemplates")
+ __properties: ClassVar[List[str]] = ["exportTemplates"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeExportTemplates from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in export_templates (list)
+ _items = []
+ if self.export_templates:
+ for _item_export_templates in self.export_templates:
+ if _item_export_templates:
+ _items.append(_item_export_templates.to_dict())
+ _dict['exportTemplates'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeExportTemplates from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "exportTemplates": [DeclarativeExportTemplate.from_dict(_item) for _item in obj["exportTemplates"]] if obj.get("exportTemplates") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_fact.py b/gooddata-api-client/gooddata_api_client/models/declarative_fact.py
new file mode 100644
index 000000000..64ab13fe1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_fact.py
@@ -0,0 +1,123 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeFact(BaseModel):
+ """
+ A dataset fact.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Fact description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Fact ID.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="If true, this fact is hidden from AI search results.", alias="isHidden")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Flag indicating whether the associated source column allows null values.", alias="isNullable")
+ null_value: Optional[StrictStr] = Field(default=None, description="Value used in coalesce during joins instead of null.", alias="nullValue")
+ source_column: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A name of the source column in the table.", alias="sourceColumn")
+ source_column_data_type: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="A type of the source column", alias="sourceColumnDataType")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Fact title.")
+ __properties: ClassVar[List[str]] = ["description", "id", "isHidden", "isNullable", "nullValue", "sourceColumn", "sourceColumnDataType", "tags", "title"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('source_column_data_type')
+ def source_column_data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeFact from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeFact from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isHidden": obj.get("isHidden"),
+ "isNullable": obj.get("isNullable"),
+ "nullValue": obj.get("nullValue"),
+ "sourceColumn": obj.get("sourceColumn"),
+ "sourceColumnDataType": obj.get("sourceColumnDataType"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_filter_context.py b/gooddata-api-client/gooddata_api_client/models/declarative_filter_context.py
new file mode 100644
index 000000000..bfffe1623
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_filter_context.py
@@ -0,0 +1,109 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeFilterContext(BaseModel):
+ """
+ DeclarativeFilterContext
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Filter Context description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Filter Context ID.")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Filter Context title.")
+ __properties: ClassVar[List[str]] = ["content", "description", "id", "tags", "title"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeFilterContext from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeFilterContext from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_filter_view.py b/gooddata-api-client/gooddata_api_client/models/declarative_filter_view.py
new file mode 100644
index 000000000..3d8470927
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_filter_view.py
@@ -0,0 +1,123 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_analytical_dashboard_identifier import DeclarativeAnalyticalDashboardIdentifier
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeFilterView(BaseModel):
+ """
+ DeclarativeFilterView
+ """ # noqa: E501
+ analytical_dashboard: Optional[DeclarativeAnalyticalDashboardIdentifier] = Field(default=None, alias="analyticalDashboard")
+ content: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ description: Optional[Annotated[str, Field(strict=True, max_length=255)]] = None
+ id: Annotated[str, Field(strict=True)] = Field(description="FilterView object ID.")
+ is_default: Optional[StrictBool] = Field(default=None, description="Indicator whether the filter view should by applied by default.", alias="isDefault")
+ tags: Optional[List[StrictStr]] = None
+ title: Annotated[str, Field(strict=True, max_length=255)]
+ user: Optional[DeclarativeUserIdentifier] = None
+ __properties: ClassVar[List[str]] = ["analyticalDashboard", "content", "description", "id", "isDefault", "tags", "title", "user"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeFilterView from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of analytical_dashboard
+ if self.analytical_dashboard:
+ _dict['analyticalDashboard'] = self.analytical_dashboard.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of user
+ if self.user:
+ _dict['user'] = self.user.to_dict()
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeFilterView from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analyticalDashboard": DeclarativeAnalyticalDashboardIdentifier.from_dict(obj["analyticalDashboard"]) if obj.get("analyticalDashboard") is not None else None,
+ "content": obj.get("content"),
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isDefault": obj.get("isDefault"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "user": DeclarativeUserIdentifier.from_dict(obj["user"]) if obj.get("user") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider.py b/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider.py
new file mode 100644
index 000000000..68ee7ede1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider.py
@@ -0,0 +1,134 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeIdentityProvider(BaseModel):
+ """
+ Notification channels.
+ """ # noqa: E501
+ custom_claim_mapping: Optional[Dict[str, StrictStr]] = Field(default=None, description="Map of custom claim overrides. To be used when your Idp does not provide default claims (sub, email, name, given_name, family_name, urn.gooddata.user_groups [optional]). Define the key pair for the claim you wish to override, where the key is the default name of the attribute and the value is your custom name for the given attribute.", alias="customClaimMapping")
+ id: Annotated[str, Field(strict=True)] = Field(description="FilterView object ID.")
+ identifiers: Optional[List[StrictStr]] = Field(default=None, description="List of identifiers for this IdP, where an identifier is a domain name. Users with email addresses belonging to these domains will be authenticated by this IdP.")
+ idp_type: Optional[StrictStr] = Field(default=None, description="Type of IdP for management purposes. MANAGED_IDP represents a GoodData managed IdP used in single OIDC setup, which is protected from altering/deletion. FIM_IDP represents a GoodData managed IdP used in federated identity management setup, which is protected from altering/deletion. CUSTOM_IDP represents customer's own IdP, protected from deletion if currently used by org for authentication, deletable otherwise.", alias="idpType")
+ oauth_client_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="The OAuth client id of your OIDC provider. This field is mandatory for OIDC IdP.", alias="oauthClientId")
+ oauth_client_secret: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="The OAuth client secret of your OIDC provider. This field is mandatory for OIDC IdP.", alias="oauthClientSecret")
+ oauth_custom_auth_attributes: Optional[Dict[str, Annotated[str, Field(strict=True, max_length=10000)]]] = Field(default=None, description="Map of additional authentication attributes that should be added to the OAuth2 authentication requests, where the key is the name of the attribute and the value is the value of the attribute.", alias="oauthCustomAuthAttributes")
+ oauth_custom_scopes: Optional[List[Annotated[str, Field(strict=True, max_length=255)]]] = Field(default=None, description="List of additional OAuth scopes which may be required by other providers (e.g. Snowflake)", alias="oauthCustomScopes")
+ oauth_issuer_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Any string identifying the OIDC provider. This value is used as suffix for OAuth2 callback (redirect) URL. If not defined, the standard callback URL is used. This value is valid only for external OIDC providers, not for the internal DEX provider.", alias="oauthIssuerId")
+ oauth_issuer_location: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="The location of your OIDC provider. This field is mandatory for OIDC IdP.", alias="oauthIssuerLocation")
+ oauth_subject_id_claim: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Any string identifying the claim in ID token, that should be used for user identification. The default value is 'sub'.", alias="oauthSubjectIdClaim")
+ saml_metadata: Optional[Annotated[str, Field(strict=True, max_length=15000)]] = Field(default=None, description="Base64 encoded xml document with SAML metadata. This document is issued by your SAML provider. It includes the issuer's name, expiration information, and keys that can be used to validate the response from the identity provider. This field is mandatory for SAML IdP.", alias="samlMetadata")
+ __properties: ClassVar[List[str]] = ["customClaimMapping", "id", "identifiers", "idpType", "oauthClientId", "oauthClientSecret", "oauthCustomAuthAttributes", "oauthCustomScopes", "oauthIssuerId", "oauthIssuerLocation", "oauthSubjectIdClaim", "samlMetadata"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('idp_type')
+ def idp_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['MANAGED_IDP', 'FIM_IDP', 'DEX_IDP', 'CUSTOM_IDP']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('MANAGED_IDP', 'FIM_IDP', 'DEX_IDP', 'CUSTOM_IDP')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeIdentityProvider from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if oauth_custom_scopes (nullable) is None
+ # and model_fields_set contains the field
+ if self.oauth_custom_scopes is None and "oauth_custom_scopes" in self.model_fields_set:
+ _dict['oauthCustomScopes'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeIdentityProvider from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "customClaimMapping": obj.get("customClaimMapping"),
+ "id": obj.get("id"),
+ "identifiers": obj.get("identifiers"),
+ "idpType": obj.get("idpType"),
+ "oauthClientId": obj.get("oauthClientId"),
+ "oauthClientSecret": obj.get("oauthClientSecret"),
+ "oauthCustomAuthAttributes": obj.get("oauthCustomAuthAttributes"),
+ "oauthCustomScopes": obj.get("oauthCustomScopes"),
+ "oauthIssuerId": obj.get("oauthIssuerId"),
+ "oauthIssuerLocation": obj.get("oauthIssuerLocation"),
+ "oauthSubjectIdClaim": obj.get("oauthSubjectIdClaim"),
+ "samlMetadata": obj.get("samlMetadata")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider_identifier.py
new file mode 100644
index 000000000..864988d8a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_identity_provider_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeIdentityProviderIdentifier(BaseModel):
+ """
+ An Identity Provider identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of the identity provider.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['identityProvider']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('identityProvider')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeIdentityProviderIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeIdentityProviderIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_jwk.py b/gooddata-api-client/gooddata_api_client/models/declarative_jwk.py
new file mode 100644
index 000000000..868f48df0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_jwk.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_jwk_specification import DeclarativeJwkSpecification
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeJwk(BaseModel):
+ """
+ A declarative form of the JWK.
+ """ # noqa: E501
+ content: DeclarativeJwkSpecification
+ id: Annotated[str, Field(strict=True)] = Field(description="JWK object ID.")
+ __properties: ClassVar[List[str]] = ["content", "id"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeJwk from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of content
+ if self.content:
+ _dict['content'] = self.content.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeJwk from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": DeclarativeJwkSpecification.from_dict(obj["content"]) if obj.get("content") is not None else None,
+ "id": obj.get("id")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_jwk_specification.py b/gooddata-api-client/gooddata_api_client/models/declarative_jwk_specification.py
new file mode 100644
index 000000000..14ace5d30
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_jwk_specification.py
@@ -0,0 +1,126 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.declarative_rsa_specification import DeclarativeRsaSpecification
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DECLARATIVEJWKSPECIFICATION_ONE_OF_SCHEMAS = ["DeclarativeRsaSpecification"]
+
+class DeclarativeJwkSpecification(BaseModel):
+ """
+ Declarative specification of the cryptographic key.
+ """
+ # data type: DeclarativeRsaSpecification
+ oneof_schema_1_validator: Optional[DeclarativeRsaSpecification] = None
+ actual_instance: Optional[Union[DeclarativeRsaSpecification]] = None
+ one_of_schemas: Set[str] = { "DeclarativeRsaSpecification" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DeclarativeJwkSpecification.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DeclarativeRsaSpecification
+ if not isinstance(v, DeclarativeRsaSpecification):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DeclarativeRsaSpecification`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DeclarativeJwkSpecification with oneOf schemas: DeclarativeRsaSpecification. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DeclarativeRsaSpecification
+ try:
+ if match == 0:
+ instance.actual_instance = DeclarativeRsaSpecification.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DeclarativeJwkSpecification with oneOf schemas: DeclarativeRsaSpecification. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DeclarativeRsaSpecification]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_label.py b/gooddata-api-client/gooddata_api_client/models/declarative_label.py
new file mode 100644
index 000000000..69b7b8a4f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_label.py
@@ -0,0 +1,154 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_label_translation import DeclarativeLabelTranslation
+from gooddata_api_client.models.geo_area_config import GeoAreaConfig
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeLabel(BaseModel):
+ """
+ A attribute label.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Label description.")
+ geo_area_config: Optional[GeoAreaConfig] = Field(default=None, alias="geoAreaConfig")
+ id: Annotated[str, Field(strict=True)] = Field(description="Label ID.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="Determines if the label is hidden from AI features.", alias="isHidden")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Flag indicating whether the associated source column allows null values.", alias="isNullable")
+ locale: Optional[StrictStr] = Field(default=None, description="Default label locale.")
+ null_value: Optional[StrictStr] = Field(default=None, description="Value used in coalesce during joins instead of null.", alias="nullValue")
+ source_column: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A name of the source column in the table.", alias="sourceColumn")
+ source_column_data_type: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="A type of the source column", alias="sourceColumnDataType")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Label title.")
+ translations: Optional[List[DeclarativeLabelTranslation]] = Field(default=None, description="Other translations.")
+ value_type: Optional[StrictStr] = Field(default=None, description="Specific type of label", alias="valueType")
+ __properties: ClassVar[List[str]] = ["description", "geoAreaConfig", "id", "isHidden", "isNullable", "locale", "nullValue", "sourceColumn", "sourceColumnDataType", "tags", "title", "translations", "valueType"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('source_column_data_type')
+ def source_column_data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ @field_validator('value_type')
+ def value_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('TEXT', 'HYPERLINK', 'GEO', 'GEO_LONGITUDE', 'GEO_LATITUDE', 'GEO_AREA', 'IMAGE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeLabel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of geo_area_config
+ if self.geo_area_config:
+ _dict['geoAreaConfig'] = self.geo_area_config.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in translations (list)
+ _items = []
+ if self.translations:
+ for _item_translations in self.translations:
+ if _item_translations:
+ _items.append(_item_translations.to_dict())
+ _dict['translations'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeLabel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "geoAreaConfig": GeoAreaConfig.from_dict(obj["geoAreaConfig"]) if obj.get("geoAreaConfig") is not None else None,
+ "id": obj.get("id"),
+ "isHidden": obj.get("isHidden"),
+ "isNullable": obj.get("isNullable"),
+ "locale": obj.get("locale"),
+ "nullValue": obj.get("nullValue"),
+ "sourceColumn": obj.get("sourceColumn"),
+ "sourceColumnDataType": obj.get("sourceColumnDataType"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "translations": [DeclarativeLabelTranslation.from_dict(_item) for _item in obj["translations"]] if obj.get("translations") is not None else None,
+ "valueType": obj.get("valueType")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_label_translation.py b/gooddata-api-client/gooddata_api_client/models/declarative_label_translation.py
new file mode 100644
index 000000000..840b7aceb
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_label_translation.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeLabelTranslation(BaseModel):
+ """
+ A label translation.
+ """ # noqa: E501
+ locale: StrictStr = Field(description="Translation locale.")
+ source_column: StrictStr = Field(description="Translation source column.", alias="sourceColumn")
+ __properties: ClassVar[List[str]] = ["locale", "sourceColumn"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeLabelTranslation from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeLabelTranslation from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "locale": obj.get("locale"),
+ "sourceColumn": obj.get("sourceColumn")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_ldm.py b/gooddata-api-client/gooddata_api_client/models/declarative_ldm.py
new file mode 100644
index 000000000..309d8a323
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_ldm.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_dataset import DeclarativeDataset
+from gooddata_api_client.models.declarative_dataset_extension import DeclarativeDatasetExtension
+from gooddata_api_client.models.declarative_date_dataset import DeclarativeDateDataset
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeLdm(BaseModel):
+ """
+ A logical data model (LDM) representation.
+ """ # noqa: E501
+ dataset_extensions: Optional[List[DeclarativeDatasetExtension]] = Field(default=None, description="An array containing extensions for datasets defined in parent workspaces.", alias="datasetExtensions")
+ datasets: Optional[List[DeclarativeDataset]] = Field(default=None, description="An array containing datasets.")
+ date_instances: Optional[List[DeclarativeDateDataset]] = Field(default=None, description="An array containing date-related datasets.", alias="dateInstances")
+ __properties: ClassVar[List[str]] = ["datasetExtensions", "datasets", "dateInstances"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeLdm from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dataset_extensions (list)
+ _items = []
+ if self.dataset_extensions:
+ for _item_dataset_extensions in self.dataset_extensions:
+ if _item_dataset_extensions:
+ _items.append(_item_dataset_extensions.to_dict())
+ _dict['datasetExtensions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in datasets (list)
+ _items = []
+ if self.datasets:
+ for _item_datasets in self.datasets:
+ if _item_datasets:
+ _items.append(_item_datasets.to_dict())
+ _dict['datasets'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in date_instances (list)
+ _items = []
+ if self.date_instances:
+ for _item_date_instances in self.date_instances:
+ if _item_date_instances:
+ _items.append(_item_date_instances.to_dict())
+ _dict['dateInstances'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeLdm from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "datasetExtensions": [DeclarativeDatasetExtension.from_dict(_item) for _item in obj["datasetExtensions"]] if obj.get("datasetExtensions") is not None else None,
+ "datasets": [DeclarativeDataset.from_dict(_item) for _item in obj["datasets"]] if obj.get("datasets") is not None else None,
+ "dateInstances": [DeclarativeDateDataset.from_dict(_item) for _item in obj["dateInstances"]] if obj.get("dateInstances") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_memory_item.py b/gooddata-api-client/gooddata_api_client/models/declarative_memory_item.py
new file mode 100644
index 000000000..eb237c69e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_memory_item.py
@@ -0,0 +1,167 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeMemoryItem(BaseModel):
+ """
+ DeclarativeMemoryItem
+ """ # noqa: E501
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Memory item description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Memory item ID.")
+ instruction: Annotated[str, Field(strict=True, max_length=255)] = Field(description="The text that will be injected into the system prompt.")
+ is_disabled: Optional[StrictBool] = Field(default=None, description="Whether memory item is disabled.", alias="isDisabled")
+ keywords: Optional[List[StrictStr]] = Field(default=None, description="Set of unique strings used for semantic similarity filtering.")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ strategy: StrictStr = Field(description="Strategy defining when the memory item should be applied")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Memory item title.")
+ __properties: ClassVar[List[str]] = ["createdAt", "createdBy", "description", "id", "instruction", "isDisabled", "keywords", "modifiedAt", "modifiedBy", "strategy", "tags", "title"]
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('strategy')
+ def strategy_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['ALWAYS', 'AUTO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ALWAYS', 'AUTO')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeMemoryItem from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeMemoryItem from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "instruction": obj.get("instruction"),
+ "isDisabled": obj.get("isDisabled"),
+ "keywords": obj.get("keywords"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "strategy": obj.get("strategy"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_metric.py b/gooddata-api-client/gooddata_api_client/models/declarative_metric.py
new file mode 100644
index 000000000..197a8003b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_metric.py
@@ -0,0 +1,206 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeMetric(BaseModel):
+ """
+ DeclarativeMetric
+ """ # noqa: E501
+ certification: Optional[StrictStr] = Field(default=None, description="Certification status of the entity.")
+ certification_message: Optional[StrictStr] = Field(default=None, description="Optional message associated with the certification.", alias="certificationMessage")
+ certified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time when the certification was set.", alias="certifiedAt")
+ certified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="certifiedBy")
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Metric description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Metric ID.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="If true, this metric is hidden from AI search results.", alias="isHidden")
+ is_hidden_from_kda: Optional[StrictBool] = Field(default=None, description="If true, this metric is hidden from key drive analysis.", alias="isHiddenFromKda")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Metric title.")
+ __properties: ClassVar[List[str]] = ["certification", "certificationMessage", "certifiedAt", "certifiedBy", "content", "createdAt", "createdBy", "description", "id", "isHidden", "isHiddenFromKda", "modifiedAt", "modifiedBy", "tags", "title"]
+
+ @field_validator('certification')
+ def certification_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['CERTIFIED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('CERTIFIED')")
+ return value
+
+ @field_validator('certified_at')
+ def certified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeMetric from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of certified_by
+ if self.certified_by:
+ _dict['certifiedBy'] = self.certified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # set to None if certification_message (nullable) is None
+ # and model_fields_set contains the field
+ if self.certification_message is None and "certification_message" in self.model_fields_set:
+ _dict['certificationMessage'] = None
+
+ # set to None if certified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.certified_at is None and "certified_at" in self.model_fields_set:
+ _dict['certifiedAt'] = None
+
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeMetric from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "certification": obj.get("certification"),
+ "certificationMessage": obj.get("certificationMessage"),
+ "certifiedAt": obj.get("certifiedAt"),
+ "certifiedBy": DeclarativeUserIdentifier.from_dict(obj["certifiedBy"]) if obj.get("certifiedBy") is not None else None,
+ "content": obj.get("content"),
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isHidden": obj.get("isHidden"),
+ "isHiddenFromKda": obj.get("isHiddenFromKda"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_model.py b/gooddata-api-client/gooddata_api_client/models/declarative_model.py
new file mode 100644
index 000000000..38cfe93e9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_model.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_ldm import DeclarativeLdm
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeModel(BaseModel):
+ """
+ A data model structured as a set of its attributes.
+ """ # noqa: E501
+ ldm: Optional[DeclarativeLdm] = None
+ __properties: ClassVar[List[str]] = ["ldm"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeModel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of ldm
+ if self.ldm:
+ _dict['ldm'] = self.ldm.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeModel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "ldm": DeclarativeLdm.from_dict(obj["ldm"]) if obj.get("ldm") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel.py b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel.py
new file mode 100644
index 000000000..21ce5760e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel.py
@@ -0,0 +1,169 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_notification_channel_destination import DeclarativeNotificationChannelDestination
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeNotificationChannel(BaseModel):
+ """
+ A declarative form of a particular notification channel.
+ """ # noqa: E501
+ allowed_recipients: Optional[StrictStr] = Field(default='INTERNAL', description="Allowed recipients of notifications from this channel. CREATOR - only the creator INTERNAL - all users within the organization EXTERNAL - all recipients including those outside the organization ", alias="allowedRecipients")
+ custom_dashboard_url: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Custom dashboard url that is going to be used in the notification. If not specified it is going to be deduced based on the context. Allowed placeholders are: {workspaceId} {dashboardId} {automationId} {asOfDate} ", alias="customDashboardUrl")
+ dashboard_link_visibility: Optional[StrictStr] = Field(default='INTERNAL_ONLY', description="Dashboard link visibility in notifications. HIDDEN - the link will not be included INTERNAL_ONLY - only internal users will see the link ALL - all users will see the link ", alias="dashboardLinkVisibility")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Description of a notification channel.")
+ destination: Optional[DeclarativeNotificationChannelDestination] = None
+ destination_type: Optional[StrictStr] = Field(default=None, alias="destinationType")
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of a notification channel")
+ in_platform_notification: Optional[StrictStr] = Field(default='DISABLED', description="In-platform notifications configuration. No effect if the destination type is IN_PLATFORM. DISABLED - in-platform notifications are not sent ENABLED - in-platform notifications are sent in addition to the regular notifications ", alias="inPlatformNotification")
+ name: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Name of a notification channel.")
+ notification_source: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Human-readable description of the source of the notification. If specified, this propertywill be included in the notifications to this channel.Allowed placeholders are: {{workspaceId}} {{workspaceName}} {{workspaceDescription}} {{dashboardId}} {{dashboardName}} {{dashboardDescription}} ", alias="notificationSource")
+ __properties: ClassVar[List[str]] = ["allowedRecipients", "customDashboardUrl", "dashboardLinkVisibility", "description", "destination", "destinationType", "id", "inPlatformNotification", "name", "notificationSource"]
+
+ @field_validator('allowed_recipients')
+ def allowed_recipients_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['CREATOR', 'INTERNAL', 'EXTERNAL']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('CREATOR', 'INTERNAL', 'EXTERNAL')")
+ return value
+
+ @field_validator('dashboard_link_visibility')
+ def dashboard_link_visibility_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['HIDDEN', 'INTERNAL_ONLY', 'ALL']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('HIDDEN', 'INTERNAL_ONLY', 'ALL')")
+ return value
+
+ @field_validator('destination_type')
+ def destination_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['WEBHOOK', 'SMTP', 'DEFAULT_SMTP', 'IN_PLATFORM']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('WEBHOOK', 'SMTP', 'DEFAULT_SMTP', 'IN_PLATFORM')")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('in_platform_notification')
+ def in_platform_notification_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['DISABLED', 'ENABLED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('DISABLED', 'ENABLED')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * OpenAPI `readOnly` fields are excluded.
+ """
+ excluded_fields: Set[str] = set([
+ "destination_type",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of destination
+ if self.destination:
+ _dict['destination'] = self.destination.to_dict()
+ # set to None if destination_type (nullable) is None
+ # and model_fields_set contains the field
+ if self.destination_type is None and "destination_type" in self.model_fields_set:
+ _dict['destinationType'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "allowedRecipients": obj.get("allowedRecipients") if obj.get("allowedRecipients") is not None else 'INTERNAL',
+ "customDashboardUrl": obj.get("customDashboardUrl"),
+ "dashboardLinkVisibility": obj.get("dashboardLinkVisibility") if obj.get("dashboardLinkVisibility") is not None else 'INTERNAL_ONLY',
+ "description": obj.get("description"),
+ "destination": DeclarativeNotificationChannelDestination.from_dict(obj["destination"]) if obj.get("destination") is not None else None,
+ "destinationType": obj.get("destinationType"),
+ "id": obj.get("id"),
+ "inPlatformNotification": obj.get("inPlatformNotification") if obj.get("inPlatformNotification") is not None else 'DISABLED',
+ "name": obj.get("name"),
+ "notificationSource": obj.get("notificationSource")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_destination.py b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_destination.py
new file mode 100644
index 000000000..8f283d718
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_destination.py
@@ -0,0 +1,171 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.default_smtp import DefaultSmtp
+from gooddata_api_client.models.in_platform import InPlatform
+from gooddata_api_client.models.smtp import Smtp
+from gooddata_api_client.models.webhook import Webhook
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+DECLARATIVENOTIFICATIONCHANNELDESTINATION_ONE_OF_SCHEMAS = ["DefaultSmtp", "InPlatform", "Smtp", "Webhook"]
+
+class DeclarativeNotificationChannelDestination(BaseModel):
+ """
+ DeclarativeNotificationChannelDestination
+ """
+ # data type: DefaultSmtp
+ oneof_schema_1_validator: Optional[DefaultSmtp] = None
+ # data type: InPlatform
+ oneof_schema_2_validator: Optional[InPlatform] = None
+ # data type: Smtp
+ oneof_schema_3_validator: Optional[Smtp] = None
+ # data type: Webhook
+ oneof_schema_4_validator: Optional[Webhook] = None
+ actual_instance: Optional[Union[DefaultSmtp, InPlatform, Smtp, Webhook]] = None
+ one_of_schemas: Set[str] = { "DefaultSmtp", "InPlatform", "Smtp", "Webhook" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = DeclarativeNotificationChannelDestination.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DefaultSmtp
+ if not isinstance(v, DefaultSmtp):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DefaultSmtp`")
+ else:
+ match += 1
+ # validate data type: InPlatform
+ if not isinstance(v, InPlatform):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `InPlatform`")
+ else:
+ match += 1
+ # validate data type: Smtp
+ if not isinstance(v, Smtp):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `Smtp`")
+ else:
+ match += 1
+ # validate data type: Webhook
+ if not isinstance(v, Webhook):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `Webhook`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in DeclarativeNotificationChannelDestination with oneOf schemas: DefaultSmtp, InPlatform, Smtp, Webhook. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DefaultSmtp
+ try:
+ if match == 0:
+ instance.actual_instance = DefaultSmtp.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into InPlatform
+ try:
+ if match == 0:
+ instance.actual_instance = InPlatform.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into Smtp
+ try:
+ if match == 0:
+ instance.actual_instance = Smtp.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into Webhook
+ try:
+ if match == 0:
+ instance.actual_instance = Webhook.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into DeclarativeNotificationChannelDestination with oneOf schemas: DefaultSmtp, InPlatform, Smtp, Webhook. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DefaultSmtp, InPlatform, Smtp, Webhook]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_identifier.py
new file mode 100644
index 000000000..45173197c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channel_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeNotificationChannelIdentifier(BaseModel):
+ """
+ A notification channel identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Notification channel identifier.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['notificationChannel']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('notificationChannel')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannelIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannelIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_notification_channels.py b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channels.py
new file mode 100644
index 000000000..1c152464f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_notification_channels.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_notification_channel import DeclarativeNotificationChannel
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeNotificationChannels(BaseModel):
+ """
+ Notification channels.
+ """ # noqa: E501
+ notification_channels: List[DeclarativeNotificationChannel] = Field(alias="notificationChannels")
+ __properties: ClassVar[List[str]] = ["notificationChannels"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannels from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in notification_channels (list)
+ _items = []
+ if self.notification_channels:
+ for _item_notification_channels in self.notification_channels:
+ if _item_notification_channels:
+ _items.append(_item_notification_channels.to_dict())
+ _dict['notificationChannels'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeNotificationChannels from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "notificationChannels": [DeclarativeNotificationChannel.from_dict(_item) for _item in obj["notificationChannels"]] if obj.get("notificationChannels") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_organization.py b/gooddata-api-client/gooddata_api_client/models/declarative_organization.py
new file mode 100644
index 000000000..8e7da66c3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_organization.py
@@ -0,0 +1,192 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_custom_geo_collection import DeclarativeCustomGeoCollection
+from gooddata_api_client.models.declarative_data_source import DeclarativeDataSource
+from gooddata_api_client.models.declarative_export_template import DeclarativeExportTemplate
+from gooddata_api_client.models.declarative_identity_provider import DeclarativeIdentityProvider
+from gooddata_api_client.models.declarative_jwk import DeclarativeJwk
+from gooddata_api_client.models.declarative_notification_channel import DeclarativeNotificationChannel
+from gooddata_api_client.models.declarative_organization_info import DeclarativeOrganizationInfo
+from gooddata_api_client.models.declarative_user import DeclarativeUser
+from gooddata_api_client.models.declarative_user_group import DeclarativeUserGroup
+from gooddata_api_client.models.declarative_workspace import DeclarativeWorkspace
+from gooddata_api_client.models.declarative_workspace_data_filter import DeclarativeWorkspaceDataFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeOrganization(BaseModel):
+ """
+ Complete definition of an organization in a declarative form.
+ """ # noqa: E501
+ custom_geo_collections: Optional[List[DeclarativeCustomGeoCollection]] = Field(default=None, alias="customGeoCollections")
+ data_sources: Optional[List[DeclarativeDataSource]] = Field(default=None, alias="dataSources")
+ export_templates: Optional[List[DeclarativeExportTemplate]] = Field(default=None, alias="exportTemplates")
+ identity_providers: Optional[List[DeclarativeIdentityProvider]] = Field(default=None, alias="identityProviders")
+ jwks: Optional[List[DeclarativeJwk]] = None
+ notification_channels: Optional[List[DeclarativeNotificationChannel]] = Field(default=None, alias="notificationChannels")
+ organization: DeclarativeOrganizationInfo
+ user_groups: Optional[List[DeclarativeUserGroup]] = Field(default=None, alias="userGroups")
+ users: Optional[List[DeclarativeUser]] = None
+ workspace_data_filters: Optional[List[DeclarativeWorkspaceDataFilter]] = Field(default=None, alias="workspaceDataFilters")
+ workspaces: Optional[List[DeclarativeWorkspace]] = None
+ __properties: ClassVar[List[str]] = ["customGeoCollections", "dataSources", "exportTemplates", "identityProviders", "jwks", "notificationChannels", "organization", "userGroups", "users", "workspaceDataFilters", "workspaces"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganization from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in custom_geo_collections (list)
+ _items = []
+ if self.custom_geo_collections:
+ for _item_custom_geo_collections in self.custom_geo_collections:
+ if _item_custom_geo_collections:
+ _items.append(_item_custom_geo_collections.to_dict())
+ _dict['customGeoCollections'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in data_sources (list)
+ _items = []
+ if self.data_sources:
+ for _item_data_sources in self.data_sources:
+ if _item_data_sources:
+ _items.append(_item_data_sources.to_dict())
+ _dict['dataSources'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in export_templates (list)
+ _items = []
+ if self.export_templates:
+ for _item_export_templates in self.export_templates:
+ if _item_export_templates:
+ _items.append(_item_export_templates.to_dict())
+ _dict['exportTemplates'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in identity_providers (list)
+ _items = []
+ if self.identity_providers:
+ for _item_identity_providers in self.identity_providers:
+ if _item_identity_providers:
+ _items.append(_item_identity_providers.to_dict())
+ _dict['identityProviders'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in jwks (list)
+ _items = []
+ if self.jwks:
+ for _item_jwks in self.jwks:
+ if _item_jwks:
+ _items.append(_item_jwks.to_dict())
+ _dict['jwks'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in notification_channels (list)
+ _items = []
+ if self.notification_channels:
+ for _item_notification_channels in self.notification_channels:
+ if _item_notification_channels:
+ _items.append(_item_notification_channels.to_dict())
+ _dict['notificationChannels'] = _items
+ # override the default output from pydantic by calling `to_dict()` of organization
+ if self.organization:
+ _dict['organization'] = self.organization.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filters (list)
+ _items = []
+ if self.workspace_data_filters:
+ for _item_workspace_data_filters in self.workspace_data_filters:
+ if _item_workspace_data_filters:
+ _items.append(_item_workspace_data_filters.to_dict())
+ _dict['workspaceDataFilters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in workspaces (list)
+ _items = []
+ if self.workspaces:
+ for _item_workspaces in self.workspaces:
+ if _item_workspaces:
+ _items.append(_item_workspaces.to_dict())
+ _dict['workspaces'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganization from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "customGeoCollections": [DeclarativeCustomGeoCollection.from_dict(_item) for _item in obj["customGeoCollections"]] if obj.get("customGeoCollections") is not None else None,
+ "dataSources": [DeclarativeDataSource.from_dict(_item) for _item in obj["dataSources"]] if obj.get("dataSources") is not None else None,
+ "exportTemplates": [DeclarativeExportTemplate.from_dict(_item) for _item in obj["exportTemplates"]] if obj.get("exportTemplates") is not None else None,
+ "identityProviders": [DeclarativeIdentityProvider.from_dict(_item) for _item in obj["identityProviders"]] if obj.get("identityProviders") is not None else None,
+ "jwks": [DeclarativeJwk.from_dict(_item) for _item in obj["jwks"]] if obj.get("jwks") is not None else None,
+ "notificationChannels": [DeclarativeNotificationChannel.from_dict(_item) for _item in obj["notificationChannels"]] if obj.get("notificationChannels") is not None else None,
+ "organization": DeclarativeOrganizationInfo.from_dict(obj["organization"]) if obj.get("organization") is not None else None,
+ "userGroups": [DeclarativeUserGroup.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None,
+ "users": [DeclarativeUser.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None,
+ "workspaceDataFilters": [DeclarativeWorkspaceDataFilter.from_dict(_item) for _item in obj["workspaceDataFilters"]] if obj.get("workspaceDataFilters") is not None else None,
+ "workspaces": [DeclarativeWorkspace.from_dict(_item) for _item in obj["workspaces"]] if obj.get("workspaces") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_organization_info.py b/gooddata-api-client/gooddata_api_client/models/declarative_organization_info.py
new file mode 100644
index 000000000..357106c6f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_organization_info.py
@@ -0,0 +1,162 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_color_palette import DeclarativeColorPalette
+from gooddata_api_client.models.declarative_csp_directive import DeclarativeCspDirective
+from gooddata_api_client.models.declarative_identity_provider_identifier import DeclarativeIdentityProviderIdentifier
+from gooddata_api_client.models.declarative_organization_permission import DeclarativeOrganizationPermission
+from gooddata_api_client.models.declarative_setting import DeclarativeSetting
+from gooddata_api_client.models.declarative_theme import DeclarativeTheme
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeOrganizationInfo(BaseModel):
+ """
+ Information available about an organization.
+ """ # noqa: E501
+ allowed_origins: Optional[List[StrictStr]] = Field(default=None, alias="allowedOrigins")
+ color_palettes: Optional[List[DeclarativeColorPalette]] = Field(default=None, description="A list of color palettes.", alias="colorPalettes")
+ csp_directives: Optional[List[DeclarativeCspDirective]] = Field(default=None, description="A list of CSP directives.", alias="cspDirectives")
+ early_access: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Early access defined on level Organization", alias="earlyAccess")
+ early_access_values: Optional[List[Annotated[str, Field(strict=True, max_length=255)]]] = Field(default=None, description="Early access defined on level Organization", alias="earlyAccessValues")
+ hostname: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Formal hostname used in deployment.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of the organization.")
+ identity_provider: Optional[DeclarativeIdentityProviderIdentifier] = Field(default=None, alias="identityProvider")
+ name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Formal name of the organization.")
+ permissions: List[DeclarativeOrganizationPermission]
+ settings: Optional[List[DeclarativeSetting]] = Field(default=None, description="A list of organization settings.")
+ themes: Optional[List[DeclarativeTheme]] = Field(default=None, description="A list of themes.")
+ __properties: ClassVar[List[str]] = ["allowedOrigins", "colorPalettes", "cspDirectives", "earlyAccess", "earlyAccessValues", "hostname", "id", "identityProvider", "name", "permissions", "settings", "themes"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganizationInfo from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in color_palettes (list)
+ _items = []
+ if self.color_palettes:
+ for _item_color_palettes in self.color_palettes:
+ if _item_color_palettes:
+ _items.append(_item_color_palettes.to_dict())
+ _dict['colorPalettes'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in csp_directives (list)
+ _items = []
+ if self.csp_directives:
+ for _item_csp_directives in self.csp_directives:
+ if _item_csp_directives:
+ _items.append(_item_csp_directives.to_dict())
+ _dict['cspDirectives'] = _items
+ # override the default output from pydantic by calling `to_dict()` of identity_provider
+ if self.identity_provider:
+ _dict['identityProvider'] = self.identity_provider.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in settings (list)
+ _items = []
+ if self.settings:
+ for _item_settings in self.settings:
+ if _item_settings:
+ _items.append(_item_settings.to_dict())
+ _dict['settings'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in themes (list)
+ _items = []
+ if self.themes:
+ for _item_themes in self.themes:
+ if _item_themes:
+ _items.append(_item_themes.to_dict())
+ _dict['themes'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganizationInfo from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "allowedOrigins": obj.get("allowedOrigins"),
+ "colorPalettes": [DeclarativeColorPalette.from_dict(_item) for _item in obj["colorPalettes"]] if obj.get("colorPalettes") is not None else None,
+ "cspDirectives": [DeclarativeCspDirective.from_dict(_item) for _item in obj["cspDirectives"]] if obj.get("cspDirectives") is not None else None,
+ "earlyAccess": obj.get("earlyAccess"),
+ "earlyAccessValues": obj.get("earlyAccessValues"),
+ "hostname": obj.get("hostname"),
+ "id": obj.get("id"),
+ "identityProvider": DeclarativeIdentityProviderIdentifier.from_dict(obj["identityProvider"]) if obj.get("identityProvider") is not None else None,
+ "name": obj.get("name"),
+ "permissions": [DeclarativeOrganizationPermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None,
+ "settings": [DeclarativeSetting.from_dict(_item) for _item in obj["settings"]] if obj.get("settings") is not None else None,
+ "themes": [DeclarativeTheme.from_dict(_item) for _item in obj["themes"]] if obj.get("themes") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_organization_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_organization_permission.py
new file mode 100644
index 000000000..ddb948c44
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_organization_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeOrganizationPermission(BaseModel):
+ """
+ Definition of an organization permission assigned to a user/user-group.
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['MANAGE', 'SELF_CREATE_TOKEN', 'BASE_UI_ACCESS']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('MANAGE', 'SELF_CREATE_TOKEN', 'BASE_UI_ACCESS')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganizationPermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeOrganizationPermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_reference.py b/gooddata-api-client/gooddata_api_client/models/declarative_reference.py
new file mode 100644
index 000000000..66eb4bf2f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_reference.py
@@ -0,0 +1,119 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_reference_source import DeclarativeReferenceSource
+from gooddata_api_client.models.reference_identifier import ReferenceIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeReference(BaseModel):
+ """
+ A dataset reference.
+ """ # noqa: E501
+ identifier: ReferenceIdentifier
+ multivalue: StrictBool = Field(description="The multi-value flag enables many-to-many cardinality for references.")
+ source_column_data_types: Optional[List[StrictStr]] = Field(default=None, description="An array of source column data types for a given reference. Deprecated, use 'sources' instead.", alias="sourceColumnDataTypes")
+ source_columns: Optional[List[StrictStr]] = Field(default=None, description="An array of source column names for a given reference. Deprecated, use 'sources' instead.", alias="sourceColumns")
+ sources: Optional[List[DeclarativeReferenceSource]] = Field(default=None, description="An array of source columns for a given reference.")
+ __properties: ClassVar[List[str]] = ["identifier", "multivalue", "sourceColumnDataTypes", "sourceColumns", "sources"]
+
+ @field_validator('source_column_data_types')
+ def source_column_data_types_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ for i in value:
+ if i not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ raise ValueError("each list item must be one of ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeReference from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of identifier
+ if self.identifier:
+ _dict['identifier'] = self.identifier.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in sources (list)
+ _items = []
+ if self.sources:
+ for _item_sources in self.sources:
+ if _item_sources:
+ _items.append(_item_sources.to_dict())
+ _dict['sources'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeReference from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifier": ReferenceIdentifier.from_dict(obj["identifier"]) if obj.get("identifier") is not None else None,
+ "multivalue": obj.get("multivalue"),
+ "sourceColumnDataTypes": obj.get("sourceColumnDataTypes"),
+ "sourceColumns": obj.get("sourceColumns"),
+ "sources": [DeclarativeReferenceSource.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_reference_source.py b/gooddata-api-client/gooddata_api_client/models/declarative_reference_source.py
new file mode 100644
index 000000000..c4f0a1c29
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_reference_source.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.grain_identifier import GrainIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeReferenceSource(BaseModel):
+ """
+ A dataset reference source column description.
+ """ # noqa: E501
+ column: Annotated[str, Field(strict=True, max_length=255)] = Field(description="A name of the source column in the table.")
+ data_type: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="A type of the source column.", alias="dataType")
+ is_nullable: Optional[StrictBool] = Field(default=None, description="Flag indicating whether the associated source column allows null values.", alias="isNullable")
+ null_value: Optional[StrictStr] = Field(default=None, description="Value used in coalesce during joins instead of null.", alias="nullValue")
+ target: GrainIdentifier
+ __properties: ClassVar[List[str]] = ["column", "dataType", "isNullable", "nullValue", "target"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeReferenceSource from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of target
+ if self.target:
+ _dict['target'] = self.target.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeReferenceSource from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "column": obj.get("column"),
+ "dataType": obj.get("dataType"),
+ "isNullable": obj.get("isNullable"),
+ "nullValue": obj.get("nullValue"),
+ "target": GrainIdentifier.from_dict(obj["target"]) if obj.get("target") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_rsa_specification.py b/gooddata-api-client/gooddata_api_client/models/declarative_rsa_specification.py
new file mode 100644
index 000000000..f98ec876d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_rsa_specification.py
@@ -0,0 +1,134 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeRsaSpecification(BaseModel):
+ """
+ Declarative specification of the cryptographic key.
+ """ # noqa: E501
+ alg: StrictStr = Field(description="Algorithm intended for use with the key.")
+ e: StrictStr = Field(description="parameter contains the exponent value for the RSA public key.")
+ kid: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Parameter is used to match a specific key.")
+ kty: StrictStr = Field(description="Key type parameter")
+ n: StrictStr = Field(description="Parameter contains the modulus value for the RSA public key.")
+ use: StrictStr = Field(description="Parameter identifies the intended use of the public key.")
+ x5c: Optional[List[StrictStr]] = Field(default=None, description="Parameter contains a chain of one or more PKIX certificates.")
+ x5t: Optional[StrictStr] = Field(default=None, description="Parameter is a base64url-encoded SHA-1 thumbprint of the DER encoding of an X.509 certificate.")
+ __properties: ClassVar[List[str]] = ["alg", "e", "kid", "kty", "n", "use", "x5c", "x5t"]
+
+ @field_validator('alg')
+ def alg_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['RS256', 'RS384', 'RS512']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('RS256', 'RS384', 'RS512')")
+ return value
+
+ @field_validator('kid')
+ def kid_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[^.]", value):
+ raise ValueError(r"must validate the regular expression /^[^.]/")
+ return value
+
+ @field_validator('kty')
+ def kty_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['RSA']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('RSA')")
+ return value
+
+ @field_validator('use')
+ def use_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['sig']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('sig')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeRsaSpecification from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeRsaSpecification from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "alg": obj.get("alg"),
+ "e": obj.get("e"),
+ "kid": obj.get("kid"),
+ "kty": obj.get("kty"),
+ "n": obj.get("n"),
+ "use": obj.get("use"),
+ "x5c": obj.get("x5c"),
+ "x5t": obj.get("x5t")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_setting.py b/gooddata-api-client/gooddata_api_client/models/declarative_setting.py
new file mode 100644
index 000000000..5d85c9992
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_setting.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeSetting(BaseModel):
+ """
+ Setting and its value.
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(default=None, description="Free-form JSON object")
+ id: Annotated[str, Field(strict=True)] = Field(description="Setting ID.")
+ type: Optional[StrictStr] = Field(default=None, description="Type of the setting.")
+ __properties: ClassVar[List[str]] = ["content", "id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['TIMEZONE', 'ACTIVE_THEME', 'ACTIVE_COLOR_PALETTE', 'ACTIVE_LLM_ENDPOINT', 'ACTIVE_LLM_PROVIDER', 'ACTIVE_CALENDARS', 'WHITE_LABELING', 'LOCALE', 'METADATA_LOCALE', 'FORMAT_LOCALE', 'MAPBOX_TOKEN', 'AG_GRID_TOKEN', 'WEEK_START', 'FISCAL_YEAR', 'SHOW_HIDDEN_CATALOG_ITEMS', 'OPERATOR_OVERRIDES', 'TIMEZONE_VALIDATION_ENABLED', 'OPENAI_CONFIG', 'ENABLE_FILE_ANALYTICS', 'ALERT', 'SEPARATORS', 'DATE_FILTER_CONFIG', 'JIT_PROVISIONING', 'JWT_JIT_PROVISIONING', 'DASHBOARD_FILTERS_APPLY_MODE', 'ENABLE_SLIDES_EXPORT', 'ENABLE_SNAPSHOT_EXPORT', 'AI_RATE_LIMIT', 'ATTACHMENT_SIZE_LIMIT', 'ATTACHMENT_LINK_TTL', 'AD_CATALOG_GROUPS_DEFAULT_EXPAND_STATE', 'ENABLE_DRILL_TO_URL_BY_DEFAULT', 'ALLOW_UNSAFE_FLEX_CONNECT_ENDPOINTS', 'ENABLE_AUTOMATION_EVALUATION_MODE', 'ENABLE_ACCESSIBILITY_MODE', 'REGISTERED_PLUGGABLE_APPLICATIONS', 'DATA_LOCALE', 'LDM_DEFAULT_LOCALE', 'EXPORT_RESULT_POLLING_TIMEOUT_SECONDS', 'MAX_ZOOM_LEVEL', 'SORT_CASE_SENSITIVE', 'METRIC_FORMAT_OVERRIDE', 'ENABLE_AI_ON_DATA', 'API_ENTITIES_DEFAULT_CONTENT_MEDIA_TYPE', 'ENABLE_NULL_JOINS', 'EXPORT_CSV_CUSTOM_DELIMITER', 'ENABLE_QUERY_TAGS', 'RESTRICT_BASE_UI', 'CERTIFY_PARENT_OBJECTS']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('TIMEZONE', 'ACTIVE_THEME', 'ACTIVE_COLOR_PALETTE', 'ACTIVE_LLM_ENDPOINT', 'ACTIVE_LLM_PROVIDER', 'ACTIVE_CALENDARS', 'WHITE_LABELING', 'LOCALE', 'METADATA_LOCALE', 'FORMAT_LOCALE', 'MAPBOX_TOKEN', 'AG_GRID_TOKEN', 'WEEK_START', 'FISCAL_YEAR', 'SHOW_HIDDEN_CATALOG_ITEMS', 'OPERATOR_OVERRIDES', 'TIMEZONE_VALIDATION_ENABLED', 'OPENAI_CONFIG', 'ENABLE_FILE_ANALYTICS', 'ALERT', 'SEPARATORS', 'DATE_FILTER_CONFIG', 'JIT_PROVISIONING', 'JWT_JIT_PROVISIONING', 'DASHBOARD_FILTERS_APPLY_MODE', 'ENABLE_SLIDES_EXPORT', 'ENABLE_SNAPSHOT_EXPORT', 'AI_RATE_LIMIT', 'ATTACHMENT_SIZE_LIMIT', 'ATTACHMENT_LINK_TTL', 'AD_CATALOG_GROUPS_DEFAULT_EXPAND_STATE', 'ENABLE_DRILL_TO_URL_BY_DEFAULT', 'ALLOW_UNSAFE_FLEX_CONNECT_ENDPOINTS', 'ENABLE_AUTOMATION_EVALUATION_MODE', 'ENABLE_ACCESSIBILITY_MODE', 'REGISTERED_PLUGGABLE_APPLICATIONS', 'DATA_LOCALE', 'LDM_DEFAULT_LOCALE', 'EXPORT_RESULT_POLLING_TIMEOUT_SECONDS', 'MAX_ZOOM_LEVEL', 'SORT_CASE_SENSITIVE', 'METRIC_FORMAT_OVERRIDE', 'ENABLE_AI_ON_DATA', 'API_ENTITIES_DEFAULT_CONTENT_MEDIA_TYPE', 'ENABLE_NULL_JOINS', 'EXPORT_CSV_CUSTOM_DELIMITER', 'ENABLE_QUERY_TAGS', 'RESTRICT_BASE_UI', 'CERTIFY_PARENT_OBJECTS')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeSetting from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeSetting from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_single_workspace_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_single_workspace_permission.py
new file mode 100644
index 000000000..4c6f9c362
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_single_workspace_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeSingleWorkspacePermission(BaseModel):
+ """
+ DeclarativeSingleWorkspacePermission
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['MANAGE', 'ANALYZE', 'EXPORT', 'EXPORT_TABULAR', 'EXPORT_PDF', 'CREATE_AUTOMATION', 'USE_AI_ASSISTANT', 'WRITE_KNOWLEDGE_DOCUMENTS', 'READ_KNOWLEDGE_DOCUMENTS', 'CREATE_FILTER_VIEW', 'VIEW']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('MANAGE', 'ANALYZE', 'EXPORT', 'EXPORT_TABULAR', 'EXPORT_PDF', 'CREATE_AUTOMATION', 'USE_AI_ASSISTANT', 'WRITE_KNOWLEDGE_DOCUMENTS', 'READ_KNOWLEDGE_DOCUMENTS', 'CREATE_FILTER_VIEW', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeSingleWorkspacePermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeSingleWorkspacePermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_source_fact_reference.py b/gooddata-api-client/gooddata_api_client/models/declarative_source_fact_reference.py
new file mode 100644
index 000000000..c539306e8
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_source_fact_reference.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.fact_identifier import FactIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeSourceFactReference(BaseModel):
+ """
+ Aggregated awareness source fact reference.
+ """ # noqa: E501
+ operation: StrictStr = Field(description="Aggregation operation.")
+ reference: FactIdentifier
+ __properties: ClassVar[List[str]] = ["operation", "reference"]
+
+ @field_validator('operation')
+ def operation_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SUM', 'MIN', 'MAX']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SUM', 'MIN', 'MAX')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeSourceFactReference from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of reference
+ if self.reference:
+ _dict['reference'] = self.reference.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeSourceFactReference from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "operation": obj.get("operation"),
+ "reference": FactIdentifier.from_dict(obj["reference"]) if obj.get("reference") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_table.py b/gooddata-api-client/gooddata_api_client/models/declarative_table.py
new file mode 100644
index 000000000..aa9f534ca
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_table.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_column import DeclarativeColumn
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeTable(BaseModel):
+ """
+ A database table.
+ """ # noqa: E501
+ columns: List[DeclarativeColumn] = Field(description="An array of physical columns")
+ id: Annotated[str, Field(strict=True)] = Field(description="Table id.")
+ name_prefix: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Table or view name prefix used in scan. Will be stripped when generating LDM.", alias="namePrefix")
+ path: List[StrictStr] = Field(description="Path to table.")
+ type: StrictStr = Field(description="Table type: TABLE or VIEW.")
+ __properties: ClassVar[List[str]] = ["columns", "id", "namePrefix", "path", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeTable from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in columns (list)
+ _items = []
+ if self.columns:
+ for _item_columns in self.columns:
+ if _item_columns:
+ _items.append(_item_columns.to_dict())
+ _dict['columns'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeTable from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "columns": [DeclarativeColumn.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None,
+ "id": obj.get("id"),
+ "namePrefix": obj.get("namePrefix"),
+ "path": obj.get("path"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_tables.py b/gooddata-api-client/gooddata_api_client/models/declarative_tables.py
new file mode 100644
index 000000000..793faa248
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_tables.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_table import DeclarativeTable
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeTables(BaseModel):
+ """
+ A physical data model (PDM) tables.
+ """ # noqa: E501
+ tables: List[DeclarativeTable] = Field(description="An array of physical database tables.")
+ __properties: ClassVar[List[str]] = ["tables"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeTables from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in tables (list)
+ _items = []
+ if self.tables:
+ for _item_tables in self.tables:
+ if _item_tables:
+ _items.append(_item_tables.to_dict())
+ _dict['tables'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeTables from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "tables": [DeclarativeTable.from_dict(_item) for _item in obj["tables"]] if obj.get("tables") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_theme.py b/gooddata-api-client/gooddata_api_client/models/declarative_theme.py
new file mode 100644
index 000000000..a47b1c6c5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_theme.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeTheme(BaseModel):
+ """
+ Theme and its properties.
+ """ # noqa: E501
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ id: StrictStr
+ name: Annotated[str, Field(strict=True, max_length=255)]
+ __properties: ClassVar[List[str]] = ["content", "id", "name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeTheme from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeTheme from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "content": obj.get("content"),
+ "id": obj.get("id"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user.py b/gooddata-api-client/gooddata_api_client/models/declarative_user.py
new file mode 100644
index 000000000..8143525e1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user.py
@@ -0,0 +1,134 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_setting import DeclarativeSetting
+from gooddata_api_client.models.declarative_user_group_identifier import DeclarativeUserGroupIdentifier
+from gooddata_api_client.models.declarative_user_permission import DeclarativeUserPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUser(BaseModel):
+ """
+ A user and its properties
+ """ # noqa: E501
+ auth_id: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="User identification in the authentication manager.", alias="authId")
+ email: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="User email address")
+ firstname: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="User first name")
+ id: Annotated[str, Field(strict=True)] = Field(description="User identifier.")
+ lastname: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="User last name")
+ permissions: Optional[List[DeclarativeUserPermission]] = None
+ settings: Optional[List[DeclarativeSetting]] = Field(default=None, description="A list of user settings.")
+ user_groups: Optional[List[DeclarativeUserGroupIdentifier]] = Field(default=None, alias="userGroups")
+ __properties: ClassVar[List[str]] = ["authId", "email", "firstname", "id", "lastname", "permissions", "settings", "userGroups"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUser from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in settings (list)
+ _items = []
+ if self.settings:
+ for _item_settings in self.settings:
+ if _item_settings:
+ _items.append(_item_settings.to_dict())
+ _dict['settings'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUser from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "authId": obj.get("authId"),
+ "email": obj.get("email"),
+ "firstname": obj.get("firstname"),
+ "id": obj.get("id"),
+ "lastname": obj.get("lastname"),
+ "permissions": [DeclarativeUserPermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None,
+ "settings": [DeclarativeSetting.from_dict(_item) for _item in obj["settings"]] if obj.get("settings") is not None else None,
+ "userGroups": [DeclarativeUserGroupIdentifier.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filter.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filter.py
new file mode 100644
index 000000000..2b55138a6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filter.py
@@ -0,0 +1,116 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_group_identifier import DeclarativeUserGroupIdentifier
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserDataFilter(BaseModel):
+ """
+ User Data Filters serving the filtering of what data users can see in workspaces.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="User Data Filters setting description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="User Data Filters ID. This ID is further used to refer to this instance.")
+ maql: Annotated[str, Field(strict=True, max_length=10000)] = Field(description="Expression in MAQL specifying the User Data Filter")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="User Data Filters setting title.")
+ user: Optional[DeclarativeUserIdentifier] = None
+ user_group: Optional[DeclarativeUserGroupIdentifier] = Field(default=None, alias="userGroup")
+ __properties: ClassVar[List[str]] = ["description", "id", "maql", "tags", "title", "user", "userGroup"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserDataFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of user
+ if self.user:
+ _dict['user'] = self.user.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of user_group
+ if self.user_group:
+ _dict['userGroup'] = self.user_group.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserDataFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "maql": obj.get("maql"),
+ "tags": obj.get("tags"),
+ "title": obj.get("title"),
+ "user": DeclarativeUserIdentifier.from_dict(obj["user"]) if obj.get("user") is not None else None,
+ "userGroup": DeclarativeUserGroupIdentifier.from_dict(obj["userGroup"]) if obj.get("userGroup") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filters.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filters.py
new file mode 100644
index 000000000..f51158aee
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_data_filters.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_user_data_filter import DeclarativeUserDataFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserDataFilters(BaseModel):
+ """
+ Declarative form of user data filters.
+ """ # noqa: E501
+ user_data_filters: List[DeclarativeUserDataFilter] = Field(alias="userDataFilters")
+ __properties: ClassVar[List[str]] = ["userDataFilters"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserDataFilters from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in user_data_filters (list)
+ _items = []
+ if self.user_data_filters:
+ for _item_user_data_filters in self.user_data_filters:
+ if _item_user_data_filters:
+ _items.append(_item_user_data_filters.to_dict())
+ _dict['userDataFilters'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserDataFilters from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "userDataFilters": [DeclarativeUserDataFilter.from_dict(_item) for _item in obj["userDataFilters"]] if obj.get("userDataFilters") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_group.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_group.py
new file mode 100644
index 000000000..c1332b02d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_group.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_group_identifier import DeclarativeUserGroupIdentifier
+from gooddata_api_client.models.declarative_user_group_permission import DeclarativeUserGroupPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserGroup(BaseModel):
+ """
+ A user-group and its properties
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="UserGroup identifier.")
+ name: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Name of UserGroup")
+ parents: Optional[List[DeclarativeUserGroupIdentifier]] = None
+ permissions: Optional[List[DeclarativeUserGroupPermission]] = None
+ __properties: ClassVar[List[str]] = ["id", "name", "parents", "permissions"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroup from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in parents (list)
+ _items = []
+ if self.parents:
+ for _item_parents in self.parents:
+ if _item_parents:
+ _items.append(_item_parents.to_dict())
+ _dict['parents'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroup from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "parents": [DeclarativeUserGroupIdentifier.from_dict(_item) for _item in obj["parents"]] if obj.get("parents") is not None else None,
+ "permissions": [DeclarativeUserGroupPermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_group_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_identifier.py
new file mode 100644
index 000000000..2a155247f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserGroupIdentifier(BaseModel):
+ """
+ A user group identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of the user group.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['userGroup']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('userGroup')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permission.py
new file mode 100644
index 000000000..24fd8a656
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserGroupPermission(BaseModel):
+ """
+ Definition of a user-group permission assigned to a user/user-group.
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SEE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SEE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupPermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupPermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permissions.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permissions.py
new file mode 100644
index 000000000..3fbfa6a09
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_group_permissions.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_user_group_permission import DeclarativeUserGroupPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserGroupPermissions(BaseModel):
+ """
+ Definition of permissions associated with a user-group.
+ """ # noqa: E501
+ permissions: Optional[List[DeclarativeUserGroupPermission]] = None
+ __properties: ClassVar[List[str]] = ["permissions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupPermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroupPermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "permissions": [DeclarativeUserGroupPermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_groups.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_groups.py
new file mode 100644
index 000000000..b9fa1ff6e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_groups.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_user_group import DeclarativeUserGroup
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserGroups(BaseModel):
+ """
+ Declarative form of userGroups and its properties.
+ """ # noqa: E501
+ user_groups: List[DeclarativeUserGroup] = Field(alias="userGroups")
+ __properties: ClassVar[List[str]] = ["userGroups"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroups from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserGroups from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "userGroups": [DeclarativeUserGroup.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_identifier.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_identifier.py
new file mode 100644
index 000000000..b066a28a4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserIdentifier(BaseModel):
+ """
+ A user identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="User identifier.")
+ type: StrictStr = Field(description="A type.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['user']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('user')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_permission.py
new file mode 100644
index 000000000..1202dbdd3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserPermission(BaseModel):
+ """
+ Definition of a user permission assigned to a user/user-group.
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SEE']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SEE')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserPermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserPermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_user_permissions.py b/gooddata-api-client/gooddata_api_client/models/declarative_user_permissions.py
new file mode 100644
index 000000000..fb53ca81c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_user_permissions.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_user_permission import DeclarativeUserPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUserPermissions(BaseModel):
+ """
+ Definition of permissions associated with a user.
+ """ # noqa: E501
+ permissions: Optional[List[DeclarativeUserPermission]] = None
+ __properties: ClassVar[List[str]] = ["permissions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUserPermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUserPermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "permissions": [DeclarativeUserPermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_users.py b/gooddata-api-client/gooddata_api_client/models/declarative_users.py
new file mode 100644
index 000000000..a708f7497
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_users.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_user import DeclarativeUser
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUsers(BaseModel):
+ """
+ Declarative form of users and its properties.
+ """ # noqa: E501
+ users: List[DeclarativeUser]
+ __properties: ClassVar[List[str]] = ["users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUsers from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUsers from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "users": [DeclarativeUser.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_users_user_groups.py b/gooddata-api-client/gooddata_api_client/models/declarative_users_user_groups.py
new file mode 100644
index 000000000..87a11b684
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_users_user_groups.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_user import DeclarativeUser
+from gooddata_api_client.models.declarative_user_group import DeclarativeUserGroup
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeUsersUserGroups(BaseModel):
+ """
+ Declarative form of both users and user groups and theirs properties.
+ """ # noqa: E501
+ user_groups: List[DeclarativeUserGroup] = Field(alias="userGroups")
+ users: List[DeclarativeUser]
+ __properties: ClassVar[List[str]] = ["userGroups", "users"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeUsersUserGroups from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list)
+ _items = []
+ if self.user_groups:
+ for _item_user_groups in self.user_groups:
+ if _item_user_groups:
+ _items.append(_item_user_groups.to_dict())
+ _dict['userGroups'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in users (list)
+ _items = []
+ if self.users:
+ for _item_users in self.users:
+ if _item_users:
+ _items.append(_item_users.to_dict())
+ _dict['users'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeUsersUserGroups from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "userGroups": [DeclarativeUserGroup.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None,
+ "users": [DeclarativeUser.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_visualization_object.py b/gooddata-api-client/gooddata_api_client/models/declarative_visualization_object.py
new file mode 100644
index 000000000..2458e3746
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_visualization_object.py
@@ -0,0 +1,204 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_user_identifier import DeclarativeUserIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeVisualizationObject(BaseModel):
+ """
+ DeclarativeVisualizationObject
+ """ # noqa: E501
+ certification: Optional[StrictStr] = Field(default=None, description="Certification status of the entity.")
+ certification_message: Optional[StrictStr] = Field(default=None, description="Optional message associated with the certification.", alias="certificationMessage")
+ certified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time when the certification was set.", alias="certifiedAt")
+ certified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="certifiedBy")
+ content: Optional[Dict[str, Any]] = Field(description="Free-form JSON object")
+ created_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the entity creation.", alias="createdAt")
+ created_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="createdBy")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Visualization object description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Visualization object ID.")
+ is_hidden: Optional[StrictBool] = Field(default=None, description="If true, this visualization object is hidden from AI search results.", alias="isHidden")
+ modified_at: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Time of the last entity modification.", alias="modifiedAt")
+ modified_by: Optional[DeclarativeUserIdentifier] = Field(default=None, alias="modifiedBy")
+ tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Visualization object title.")
+ __properties: ClassVar[List[str]] = ["certification", "certificationMessage", "certifiedAt", "certifiedBy", "content", "createdAt", "createdBy", "description", "id", "isHidden", "modifiedAt", "modifiedBy", "tags", "title"]
+
+ @field_validator('certification')
+ def certification_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['CERTIFIED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('CERTIFIED')")
+ return value
+
+ @field_validator('certified_at')
+ def certified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('created_at')
+ def created_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('modified_at')
+ def modified_at_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not isinstance(value, str):
+ value = str(value)
+ if not re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", value):
+ raise ValueError(r"must validate the regular expression /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeVisualizationObject from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of certified_by
+ if self.certified_by:
+ _dict['certifiedBy'] = self.certified_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of created_by
+ if self.created_by:
+ _dict['createdBy'] = self.created_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of modified_by
+ if self.modified_by:
+ _dict['modifiedBy'] = self.modified_by.to_dict()
+ # set to None if certification_message (nullable) is None
+ # and model_fields_set contains the field
+ if self.certification_message is None and "certification_message" in self.model_fields_set:
+ _dict['certificationMessage'] = None
+
+ # set to None if certified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.certified_at is None and "certified_at" in self.model_fields_set:
+ _dict['certifiedAt'] = None
+
+ # set to None if content (nullable) is None
+ # and model_fields_set contains the field
+ if self.content is None and "content" in self.model_fields_set:
+ _dict['content'] = None
+
+ # set to None if created_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.created_at is None and "created_at" in self.model_fields_set:
+ _dict['createdAt'] = None
+
+ # set to None if modified_at (nullable) is None
+ # and model_fields_set contains the field
+ if self.modified_at is None and "modified_at" in self.model_fields_set:
+ _dict['modifiedAt'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeVisualizationObject from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "certification": obj.get("certification"),
+ "certificationMessage": obj.get("certificationMessage"),
+ "certifiedAt": obj.get("certifiedAt"),
+ "certifiedBy": DeclarativeUserIdentifier.from_dict(obj["certifiedBy"]) if obj.get("certifiedBy") is not None else None,
+ "content": obj.get("content"),
+ "createdAt": obj.get("createdAt"),
+ "createdBy": DeclarativeUserIdentifier.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None,
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "isHidden": obj.get("isHidden"),
+ "modifiedAt": obj.get("modifiedAt"),
+ "modifiedBy": DeclarativeUserIdentifier.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None,
+ "tags": obj.get("tags"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace.py
new file mode 100644
index 000000000..d28dd04b5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace.py
@@ -0,0 +1,206 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_automation import DeclarativeAutomation
+from gooddata_api_client.models.declarative_custom_application_setting import DeclarativeCustomApplicationSetting
+from gooddata_api_client.models.declarative_filter_view import DeclarativeFilterView
+from gooddata_api_client.models.declarative_setting import DeclarativeSetting
+from gooddata_api_client.models.declarative_single_workspace_permission import DeclarativeSingleWorkspacePermission
+from gooddata_api_client.models.declarative_user_data_filter import DeclarativeUserDataFilter
+from gooddata_api_client.models.declarative_workspace_hierarchy_permission import DeclarativeWorkspaceHierarchyPermission
+from gooddata_api_client.models.declarative_workspace_model import DeclarativeWorkspaceModel
+from gooddata_api_client.models.workspace_data_source import WorkspaceDataSource
+from gooddata_api_client.models.workspace_identifier import WorkspaceIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspace(BaseModel):
+ """
+ A declarative form of a particular workspace.
+ """ # noqa: E501
+ automations: Optional[List[DeclarativeAutomation]] = None
+ cache_extra_limit: Optional[StrictInt] = Field(default=None, description="Extra cache limit allocated to specific workspace. In case there is extra cache budget setup for organization, it can be split between multiple workspaces.", alias="cacheExtraLimit")
+ custom_application_settings: Optional[List[DeclarativeCustomApplicationSetting]] = Field(default=None, description="A list of workspace custom settings.", alias="customApplicationSettings")
+ data_source: Optional[WorkspaceDataSource] = Field(default=None, alias="dataSource")
+ description: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Description of the workspace")
+ early_access: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Early access defined on level Workspace", alias="earlyAccess")
+ early_access_values: Optional[List[Annotated[str, Field(strict=True, max_length=255)]]] = Field(default=None, description="Early access defined on level Workspace", alias="earlyAccessValues")
+ filter_views: Optional[List[DeclarativeFilterView]] = Field(default=None, alias="filterViews")
+ hierarchy_permissions: Optional[List[DeclarativeWorkspaceHierarchyPermission]] = Field(default=None, alias="hierarchyPermissions")
+ id: Annotated[str, Field(strict=True)] = Field(description="Identifier of a workspace")
+ model: Optional[DeclarativeWorkspaceModel] = None
+ name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Name of a workspace to view.")
+ parent: Optional[WorkspaceIdentifier] = None
+ permissions: Optional[List[DeclarativeSingleWorkspacePermission]] = None
+ prefix: Optional[Annotated[str, Field(strict=True, max_length=255)]] = Field(default=None, description="Custom prefix of entity identifiers in workspace")
+ settings: Optional[List[DeclarativeSetting]] = Field(default=None, description="A list of workspace settings.")
+ user_data_filters: Optional[List[DeclarativeUserDataFilter]] = Field(default=None, description="A list of workspace user data filters.", alias="userDataFilters")
+ __properties: ClassVar[List[str]] = ["automations", "cacheExtraLimit", "customApplicationSettings", "dataSource", "description", "earlyAccess", "earlyAccessValues", "filterViews", "hierarchyPermissions", "id", "model", "name", "parent", "permissions", "prefix", "settings", "userDataFilters"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('prefix')
+ def prefix_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspace from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in automations (list)
+ _items = []
+ if self.automations:
+ for _item_automations in self.automations:
+ if _item_automations:
+ _items.append(_item_automations.to_dict())
+ _dict['automations'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in custom_application_settings (list)
+ _items = []
+ if self.custom_application_settings:
+ for _item_custom_application_settings in self.custom_application_settings:
+ if _item_custom_application_settings:
+ _items.append(_item_custom_application_settings.to_dict())
+ _dict['customApplicationSettings'] = _items
+ # override the default output from pydantic by calling `to_dict()` of data_source
+ if self.data_source:
+ _dict['dataSource'] = self.data_source.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in filter_views (list)
+ _items = []
+ if self.filter_views:
+ for _item_filter_views in self.filter_views:
+ if _item_filter_views:
+ _items.append(_item_filter_views.to_dict())
+ _dict['filterViews'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in hierarchy_permissions (list)
+ _items = []
+ if self.hierarchy_permissions:
+ for _item_hierarchy_permissions in self.hierarchy_permissions:
+ if _item_hierarchy_permissions:
+ _items.append(_item_hierarchy_permissions.to_dict())
+ _dict['hierarchyPermissions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of model
+ if self.model:
+ _dict['model'] = self.model.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of parent
+ if self.parent:
+ _dict['parent'] = self.parent.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in settings (list)
+ _items = []
+ if self.settings:
+ for _item_settings in self.settings:
+ if _item_settings:
+ _items.append(_item_settings.to_dict())
+ _dict['settings'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in user_data_filters (list)
+ _items = []
+ if self.user_data_filters:
+ for _item_user_data_filters in self.user_data_filters:
+ if _item_user_data_filters:
+ _items.append(_item_user_data_filters.to_dict())
+ _dict['userDataFilters'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspace from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "automations": [DeclarativeAutomation.from_dict(_item) for _item in obj["automations"]] if obj.get("automations") is not None else None,
+ "cacheExtraLimit": obj.get("cacheExtraLimit"),
+ "customApplicationSettings": [DeclarativeCustomApplicationSetting.from_dict(_item) for _item in obj["customApplicationSettings"]] if obj.get("customApplicationSettings") is not None else None,
+ "dataSource": WorkspaceDataSource.from_dict(obj["dataSource"]) if obj.get("dataSource") is not None else None,
+ "description": obj.get("description"),
+ "earlyAccess": obj.get("earlyAccess"),
+ "earlyAccessValues": obj.get("earlyAccessValues"),
+ "filterViews": [DeclarativeFilterView.from_dict(_item) for _item in obj["filterViews"]] if obj.get("filterViews") is not None else None,
+ "hierarchyPermissions": [DeclarativeWorkspaceHierarchyPermission.from_dict(_item) for _item in obj["hierarchyPermissions"]] if obj.get("hierarchyPermissions") is not None else None,
+ "id": obj.get("id"),
+ "model": DeclarativeWorkspaceModel.from_dict(obj["model"]) if obj.get("model") is not None else None,
+ "name": obj.get("name"),
+ "parent": WorkspaceIdentifier.from_dict(obj["parent"]) if obj.get("parent") is not None else None,
+ "permissions": [DeclarativeSingleWorkspacePermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None,
+ "prefix": obj.get("prefix"),
+ "settings": [DeclarativeSetting.from_dict(_item) for _item in obj["settings"]] if obj.get("settings") is not None else None,
+ "userDataFilters": [DeclarativeUserDataFilter.from_dict(_item) for _item in obj["userDataFilters"]] if obj.get("userDataFilters") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter.py
new file mode 100644
index 000000000..968055574
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter.py
@@ -0,0 +1,118 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.declarative_workspace_data_filter_setting import DeclarativeWorkspaceDataFilterSetting
+from gooddata_api_client.models.workspace_identifier import WorkspaceIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceDataFilter(BaseModel):
+ """
+ Workspace Data Filters serving the filtering of what data users can see in workspaces.
+ """ # noqa: E501
+ column_name: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Workspace Data Filters column name. Data are filtered using this physical column.", alias="columnName")
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Workspace Data Filters description.")
+ id: Annotated[str, Field(strict=True)] = Field(description="Workspace Data Filters ID. This ID is further used to refer to this instance.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Workspace Data Filters title.")
+ workspace: WorkspaceIdentifier
+ workspace_data_filter_settings: List[DeclarativeWorkspaceDataFilterSetting] = Field(description="Filter settings specifying values of filters valid for the workspace.", alias="workspaceDataFilterSettings")
+ __properties: ClassVar[List[str]] = ["columnName", "description", "id", "title", "workspace", "workspaceDataFilterSettings"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of workspace
+ if self.workspace:
+ _dict['workspace'] = self.workspace.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filter_settings (list)
+ _items = []
+ if self.workspace_data_filter_settings:
+ for _item_workspace_data_filter_settings in self.workspace_data_filter_settings:
+ if _item_workspace_data_filter_settings:
+ _items.append(_item_workspace_data_filter_settings.to_dict())
+ _dict['workspaceDataFilterSettings'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "columnName": obj.get("columnName"),
+ "description": obj.get("description"),
+ "id": obj.get("id"),
+ "title": obj.get("title"),
+ "workspace": WorkspaceIdentifier.from_dict(obj["workspace"]) if obj.get("workspace") is not None else None,
+ "workspaceDataFilterSettings": [DeclarativeWorkspaceDataFilterSetting.from_dict(_item) for _item in obj["workspaceDataFilterSettings"]] if obj.get("workspaceDataFilterSettings") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_column.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_column.py
new file mode 100644
index 000000000..491d7f630
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_column.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceDataFilterColumn(BaseModel):
+ """
+ DeclarativeWorkspaceDataFilterColumn
+ """ # noqa: E501
+ data_type: StrictStr = Field(description="Data type of the column", alias="dataType")
+ name: StrictStr = Field(description="Name of the column")
+ __properties: ClassVar[List[str]] = ["dataType", "name"]
+
+ @field_validator('data_type')
+ def data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterColumn from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterColumn from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataType": obj.get("dataType"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_references.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_references.py
new file mode 100644
index 000000000..027644cf0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_references.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dataset_workspace_data_filter_identifier import DatasetWorkspaceDataFilterIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceDataFilterReferences(BaseModel):
+ """
+ DeclarativeWorkspaceDataFilterReferences
+ """ # noqa: E501
+ filter_column: StrictStr = Field(description="Filter column name", alias="filterColumn")
+ filter_column_data_type: StrictStr = Field(description="Filter column data type", alias="filterColumnDataType")
+ filter_id: DatasetWorkspaceDataFilterIdentifier = Field(alias="filterId")
+ __properties: ClassVar[List[str]] = ["filterColumn", "filterColumnDataType", "filterId"]
+
+ @field_validator('filter_column_data_type')
+ def filter_column_data_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('INT', 'STRING', 'DATE', 'NUMERIC', 'TIMESTAMP', 'TIMESTAMP_TZ', 'BOOLEAN')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterReferences from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of filter_id
+ if self.filter_id:
+ _dict['filterId'] = self.filter_id.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterReferences from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filterColumn": obj.get("filterColumn"),
+ "filterColumnDataType": obj.get("filterColumnDataType"),
+ "filterId": DatasetWorkspaceDataFilterIdentifier.from_dict(obj["filterId"]) if obj.get("filterId") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_setting.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_setting.py
new file mode 100644
index 000000000..9d9f683bd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filter_setting.py
@@ -0,0 +1,108 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.workspace_identifier import WorkspaceIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceDataFilterSetting(BaseModel):
+ """
+ Workspace Data Filters serving the filtering of what data users can see in workspaces.
+ """ # noqa: E501
+ description: Optional[Annotated[str, Field(strict=True, max_length=10000)]] = Field(default=None, description="Workspace Data Filters setting description.")
+ filter_values: List[StrictStr] = Field(description="Only those rows are returned, where columnName from filter matches those values.", alias="filterValues")
+ id: Annotated[str, Field(strict=True)] = Field(description="Workspace Data Filters ID. This ID is further used to refer to this instance.")
+ title: Annotated[str, Field(strict=True, max_length=255)] = Field(description="Workspace Data Filters setting title.")
+ workspace: WorkspaceIdentifier
+ __properties: ClassVar[List[str]] = ["description", "filterValues", "id", "title", "workspace"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterSetting from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of workspace
+ if self.workspace:
+ _dict['workspace'] = self.workspace.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilterSetting from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "filterValues": obj.get("filterValues"),
+ "id": obj.get("id"),
+ "title": obj.get("title"),
+ "workspace": WorkspaceIdentifier.from_dict(obj["workspace"]) if obj.get("workspace") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filters.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filters.py
new file mode 100644
index 000000000..cbbe9a3f7
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_data_filters.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_workspace_data_filter import DeclarativeWorkspaceDataFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceDataFilters(BaseModel):
+ """
+ Declarative form of data filters.
+ """ # noqa: E501
+ workspace_data_filters: List[DeclarativeWorkspaceDataFilter] = Field(alias="workspaceDataFilters")
+ __properties: ClassVar[List[str]] = ["workspaceDataFilters"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilters from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filters (list)
+ _items = []
+ if self.workspace_data_filters:
+ for _item_workspace_data_filters in self.workspace_data_filters:
+ if _item_workspace_data_filters:
+ _items.append(_item_workspace_data_filters.to_dict())
+ _dict['workspaceDataFilters'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceDataFilters from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "workspaceDataFilters": [DeclarativeWorkspaceDataFilter.from_dict(_item) for _item in obj["workspaceDataFilters"]] if obj.get("workspaceDataFilters") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_hierarchy_permission.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_hierarchy_permission.py
new file mode 100644
index 000000000..c119ebf6a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_hierarchy_permission.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.assignee_identifier import AssigneeIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceHierarchyPermission(BaseModel):
+ """
+ DeclarativeWorkspaceHierarchyPermission
+ """ # noqa: E501
+ assignee: AssigneeIdentifier
+ name: StrictStr = Field(description="Permission name.")
+ __properties: ClassVar[List[str]] = ["assignee", "name"]
+
+ @field_validator('name')
+ def name_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['MANAGE', 'ANALYZE', 'EXPORT', 'EXPORT_TABULAR', 'EXPORT_PDF', 'CREATE_AUTOMATION', 'USE_AI_ASSISTANT', 'WRITE_KNOWLEDGE_DOCUMENTS', 'READ_KNOWLEDGE_DOCUMENTS', 'CREATE_FILTER_VIEW', 'VIEW']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('MANAGE', 'ANALYZE', 'EXPORT', 'EXPORT_TABULAR', 'EXPORT_PDF', 'CREATE_AUTOMATION', 'USE_AI_ASSISTANT', 'WRITE_KNOWLEDGE_DOCUMENTS', 'READ_KNOWLEDGE_DOCUMENTS', 'CREATE_FILTER_VIEW', 'VIEW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceHierarchyPermission from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of assignee
+ if self.assignee:
+ _dict['assignee'] = self.assignee.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceHierarchyPermission from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "assignee": AssigneeIdentifier.from_dict(obj["assignee"]) if obj.get("assignee") is not None else None,
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_model.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_model.py
new file mode 100644
index 000000000..806c585b2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_model.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_analytics_layer import DeclarativeAnalyticsLayer
+from gooddata_api_client.models.declarative_ldm import DeclarativeLdm
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaceModel(BaseModel):
+ """
+ A declarative form of a model and analytics for a workspace.
+ """ # noqa: E501
+ analytics: Optional[DeclarativeAnalyticsLayer] = None
+ ldm: Optional[DeclarativeLdm] = None
+ __properties: ClassVar[List[str]] = ["analytics", "ldm"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceModel from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of analytics
+ if self.analytics:
+ _dict['analytics'] = self.analytics.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of ldm
+ if self.ldm:
+ _dict['ldm'] = self.ldm.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaceModel from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "analytics": DeclarativeAnalyticsLayer.from_dict(obj["analytics"]) if obj.get("analytics") is not None else None,
+ "ldm": DeclarativeLdm.from_dict(obj["ldm"]) if obj.get("ldm") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspace_permissions.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_permissions.py
new file mode 100644
index 000000000..1ae36d203
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspace_permissions.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.declarative_single_workspace_permission import DeclarativeSingleWorkspacePermission
+from gooddata_api_client.models.declarative_workspace_hierarchy_permission import DeclarativeWorkspaceHierarchyPermission
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspacePermissions(BaseModel):
+ """
+ Definition of permissions associated with a workspace.
+ """ # noqa: E501
+ hierarchy_permissions: Optional[List[DeclarativeWorkspaceHierarchyPermission]] = Field(default=None, alias="hierarchyPermissions")
+ permissions: Optional[List[DeclarativeSingleWorkspacePermission]] = None
+ __properties: ClassVar[List[str]] = ["hierarchyPermissions", "permissions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspacePermissions from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in hierarchy_permissions (list)
+ _items = []
+ if self.hierarchy_permissions:
+ for _item_hierarchy_permissions in self.hierarchy_permissions:
+ if _item_hierarchy_permissions:
+ _items.append(_item_hierarchy_permissions.to_dict())
+ _dict['hierarchyPermissions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in permissions (list)
+ _items = []
+ if self.permissions:
+ for _item_permissions in self.permissions:
+ if _item_permissions:
+ _items.append(_item_permissions.to_dict())
+ _dict['permissions'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspacePermissions from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "hierarchyPermissions": [DeclarativeWorkspaceHierarchyPermission.from_dict(_item) for _item in obj["hierarchyPermissions"]] if obj.get("hierarchyPermissions") is not None else None,
+ "permissions": [DeclarativeSingleWorkspacePermission.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/declarative_workspaces.py b/gooddata-api-client/gooddata_api_client/models/declarative_workspaces.py
new file mode 100644
index 000000000..11857ecd2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/declarative_workspaces.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.declarative_workspace import DeclarativeWorkspace
+from gooddata_api_client.models.declarative_workspace_data_filter import DeclarativeWorkspaceDataFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeclarativeWorkspaces(BaseModel):
+ """
+ A declarative form of a all workspace layout.
+ """ # noqa: E501
+ workspace_data_filters: List[DeclarativeWorkspaceDataFilter] = Field(alias="workspaceDataFilters")
+ workspaces: List[DeclarativeWorkspace]
+ __properties: ClassVar[List[str]] = ["workspaceDataFilters", "workspaces"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaces from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in workspace_data_filters (list)
+ _items = []
+ if self.workspace_data_filters:
+ for _item_workspace_data_filters in self.workspace_data_filters:
+ if _item_workspace_data_filters:
+ _items.append(_item_workspace_data_filters.to_dict())
+ _dict['workspaceDataFilters'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in workspaces (list)
+ _items = []
+ if self.workspaces:
+ for _item_workspaces in self.workspaces:
+ if _item_workspaces:
+ _items.append(_item_workspaces.to_dict())
+ _dict['workspaces'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeclarativeWorkspaces from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "workspaceDataFilters": [DeclarativeWorkspaceDataFilter.from_dict(_item) for _item in obj["workspaceDataFilters"]] if obj.get("workspaceDataFilters") is not None else None,
+ "workspaces": [DeclarativeWorkspace.from_dict(_item) for _item in obj["workspaces"]] if obj.get("workspaces") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/default_smtp.py b/gooddata-api-client/gooddata_api_client/models/default_smtp.py
new file mode 100644
index 000000000..c6bfffc47
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/default_smtp.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DefaultSmtp(BaseModel):
+ """
+ Default SMTP destination for notifications.
+ """ # noqa: E501
+ from_email: Optional[StrictStr] = Field(default='no-reply@gooddata.com', description="E-mail address to send notifications from. Currently this does not have any effect. E-mail 'no-reply@gooddata.com' is used instead.", alias="fromEmail")
+ from_email_name: Optional[StrictStr] = Field(default='GoodData', description="An optional e-mail name to send notifications from. Currently this does not have any effect. E-mail from name 'GoodData' is used instead.", alias="fromEmailName")
+ type: StrictStr = Field(description="The destination type.")
+ __properties: ClassVar[List[str]] = ["fromEmail", "fromEmailName", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['DEFAULT_SMTP']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('DEFAULT_SMTP')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DefaultSmtp from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DefaultSmtp from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "fromEmail": obj.get("fromEmail") if obj.get("fromEmail") is not None else 'no-reply@gooddata.com',
+ "fromEmailName": obj.get("fromEmailName") if obj.get("fromEmailName") is not None else 'GoodData',
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/delete_knowledge_document_response_dto.py b/gooddata-api-client/gooddata_api_client/models/delete_knowledge_document_response_dto.py
new file mode 100644
index 000000000..cc284dbb1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/delete_knowledge_document_response_dto.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DeleteKnowledgeDocumentResponseDto(BaseModel):
+ """
+ DeleteKnowledgeDocumentResponseDto
+ """ # noqa: E501
+ message: StrictStr
+ success: StrictBool
+ __properties: ClassVar[List[str]] = ["message", "success"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DeleteKnowledgeDocumentResponseDto from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DeleteKnowledgeDocumentResponseDto from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "message": obj.get("message"),
+ "success": obj.get("success")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dependent_entities_graph.py b/gooddata-api-client/gooddata_api_client/models/dependent_entities_graph.py
new file mode 100644
index 000000000..fbaf249c9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dependent_entities_graph.py
@@ -0,0 +1,111 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dependent_entities_node import DependentEntitiesNode
+from gooddata_api_client.models.entity_identifier import EntityIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependentEntitiesGraph(BaseModel):
+ """
+ DependentEntitiesGraph
+ """ # noqa: E501
+ edges: List[List[EntityIdentifier]]
+ nodes: List[DependentEntitiesNode]
+ __properties: ClassVar[List[str]] = ["edges", "nodes"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependentEntitiesGraph from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in edges (list of list)
+ _items = []
+ if self.edges:
+ for _item_edges in self.edges:
+ if _item_edges:
+ _items.append(
+ [_inner_item.to_dict() for _inner_item in _item_edges if _inner_item is not None]
+ )
+ _dict['edges'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in nodes (list)
+ _items = []
+ if self.nodes:
+ for _item_nodes in self.nodes:
+ if _item_nodes:
+ _items.append(_item_nodes.to_dict())
+ _dict['nodes'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependentEntitiesGraph from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "edges": [
+ [EntityIdentifier.from_dict(_inner_item) for _inner_item in _item]
+ for _item in obj["edges"]
+ ] if obj.get("edges") is not None else None,
+ "nodes": [DependentEntitiesNode.from_dict(_item) for _item in obj["nodes"]] if obj.get("nodes") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dependent_entities_node.py b/gooddata-api-client/gooddata_api_client/models/dependent_entities_node.py
new file mode 100644
index 000000000..c92d37cf3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dependent_entities_node.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependentEntitiesNode(BaseModel):
+ """
+ DependentEntitiesNode
+ """ # noqa: E501
+ id: StrictStr
+ title: Optional[StrictStr] = None
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "title", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['analyticalDashboard', 'attribute', 'attributeHierarchy', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'userDataFilter', 'automation', 'memoryItem', 'knowledgeRecommendation', 'visualizationObject', 'filterContext', 'filterView']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('analyticalDashboard', 'attribute', 'attributeHierarchy', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'userDataFilter', 'automation', 'memoryItem', 'knowledgeRecommendation', 'visualizationObject', 'filterContext', 'filterView')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependentEntitiesNode from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependentEntitiesNode from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "title": obj.get("title"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dependent_entities_request.py b/gooddata-api-client/gooddata_api_client/models/dependent_entities_request.py
new file mode 100644
index 000000000..6557c1301
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dependent_entities_request.py
@@ -0,0 +1,109 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.entity_identifier import EntityIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependentEntitiesRequest(BaseModel):
+ """
+ DependentEntitiesRequest
+ """ # noqa: E501
+ identifiers: List[EntityIdentifier]
+ relation: Optional[StrictStr] = Field(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.")
+ __properties: ClassVar[List[str]] = ["identifiers", "relation"]
+
+ @field_validator('relation')
+ def relation_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['DEPENDENTS', 'DEPENDENCIES']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('DEPENDENTS', 'DEPENDENCIES')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependentEntitiesRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in identifiers (list)
+ _items = []
+ if self.identifiers:
+ for _item_identifiers in self.identifiers:
+ if _item_identifiers:
+ _items.append(_item_identifiers.to_dict())
+ _dict['identifiers'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependentEntitiesRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "identifiers": [EntityIdentifier.from_dict(_item) for _item in obj["identifiers"]] if obj.get("identifiers") is not None else None,
+ "relation": obj.get("relation") if obj.get("relation") is not None else 'DEPENDENTS'
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dependent_entities_response.py b/gooddata-api-client/gooddata_api_client/models/dependent_entities_response.py
new file mode 100644
index 000000000..28c869f88
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dependent_entities_response.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dependent_entities_graph import DependentEntitiesGraph
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependentEntitiesResponse(BaseModel):
+ """
+ DependentEntitiesResponse
+ """ # noqa: E501
+ graph: DependentEntitiesGraph
+ __properties: ClassVar[List[str]] = ["graph"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependentEntitiesResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of graph
+ if self.graph:
+ _dict['graph'] = self.graph.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependentEntitiesResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "graph": DependentEntitiesGraph.from_dict(obj["graph"]) if obj.get("graph") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/depends_on.py b/gooddata-api-client/gooddata_api_client/models/depends_on.py
new file mode 100644
index 000000000..2381ff489
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/depends_on.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependsOn(BaseModel):
+ """
+ Filter definition type specified by label and values.
+ """ # noqa: E501
+ complement_filter: Optional[StrictBool] = Field(default=False, description="Inverse filtering mode.", alias="complementFilter")
+ label: StrictStr = Field(description="Specifies on which label the filter depends on.")
+ values: List[Optional[StrictStr]] = Field(description="Specifies values of the label for element filtering.")
+ __properties: ClassVar[List[str]] = ["complementFilter", "label", "values"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependsOn from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependsOn from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "complementFilter": obj.get("complementFilter") if obj.get("complementFilter") is not None else False,
+ "label": obj.get("label"),
+ "values": obj.get("values")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/depends_on_date_filter.py b/gooddata-api-client/gooddata_api_client/models/depends_on_date_filter.py
new file mode 100644
index 000000000..20c48ee60
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/depends_on_date_filter.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.date_filter import DateFilter
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DependsOnDateFilter(BaseModel):
+ """
+ Filter definition type for dates.
+ """ # noqa: E501
+ date_filter: DateFilter = Field(alias="dateFilter")
+ __properties: ClassVar[List[str]] = ["dateFilter"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DependsOnDateFilter from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of date_filter
+ if self.date_filter:
+ _dict['dateFilter'] = self.date_filter.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DependsOnDateFilter from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dateFilter": DateFilter.from_dict(obj["dateFilter"]) if obj.get("dateFilter") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dim_attribute.py b/gooddata-api-client/gooddata_api_client/models/dim_attribute.py
new file mode 100644
index 000000000..b6c48b9a2
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dim_attribute.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DimAttribute(BaseModel):
+ """
+ List of attributes representing the dimensionality of the new visualization
+ """ # noqa: E501
+ id: StrictStr = Field(description="ID of the object")
+ title: StrictStr = Field(description="Title of attribute.")
+ type: StrictStr = Field(description="Object type")
+ __properties: ClassVar[List[str]] = ["id", "title", "type"]
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['attribute']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('attribute')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DimAttribute from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DimAttribute from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "title": obj.get("title"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dimension.py b/gooddata-api-client/gooddata_api_client/models/dimension.py
new file mode 100644
index 000000000..891889c90
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dimension.py
@@ -0,0 +1,111 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from gooddata_api_client.models.sort_key import SortKey
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Dimension(BaseModel):
+ """
+ Single dimension description.
+ """ # noqa: E501
+ item_identifiers: List[StrictStr] = Field(description="List of items in current dimension. Can reference 'localIdentifier' from 'AttributeItem', or special pseudo attribute \"measureGroup\" representing list of metrics.", alias="itemIdentifiers")
+ local_identifier: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Dimension identification within requests. Other entities can reference this dimension by this value.", alias="localIdentifier")
+ sorting: Optional[List[SortKey]] = Field(default=None, description="List of sorting rules. From most relevant to least relevant (less relevant rule is applied, when more relevant rule compares items as equal).")
+ __properties: ClassVar[List[str]] = ["itemIdentifiers", "localIdentifier", "sorting"]
+
+ @field_validator('local_identifier')
+ def local_identifier_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if value is None:
+ return value
+
+ if not re.match(r"^[.a-zA-Z0-9_-]+$", value):
+ raise ValueError(r"must validate the regular expression /^[.a-zA-Z0-9_-]+$/")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Dimension from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in sorting (list)
+ _items = []
+ if self.sorting:
+ for _item_sorting in self.sorting:
+ if _item_sorting:
+ _items.append(_item_sorting.to_dict())
+ _dict['sorting'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Dimension from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "itemIdentifiers": obj.get("itemIdentifiers"),
+ "localIdentifier": obj.get("localIdentifier"),
+ "sorting": [SortKey.from_dict(_item) for _item in obj["sorting"]] if obj.get("sorting") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/dimension_header.py b/gooddata-api-client/gooddata_api_client/models/dimension_header.py
new file mode 100644
index 000000000..616400c1e
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/dimension_header.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.header_group import HeaderGroup
+from typing import Optional, Set
+from typing_extensions import Self
+
+class DimensionHeader(BaseModel):
+ """
+ Contains the dimension-specific header information.
+ """ # noqa: E501
+ header_groups: List[HeaderGroup] = Field(description="An array containing header groups.", alias="headerGroups")
+ __properties: ClassVar[List[str]] = ["headerGroups"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of DimensionHeader from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in header_groups (list)
+ _items = []
+ if self.header_groups:
+ for _item_header_groups in self.header_groups:
+ if _item_header_groups:
+ _items.append(_item_header_groups.to_dict())
+ _dict['headerGroups'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of DimensionHeader from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "headerGroups": [HeaderGroup.from_dict(_item) for _item in obj["headerGroups"]] if obj.get("headerGroups") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/element.py b/gooddata-api-client/gooddata_api_client/models/element.py
new file mode 100644
index 000000000..68702129b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/element.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Element(BaseModel):
+ """
+ List of returned elements.
+ """ # noqa: E501
+ primary_title: StrictStr = Field(description="Title of primary label of attribute owning requested label, null if the title is null or the primary label is excluded", alias="primaryTitle")
+ title: StrictStr = Field(description="Title of requested label.")
+ __properties: ClassVar[List[str]] = ["primaryTitle", "title"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Element from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Element from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "primaryTitle": obj.get("primaryTitle"),
+ "title": obj.get("title")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/elements_request.py b/gooddata-api-client/gooddata_api_client/models/elements_request.py
new file mode 100644
index 000000000..deb1e71e6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/elements_request.py
@@ -0,0 +1,147 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing_extensions import Annotated
+from gooddata_api_client.models.elements_request_depends_on_inner import ElementsRequestDependsOnInner
+from gooddata_api_client.models.filter_by import FilterBy
+from gooddata_api_client.models.validate_by_item import ValidateByItem
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ElementsRequest(BaseModel):
+ """
+ ElementsRequest
+ """ # noqa: E501
+ cache_id: Optional[StrictStr] = Field(default=None, description="If specified, the element data will be taken from the result with the same cacheId if it is available.", alias="cacheId")
+ complement_filter: Optional[StrictBool] = Field(default=False, description="Inverse filters: * ```false``` - return items matching ```patternFilter``` and ```exactFilter``` * ```true``` - return items not matching ```patternFilter``` and ```exactFilter```", alias="complementFilter")
+ data_sampling_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=100.0, description="Specifies percentage of source table data scanned during the computation. This field is deprecated and is no longer used during the elements computation.", alias="dataSamplingPercentage")
+ depends_on: Optional[List[ElementsRequestDependsOnInner]] = Field(default=None, description="Return only items that are not filtered-out by the parent filters.", alias="dependsOn")
+ exact_filter: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Return only items, whose ```label``` title exactly matches one of ```filter```.", alias="exactFilter")
+ exclude_primary_label: Optional[StrictBool] = Field(default=False, description="Excludes items from the result that differ only by primary label * ```false``` - return items with distinct primary label * ```true``` - return items with distinct requested label", alias="excludePrimaryLabel")
+ filter_by: Optional[FilterBy] = Field(default=None, alias="filterBy")
+ label: Annotated[str, Field(strict=True)] = Field(description="Requested label.")
+ pattern_filter: Optional[StrictStr] = Field(default=None, description="Return only items, whose ```label``` title case insensitively contains ```filter``` as substring.", alias="patternFilter")
+ sort_order: Optional[StrictStr] = Field(default=None, description="Sort order of returned items. Items are sorted by ```label``` title. If no sort order is specified then attribute's ```sortDirection``` is used, which is ASC by default", alias="sortOrder")
+ validate_by: Optional[List[Optional[ValidateByItem]]] = Field(default=None, description="Return only items that are computable on metric.", alias="validateBy")
+ __properties: ClassVar[List[str]] = ["cacheId", "complementFilter", "dataSamplingPercentage", "dependsOn", "exactFilter", "excludePrimaryLabel", "filterBy", "label", "patternFilter", "sortOrder", "validateBy"]
+
+ @field_validator('label')
+ def label_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('sort_order')
+ def sort_order_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ASC', 'DESC']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ASC', 'DESC')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ElementsRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in depends_on (list)
+ _items = []
+ if self.depends_on:
+ for _item_depends_on in self.depends_on:
+ if _item_depends_on:
+ _items.append(_item_depends_on.to_dict())
+ _dict['dependsOn'] = _items
+ # override the default output from pydantic by calling `to_dict()` of filter_by
+ if self.filter_by:
+ _dict['filterBy'] = self.filter_by.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in validate_by (list)
+ _items = []
+ if self.validate_by:
+ for _item_validate_by in self.validate_by:
+ if _item_validate_by:
+ _items.append(_item_validate_by.to_dict())
+ _dict['validateBy'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ElementsRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "cacheId": obj.get("cacheId"),
+ "complementFilter": obj.get("complementFilter") if obj.get("complementFilter") is not None else False,
+ "dataSamplingPercentage": obj.get("dataSamplingPercentage") if obj.get("dataSamplingPercentage") is not None else 100.0,
+ "dependsOn": [ElementsRequestDependsOnInner.from_dict(_item) for _item in obj["dependsOn"]] if obj.get("dependsOn") is not None else None,
+ "exactFilter": obj.get("exactFilter"),
+ "excludePrimaryLabel": obj.get("excludePrimaryLabel") if obj.get("excludePrimaryLabel") is not None else False,
+ "filterBy": FilterBy.from_dict(obj["filterBy"]) if obj.get("filterBy") is not None else None,
+ "label": obj.get("label"),
+ "patternFilter": obj.get("patternFilter"),
+ "sortOrder": obj.get("sortOrder"),
+ "validateBy": [ValidateByItem.from_dict(_item) for _item in obj["validateBy"]] if obj.get("validateBy") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/elements_request_depends_on_inner.py b/gooddata-api-client/gooddata_api_client/models/elements_request_depends_on_inner.py
new file mode 100644
index 000000000..2b59b855f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/elements_request_depends_on_inner.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.depends_on import DependsOn
+from gooddata_api_client.models.depends_on_date_filter import DependsOnDateFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+ELEMENTSREQUESTDEPENDSONINNER_ONE_OF_SCHEMAS = ["DependsOn", "DependsOnDateFilter"]
+
+class ElementsRequestDependsOnInner(BaseModel):
+ """
+ ElementsRequestDependsOnInner
+ """
+ # data type: DependsOn
+ oneof_schema_1_validator: Optional[DependsOn] = None
+ # data type: DependsOnDateFilter
+ oneof_schema_2_validator: Optional[DependsOnDateFilter] = None
+ actual_instance: Optional[Union[DependsOn, DependsOnDateFilter]] = None
+ one_of_schemas: Set[str] = { "DependsOn", "DependsOnDateFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = ElementsRequestDependsOnInner.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DependsOn
+ if not isinstance(v, DependsOn):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DependsOn`")
+ else:
+ match += 1
+ # validate data type: DependsOnDateFilter
+ if not isinstance(v, DependsOnDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DependsOnDateFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in ElementsRequestDependsOnInner with oneOf schemas: DependsOn, DependsOnDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DependsOn
+ try:
+ if match == 0:
+ instance.actual_instance = DependsOn.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into DependsOnDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DependsOnDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into ElementsRequestDependsOnInner with oneOf schemas: DependsOn, DependsOnDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DependsOn, DependsOnDateFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/elements_response.py b/gooddata-api-client/gooddata_api_client/models/elements_response.py
new file mode 100644
index 000000000..802d1142a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/elements_response.py
@@ -0,0 +1,129 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.attribute_format import AttributeFormat
+from gooddata_api_client.models.element import Element
+from gooddata_api_client.models.paging import Paging
+from gooddata_api_client.models.rest_api_identifier import RestApiIdentifier
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ElementsResponse(BaseModel):
+ """
+ Entity holding list of sorted & filtered label elements, related primary label of attribute owning requested label and paging.
+ """ # noqa: E501
+ cache_id: Optional[StrictStr] = Field(default=None, description="The client can use this in subsequent requests (like paging or search) to get results from the same point in time as the previous request. This is useful when the underlying data source has caches disabled and the client wants to avoid seeing inconsistent results and to also avoid excessive queries to the database itself.", alias="cacheId")
+ elements: List[Element] = Field(description="List of returned elements.")
+ format: Optional[AttributeFormat] = None
+ granularity: Optional[StrictStr] = Field(default=None, description="Granularity of requested label in case of date attribute")
+ paging: Paging
+ primary_label: RestApiIdentifier = Field(alias="primaryLabel")
+ __properties: ClassVar[List[str]] = ["cacheId", "elements", "format", "granularity", "paging", "primaryLabel"]
+
+ @field_validator('granularity')
+ def granularity_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['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']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('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')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ElementsResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in elements (list)
+ _items = []
+ if self.elements:
+ for _item_elements in self.elements:
+ if _item_elements:
+ _items.append(_item_elements.to_dict())
+ _dict['elements'] = _items
+ # override the default output from pydantic by calling `to_dict()` of format
+ if self.format:
+ _dict['format'] = self.format.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of paging
+ if self.paging:
+ _dict['paging'] = self.paging.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of primary_label
+ if self.primary_label:
+ _dict['primaryLabel'] = self.primary_label.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ElementsResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "cacheId": obj.get("cacheId"),
+ "elements": [Element.from_dict(_item) for _item in obj["elements"]] if obj.get("elements") is not None else None,
+ "format": AttributeFormat.from_dict(obj["format"]) if obj.get("format") is not None else None,
+ "granularity": obj.get("granularity"),
+ "paging": Paging.from_dict(obj["paging"]) if obj.get("paging") is not None else None,
+ "primaryLabel": RestApiIdentifier.from_dict(obj["primaryLabel"]) if obj.get("primaryLabel") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/entitlements_request.py b/gooddata-api-client/gooddata_api_client/models/entitlements_request.py
new file mode 100644
index 000000000..e7183e53f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/entitlements_request.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class EntitlementsRequest(BaseModel):
+ """
+ EntitlementsRequest
+ """ # noqa: E501
+ entitlements_name: List[StrictStr] = Field(alias="entitlementsName")
+ __properties: ClassVar[List[str]] = ["entitlementsName"]
+
+ @field_validator('entitlements_name')
+ def entitlements_name_validate_enum(cls, value):
+ """Validates the enum"""
+ for i in value:
+ if i not in set(['CacheStrategy', 'Contract', 'CustomTheming', 'ExtraCache', 'Hipaa', 'PdfExports', 'UiLocalization', 'Tier', 'UserCount', 'ManagedIdpUserCount', 'UnlimitedUsers', 'UnlimitedWorkspaces', 'WhiteLabeling', 'WorkspaceCount', 'UserTelemetryDisabled', 'AutomationCount', 'UnlimitedAutomations', 'AutomationRecipientCount', 'UnlimitedAutomationRecipients', 'DailyScheduledActionCount', 'UnlimitedDailyScheduledActions', 'DailyAlertActionCount', 'UnlimitedDailyAlertActions', 'ScheduledActionMinimumRecurrenceMinutes', 'FederatedIdentityManagement', 'AuditLogging', 'ControlledFeatureRollout', 'AiLake']):
+ raise ValueError("each list item must be one of ('CacheStrategy', 'Contract', 'CustomTheming', 'ExtraCache', 'Hipaa', 'PdfExports', 'UiLocalization', 'Tier', 'UserCount', 'ManagedIdpUserCount', 'UnlimitedUsers', 'UnlimitedWorkspaces', 'WhiteLabeling', 'WorkspaceCount', 'UserTelemetryDisabled', 'AutomationCount', 'UnlimitedAutomations', 'AutomationRecipientCount', 'UnlimitedAutomationRecipients', 'DailyScheduledActionCount', 'UnlimitedDailyScheduledActions', 'DailyAlertActionCount', 'UnlimitedDailyAlertActions', 'ScheduledActionMinimumRecurrenceMinutes', 'FederatedIdentityManagement', 'AuditLogging', 'ControlledFeatureRollout', 'AiLake')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of EntitlementsRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of EntitlementsRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "entitlementsName": obj.get("entitlementsName")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/entity_identifier.py b/gooddata-api-client/gooddata_api_client/models/entity_identifier.py
new file mode 100644
index 000000000..49e678e23
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/entity_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class EntityIdentifier(BaseModel):
+ """
+ EntityIdentifier
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Object identifier.")
+ type: StrictStr
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['analyticalDashboard', 'attribute', 'attributeHierarchy', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'userDataFilter', 'automation', 'knowledgeRecommendation', 'visualizationObject', 'filterContext', 'filterView']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('analyticalDashboard', 'attribute', 'attributeHierarchy', 'dashboardPlugin', 'dataset', 'fact', 'label', 'metric', 'userDataFilter', 'automation', 'knowledgeRecommendation', 'visualizationObject', 'filterContext', 'filterView')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of EntityIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of EntityIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/entity_search_body.py b/gooddata-api-client/gooddata_api_client/models/entity_search_body.py
new file mode 100644
index 000000000..2e1b9d477
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/entity_search_body.py
@@ -0,0 +1,128 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.entity_search_page import EntitySearchPage
+from gooddata_api_client.models.entity_search_sort import EntitySearchSort
+from typing import Optional, Set
+from typing_extensions import Self
+
+class EntitySearchBody(BaseModel):
+ """
+ Request body for entity search operations
+ """ # noqa: E501
+ filter: Optional[StrictStr] = Field(default=None, 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').")
+ include: Optional[List[StrictStr]] = Field(default=None, description="List of related entities to include in the response")
+ meta_include: Optional[List[StrictStr]] = Field(default=None, description="Set of metadata fields to include in the response", alias="metaInclude")
+ page: Optional[EntitySearchPage] = None
+ sort: Optional[List[EntitySearchSort]] = Field(default=None, description="Sorting criteria (can specify multiple sort orders)")
+ __properties: ClassVar[List[str]] = ["filter", "include", "metaInclude", "page", "sort"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of EntitySearchBody from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of page
+ if self.page:
+ _dict['page'] = self.page.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in sort (list)
+ _items = []
+ if self.sort:
+ for _item_sort in self.sort:
+ if _item_sort:
+ _items.append(_item_sort.to_dict())
+ _dict['sort'] = _items
+ # set to None if filter (nullable) is None
+ # and model_fields_set contains the field
+ if self.filter is None and "filter" in self.model_fields_set:
+ _dict['filter'] = None
+
+ # set to None if include (nullable) is None
+ # and model_fields_set contains the field
+ if self.include is None and "include" in self.model_fields_set:
+ _dict['include'] = None
+
+ # set to None if meta_include (nullable) is None
+ # and model_fields_set contains the field
+ if self.meta_include is None and "meta_include" in self.model_fields_set:
+ _dict['metaInclude'] = None
+
+ # set to None if sort (nullable) is None
+ # and model_fields_set contains the field
+ if self.sort is None and "sort" in self.model_fields_set:
+ _dict['sort'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of EntitySearchBody from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "filter": obj.get("filter"),
+ "include": obj.get("include"),
+ "metaInclude": obj.get("metaInclude"),
+ "page": EntitySearchPage.from_dict(obj["page"]) if obj.get("page") is not None else None,
+ "sort": [EntitySearchSort.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/entity_search_page.py b/gooddata-api-client/gooddata_api_client/models/entity_search_page.py
new file mode 100644
index 000000000..11acff9c5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/entity_search_page.py
@@ -0,0 +1,91 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class EntitySearchPage(BaseModel):
+ """
+ Pagination information for entity search
+ """ # noqa: E501
+ index: Annotated[int, Field(strict=True, ge=0)] = Field(description="Zero-based page index")
+ size: Annotated[int, Field(strict=True, ge=1)] = Field(description="Number of items per page")
+ __properties: ClassVar[List[str]] = ["index", "size"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of EntitySearchPage from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of EntitySearchPage from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "index": obj.get("index") if obj.get("index") is not None else 0,
+ "size": obj.get("size") if obj.get("size") is not None else 100
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/entity_search_sort.py b/gooddata-api-client/gooddata_api_client/models/entity_search_sort.py
new file mode 100644
index 000000000..e9e3c90dc
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/entity_search_sort.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class EntitySearchSort(BaseModel):
+ """
+ Sorting criteria for entity search
+ """ # noqa: E501
+ direction: Optional[StrictStr] = Field(default='ASC', description="Sort direction")
+ var_property: StrictStr = Field(description="Property name to sort by", alias="property")
+ __properties: ClassVar[List[str]] = ["direction", "property"]
+
+ @field_validator('direction')
+ def direction_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['ASC', 'DESC']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('ASC', 'DESC')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of EntitySearchSort from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of EntitySearchSort from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "direction": obj.get("direction") if obj.get("direction") is not None else 'ASC',
+ "property": obj.get("property")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_links.py b/gooddata-api-client/gooddata_api_client/models/execution_links.py
new file mode 100644
index 000000000..337666c5c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_links.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionLinks(BaseModel):
+ """
+ Links to the execution result.
+ """ # noqa: E501
+ execution_result: StrictStr = Field(description="Link to the result data.", alias="executionResult")
+ __properties: ClassVar[List[str]] = ["executionResult"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionLinks from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionLinks from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "executionResult": obj.get("executionResult")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_response.py b/gooddata-api-client/gooddata_api_client/models/execution_response.py
new file mode 100644
index 000000000..6d795c29d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_response.py
@@ -0,0 +1,102 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.execution_links import ExecutionLinks
+from gooddata_api_client.models.result_dimension import ResultDimension
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResponse(BaseModel):
+ """
+ Response to AFM execution request body
+ """ # noqa: E501
+ dimensions: List[ResultDimension] = Field(description="Dimensions of the result")
+ links: ExecutionLinks
+ __properties: ClassVar[List[str]] = ["dimensions", "links"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dimensions (list)
+ _items = []
+ if self.dimensions:
+ for _item_dimensions in self.dimensions:
+ if _item_dimensions:
+ _items.append(_item_dimensions.to_dict())
+ _dict['dimensions'] = _items
+ # override the default output from pydantic by calling `to_dict()` of links
+ if self.links:
+ _dict['links'] = self.links.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dimensions": [ResultDimension.from_dict(_item) for _item in obj["dimensions"]] if obj.get("dimensions") is not None else None,
+ "links": ExecutionLinks.from_dict(obj["links"]) if obj.get("links") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result.py b/gooddata-api-client/gooddata_api_client/models/execution_result.py
new file mode 100644
index 000000000..5858403e9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result.py
@@ -0,0 +1,120 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dimension_header import DimensionHeader
+from gooddata_api_client.models.execution_result_grand_total import ExecutionResultGrandTotal
+from gooddata_api_client.models.execution_result_metadata import ExecutionResultMetadata
+from gooddata_api_client.models.execution_result_paging import ExecutionResultPaging
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResult(BaseModel):
+ """
+ Contains the result of an AFM execution.
+ """ # noqa: E501
+ data: List[Any] = Field(description="A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.")
+ dimension_headers: List[DimensionHeader] = Field(description="An array containing dimension headers. The size of the array corresponds to the number of dimensions. Their order corresponds to the dimension order in the execution result spec.", alias="dimensionHeaders")
+ grand_totals: List[ExecutionResultGrandTotal] = Field(alias="grandTotals")
+ metadata: ExecutionResultMetadata
+ paging: ExecutionResultPaging
+ __properties: ClassVar[List[str]] = ["data", "dimensionHeaders", "grandTotals", "metadata", "paging"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dimension_headers (list)
+ _items = []
+ if self.dimension_headers:
+ for _item_dimension_headers in self.dimension_headers:
+ if _item_dimension_headers:
+ _items.append(_item_dimension_headers.to_dict())
+ _dict['dimensionHeaders'] = _items
+ # override the default output from pydantic by calling `to_dict()` of each item in grand_totals (list)
+ _items = []
+ if self.grand_totals:
+ for _item_grand_totals in self.grand_totals:
+ if _item_grand_totals:
+ _items.append(_item_grand_totals.to_dict())
+ _dict['grandTotals'] = _items
+ # override the default output from pydantic by calling `to_dict()` of metadata
+ if self.metadata:
+ _dict['metadata'] = self.metadata.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of paging
+ if self.paging:
+ _dict['paging'] = self.paging.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data": obj.get("data"),
+ "dimensionHeaders": [DimensionHeader.from_dict(_item) for _item in obj["dimensionHeaders"]] if obj.get("dimensionHeaders") is not None else None,
+ "grandTotals": [ExecutionResultGrandTotal.from_dict(_item) for _item in obj["grandTotals"]] if obj.get("grandTotals") is not None else None,
+ "metadata": ExecutionResultMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None,
+ "paging": ExecutionResultPaging.from_dict(obj["paging"]) if obj.get("paging") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result_data_source_message.py b/gooddata-api-client/gooddata_api_client/models/execution_result_data_source_message.py
new file mode 100644
index 000000000..0611fc52f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result_data_source_message.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResultDataSourceMessage(BaseModel):
+ """
+ A piece of extra information related to the results (e.g. debug information, warnings, etc.).
+ """ # noqa: E501
+ correlation_id: StrictStr = Field(description="Id correlating different pieces of supplementary info together.", alias="correlationId")
+ data: Optional[Dict[str, Any]] = Field(default=None, description="Data of this particular supplementary info item: a free-form JSON specific to the particular supplementary info item type.")
+ source: StrictStr = Field(description="Information about what part of the system created this piece of supplementary info.")
+ type: StrictStr = Field(description="Type of the supplementary info instance. There are currently no well-known values for this, but there might be some in the future.")
+ __properties: ClassVar[List[str]] = ["correlationId", "data", "source", "type"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResultDataSourceMessage from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResultDataSourceMessage from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "correlationId": obj.get("correlationId"),
+ "data": obj.get("data"),
+ "source": obj.get("source"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result_grand_total.py b/gooddata-api-client/gooddata_api_client/models/execution_result_grand_total.py
new file mode 100644
index 000000000..80d599045
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result_grand_total.py
@@ -0,0 +1,100 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.dimension_header import DimensionHeader
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResultGrandTotal(BaseModel):
+ """
+ Contains the data of grand totals with the same dimensions.
+ """ # noqa: E501
+ data: List[Dict[str, Any]] = Field(description="A multi-dimensional array of computed results. The most common one being a 2-dimensional array. The arrays can be composed of Double or null values.")
+ dimension_headers: List[DimensionHeader] = Field(description="Contains headers for a subset of `totalDimensions` in which the totals are grand totals.", alias="dimensionHeaders")
+ total_dimensions: List[StrictStr] = Field(description="Dimensions of the grand totals.", alias="totalDimensions")
+ __properties: ClassVar[List[str]] = ["data", "dimensionHeaders", "totalDimensions"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResultGrandTotal from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in dimension_headers (list)
+ _items = []
+ if self.dimension_headers:
+ for _item_dimension_headers in self.dimension_headers:
+ if _item_dimension_headers:
+ _items.append(_item_dimension_headers.to_dict())
+ _dict['dimensionHeaders'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResultGrandTotal from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "data": obj.get("data"),
+ "dimensionHeaders": [DimensionHeader.from_dict(_item) for _item in obj["dimensionHeaders"]] if obj.get("dimensionHeaders") is not None else None,
+ "totalDimensions": obj.get("totalDimensions")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result_header.py b/gooddata-api-client/gooddata_api_client/models/execution_result_header.py
new file mode 100644
index 000000000..8f92be9d0
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result_header.py
@@ -0,0 +1,197 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.attribute_execution_result_header import AttributeExecutionResultHeader
+from gooddata_api_client.models.measure_execution_result_header import MeasureExecutionResultHeader
+from gooddata_api_client.models.total_execution_result_header import TotalExecutionResultHeader
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+EXECUTIONRESULTHEADER_ONE_OF_SCHEMAS = ["AttributeExecutionResultHeader", "MeasureExecutionResultHeader", "TotalExecutionResultHeader"]
+
+class ExecutionResultHeader(BaseModel):
+ """
+ Abstract execution result header
+ """
+ # data type: AttributeExecutionResultHeader
+ oneof_schema_1_validator: Optional[AttributeExecutionResultHeader] = None
+ # data type: MeasureExecutionResultHeader
+ oneof_schema_2_validator: Optional[MeasureExecutionResultHeader] = None
+ # data type: TotalExecutionResultHeader
+ oneof_schema_3_validator: Optional[TotalExecutionResultHeader] = None
+ actual_instance: Optional[Union[AttributeExecutionResultHeader, MeasureExecutionResultHeader, TotalExecutionResultHeader]] = None
+ one_of_schemas: Set[str] = { "AttributeExecutionResultHeader", "MeasureExecutionResultHeader", "TotalExecutionResultHeader" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = ExecutionResultHeader.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: AttributeExecutionResultHeader
+ if not isinstance(v, AttributeExecutionResultHeader):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeExecutionResultHeader`")
+ else:
+ match += 1
+ # validate data type: MeasureExecutionResultHeader
+ if not isinstance(v, MeasureExecutionResultHeader):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `MeasureExecutionResultHeader`")
+ else:
+ match += 1
+ # validate data type: TotalExecutionResultHeader
+ if not isinstance(v, TotalExecutionResultHeader):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TotalExecutionResultHeader`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in ExecutionResultHeader with oneOf schemas: AttributeExecutionResultHeader, MeasureExecutionResultHeader, TotalExecutionResultHeader. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def _try_deserialize(cls, json_str: str, data: dict) -> Self:
+ """Disambiguate oneOf by checking for distinguishing keys.
+
+ Each sub-schema wraps its content in a unique key:
+ - AttributeExecutionResultHeader uses 'attributeHeader'
+ - MeasureExecutionResultHeader uses 'measureHeader'
+ - TotalExecutionResultHeader uses 'totalHeader'
+
+ Without field-based checking, pydantic v2 may accept multiple schemas
+ because all fields in the non-matching schemas happen to be optional
+ or have defaults, causing false-positive matches.
+ """
+ instance = cls.model_construct()
+
+ if "attributeHeader" in data:
+ instance.actual_instance = AttributeExecutionResultHeader.from_json(json_str)
+ return instance
+
+ if "measureHeader" in data:
+ instance.actual_instance = MeasureExecutionResultHeader.from_json(json_str)
+ return instance
+
+ if "totalHeader" in data:
+ instance.actual_instance = TotalExecutionResultHeader.from_json(json_str)
+ return instance
+
+ raise ValueError(
+ "No match found when deserializing the JSON string into "
+ "ExecutionResultHeader with oneOf schemas: "
+ "AttributeExecutionResultHeader, MeasureExecutionResultHeader, "
+ "TotalExecutionResultHeader. The JSON object does not contain a "
+ "distinguishing key ('attributeHeader', 'measureHeader', or "
+ "'totalHeader')."
+ )
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ data = json.loads(json_str)
+ if isinstance(data, dict):
+ return cls._try_deserialize(json_str, data)
+
+ # Fallback: brute-force try each schema (original behaviour)
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into AttributeExecutionResultHeader
+ try:
+ if match == 0:
+ instance.actual_instance = AttributeExecutionResultHeader.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into MeasureExecutionResultHeader
+ try:
+ if match == 0:
+ instance.actual_instance = MeasureExecutionResultHeader.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into TotalExecutionResultHeader
+ try:
+ if match == 0:
+ instance.actual_instance = TotalExecutionResultHeader.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into ExecutionResultHeader with oneOf schemas: AttributeExecutionResultHeader, MeasureExecutionResultHeader, TotalExecutionResultHeader. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AttributeExecutionResultHeader, MeasureExecutionResultHeader, TotalExecutionResultHeader]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result_metadata.py b/gooddata-api-client/gooddata_api_client/models/execution_result_metadata.py
new file mode 100644
index 000000000..b5e6433a1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result_metadata.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.execution_result_data_source_message import ExecutionResultDataSourceMessage
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResultMetadata(BaseModel):
+ """
+ Additional metadata for the particular execution result.
+ """ # noqa: E501
+ data_source_messages: List[ExecutionResultDataSourceMessage] = Field(description="Additional information sent by the underlying data source.", alias="dataSourceMessages")
+ __properties: ClassVar[List[str]] = ["dataSourceMessages"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResultMetadata from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in data_source_messages (list)
+ _items = []
+ if self.data_source_messages:
+ for _item_data_source_messages in self.data_source_messages:
+ if _item_data_source_messages:
+ _items.append(_item_data_source_messages.to_dict())
+ _dict['dataSourceMessages'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResultMetadata from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataSourceMessages": [ExecutionResultDataSourceMessage.from_dict(_item) for _item in obj["dataSourceMessages"]] if obj.get("dataSourceMessages") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_result_paging.py b/gooddata-api-client/gooddata_api_client/models/execution_result_paging.py
new file mode 100644
index 000000000..b775717c5
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_result_paging.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionResultPaging(BaseModel):
+ """
+ A paging information related to the data presented in the execution result. These paging information are multi-dimensional.
+ """ # noqa: E501
+ count: List[StrictInt] = Field(description="A count of the returned results in every dimension.")
+ offset: List[StrictInt] = Field(description="The offset of the results returned in every dimension.")
+ total: List[StrictInt] = Field(description="A total count of the results in every dimension.")
+ __properties: ClassVar[List[str]] = ["count", "offset", "total"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionResultPaging from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionResultPaging from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "count": obj.get("count"),
+ "offset": obj.get("offset"),
+ "total": obj.get("total")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/execution_settings.py b/gooddata-api-client/gooddata_api_client/models/execution_settings.py
new file mode 100644
index 000000000..a7e1bce9d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/execution_settings.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExecutionSettings(BaseModel):
+ """
+ Various settings affecting the process of AFM execution or its result
+ """ # noqa: E501
+ data_sampling_percentage: Optional[Union[Annotated[float, Field(lt=100, strict=True, gt=0)], Annotated[int, Field(lt=100, strict=True, gt=0)]]] = Field(default=None, description="Specifies the percentage of rows from fact datasets to use during computation. This feature is available only for workspaces that use a Vertica Data Source without table views.", alias="dataSamplingPercentage")
+ timestamp: Optional[datetime] = Field(default=None, description="Specifies the timestamp of the execution from which relative filters are resolved. If not set, the current time is used.")
+ __properties: ClassVar[List[str]] = ["dataSamplingPercentage", "timestamp"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExecutionSettings from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExecutionSettings from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "dataSamplingPercentage": obj.get("dataSamplingPercentage"),
+ "timestamp": obj.get("timestamp")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/export_request.py b/gooddata-api-client/gooddata_api_client/models/export_request.py
new file mode 100644
index 000000000..6384336f6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/export_request.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.tabular_export_request import TabularExportRequest
+from gooddata_api_client.models.visual_export_request import VisualExportRequest
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+EXPORTREQUEST_ONE_OF_SCHEMAS = ["TabularExportRequest", "VisualExportRequest"]
+
+class ExportRequest(BaseModel):
+ """
+ JSON content to be used as export request payload for /export/tabular and /export/visual endpoints.
+ """
+ # data type: VisualExportRequest
+ oneof_schema_1_validator: Optional[VisualExportRequest] = None
+ # data type: TabularExportRequest
+ oneof_schema_2_validator: Optional[TabularExportRequest] = None
+ actual_instance: Optional[Union[TabularExportRequest, VisualExportRequest]] = None
+ one_of_schemas: Set[str] = { "TabularExportRequest", "VisualExportRequest" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = ExportRequest.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: VisualExportRequest
+ if not isinstance(v, VisualExportRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `VisualExportRequest`")
+ else:
+ match += 1
+ # validate data type: TabularExportRequest
+ if not isinstance(v, TabularExportRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TabularExportRequest`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in ExportRequest with oneOf schemas: TabularExportRequest, VisualExportRequest. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into VisualExportRequest
+ try:
+ if match == 0:
+ instance.actual_instance = VisualExportRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into TabularExportRequest
+ try:
+ if match == 0:
+ instance.actual_instance = TabularExportRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into ExportRequest with oneOf schemas: TabularExportRequest, VisualExportRequest. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], TabularExportRequest, VisualExportRequest]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/export_response.py b/gooddata-api-client/gooddata_api_client/models/export_response.py
new file mode 100644
index 000000000..0111ede8c
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/export_response.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExportResponse(BaseModel):
+ """
+ ExportResponse
+ """ # noqa: E501
+ export_result: StrictStr = Field(alias="exportResult")
+ __properties: ClassVar[List[str]] = ["exportResult"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExportResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExportResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "exportResult": obj.get("exportResult")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/export_result.py b/gooddata-api-client/gooddata_api_client/models/export_result.py
new file mode 100644
index 000000000..42af7abbd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/export_result.py
@@ -0,0 +1,113 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ExportResult(BaseModel):
+ """
+ ExportResult
+ """ # noqa: E501
+ error_message: Optional[StrictStr] = Field(default=None, alias="errorMessage")
+ expires_at: Optional[datetime] = Field(default=None, alias="expiresAt")
+ export_id: StrictStr = Field(alias="exportId")
+ file_name: StrictStr = Field(alias="fileName")
+ file_size: Optional[StrictInt] = Field(default=None, alias="fileSize")
+ file_uri: Optional[StrictStr] = Field(default=None, alias="fileUri")
+ status: StrictStr
+ trace_id: Optional[StrictStr] = Field(default=None, alias="traceId")
+ triggered_at: Optional[datetime] = Field(default=None, alias="triggeredAt")
+ __properties: ClassVar[List[str]] = ["errorMessage", "expiresAt", "exportId", "fileName", "fileSize", "fileUri", "status", "traceId", "triggeredAt"]
+
+ @field_validator('status')
+ def status_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['SUCCESS', 'ERROR', 'INTERNAL_ERROR', 'TIMEOUT']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('SUCCESS', 'ERROR', 'INTERNAL_ERROR', 'TIMEOUT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ExportResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ExportResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "errorMessage": obj.get("errorMessage"),
+ "expiresAt": obj.get("expiresAt"),
+ "exportId": obj.get("exportId"),
+ "fileName": obj.get("fileName"),
+ "fileSize": obj.get("fileSize"),
+ "fileUri": obj.get("fileUri"),
+ "status": obj.get("status"),
+ "traceId": obj.get("traceId"),
+ "triggeredAt": obj.get("triggeredAt")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/fact_identifier.py b/gooddata-api-client/gooddata_api_client/models/fact_identifier.py
new file mode 100644
index 000000000..d06923115
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/fact_identifier.py
@@ -0,0 +1,106 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FactIdentifier(BaseModel):
+ """
+ A fact identifier.
+ """ # noqa: E501
+ id: Annotated[str, Field(strict=True)] = Field(description="Fact ID.")
+ type: StrictStr = Field(description="A type of the fact.")
+ __properties: ClassVar[List[str]] = ["id", "type"]
+
+ @field_validator('id')
+ def id_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^(?!\.)[.A-Za-z0-9_-]{1,255}$", value):
+ raise ValueError(r"must validate the regular expression /^(?!\.)[.A-Za-z0-9_-]{1,255}$/")
+ return value
+
+ @field_validator('type')
+ def type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['fact']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('fact')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FactIdentifier from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FactIdentifier from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "type": obj.get("type")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/failed_operation.py b/gooddata-api-client/gooddata_api_client/models/failed_operation.py
new file mode 100644
index 000000000..0cf631b21
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/failed_operation.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.operation import Operation
+from gooddata_api_client.models.operation_error import OperationError
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FailedOperation(Operation):
+ """
+ Operation that has failed
+ """ # noqa: E501
+ error: OperationError
+ __properties: ClassVar[List[str]] = ["id", "kind", "status", "error"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FailedOperation from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of error
+ if self.error:
+ _dict['error'] = self.error.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FailedOperation from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "kind": obj.get("kind"),
+ "status": obj.get("status"),
+ "error": OperationError.from_dict(obj["error"]) if obj.get("error") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/file.py b/gooddata-api-client/gooddata_api_client/models/file.py
new file mode 100644
index 000000000..180b7d9f9
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/file.py
@@ -0,0 +1,162 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.notes import Notes
+from gooddata_api_client.models.skeleton import Skeleton
+from typing import Optional, Set
+from typing_extensions import Self
+
+class File(BaseModel):
+ """
+ File
+ """ # noqa: E501
+ any: Optional[List[Dict[str, Any]]] = None
+ can_resegment: Optional[StrictStr] = Field(default=None, alias="canResegment")
+ id: Optional[StrictStr] = None
+ notes: Optional[Notes] = None
+ original: Optional[StrictStr] = None
+ other_attributes: Optional[Dict[str, StrictStr]] = Field(default=None, alias="otherAttributes")
+ skeleton: Optional[Skeleton] = None
+ space: Optional[StrictStr] = None
+ src_dir: Optional[StrictStr] = Field(default=None, alias="srcDir")
+ translate: Optional[StrictStr] = None
+ trg_dir: Optional[StrictStr] = Field(default=None, alias="trgDir")
+ unit_or_group: Optional[List[Dict[str, Any]]] = Field(default=None, alias="unitOrGroup")
+ __properties: ClassVar[List[str]] = ["any", "canResegment", "id", "notes", "original", "otherAttributes", "skeleton", "space", "srcDir", "translate", "trgDir", "unitOrGroup"]
+
+ @field_validator('can_resegment')
+ def can_resegment_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['YES', 'NO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('YES', 'NO')")
+ return value
+
+ @field_validator('src_dir')
+ def src_dir_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['LTR', 'RTL', 'AUTO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('LTR', 'RTL', 'AUTO')")
+ return value
+
+ @field_validator('translate')
+ def translate_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['YES', 'NO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('YES', 'NO')")
+ return value
+
+ @field_validator('trg_dir')
+ def trg_dir_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['LTR', 'RTL', 'AUTO']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('LTR', 'RTL', 'AUTO')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of File from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of notes
+ if self.notes:
+ _dict['notes'] = self.notes.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of skeleton
+ if self.skeleton:
+ _dict['skeleton'] = self.skeleton.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of File from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "any": obj.get("any"),
+ "canResegment": obj.get("canResegment"),
+ "id": obj.get("id"),
+ "notes": Notes.from_dict(obj["notes"]) if obj.get("notes") is not None else None,
+ "original": obj.get("original"),
+ "otherAttributes": obj.get("otherAttributes"),
+ "skeleton": Skeleton.from_dict(obj["skeleton"]) if obj.get("skeleton") is not None else None,
+ "space": obj.get("space"),
+ "srcDir": obj.get("srcDir"),
+ "translate": obj.get("translate"),
+ "trgDir": obj.get("trgDir"),
+ "unitOrGroup": obj.get("unitOrGroup")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/filter_by.py b/gooddata-api-client/gooddata_api_client/models/filter_by.py
new file mode 100644
index 000000000..71aa40a9f
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/filter_by.py
@@ -0,0 +1,99 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FilterBy(BaseModel):
+ """
+ Specifies what is used for filtering.
+ """ # noqa: E501
+ label_type: Optional[StrictStr] = Field(default='REQUESTED', description="Specifies which label is used for filtering - primary or requested.", alias="labelType")
+ __properties: ClassVar[List[str]] = ["labelType"]
+
+ @field_validator('label_type')
+ def label_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['PRIMARY', 'REQUESTED']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('PRIMARY', 'REQUESTED')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FilterBy from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FilterBy from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "labelType": obj.get("labelType") if obj.get("labelType") is not None else 'REQUESTED'
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/filter_definition.py b/gooddata-api-client/gooddata_api_client/models/filter_definition.py
new file mode 100644
index 000000000..89becbddd
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/filter_definition.py
@@ -0,0 +1,276 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.absolute_date_filter import AbsoluteDateFilter
+from gooddata_api_client.models.all_time_date_filter import AllTimeDateFilter
+from gooddata_api_client.models.comparison_measure_value_filter import ComparisonMeasureValueFilter
+from gooddata_api_client.models.compound_measure_value_filter import CompoundMeasureValueFilter
+from gooddata_api_client.models.inline_filter_definition import InlineFilterDefinition
+from gooddata_api_client.models.match_attribute_filter import MatchAttributeFilter
+from gooddata_api_client.models.negative_attribute_filter import NegativeAttributeFilter
+from gooddata_api_client.models.positive_attribute_filter import PositiveAttributeFilter
+from gooddata_api_client.models.range_measure_value_filter import RangeMeasureValueFilter
+from gooddata_api_client.models.ranking_filter import RankingFilter
+from gooddata_api_client.models.relative_date_filter import RelativeDateFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+FILTERDEFINITION_ONE_OF_SCHEMAS = ["AbsoluteDateFilter", "AllTimeDateFilter", "ComparisonMeasureValueFilter", "CompoundMeasureValueFilter", "InlineFilterDefinition", "MatchAttributeFilter", "NegativeAttributeFilter", "PositiveAttributeFilter", "RangeMeasureValueFilter", "RankingFilter", "RelativeDateFilter"]
+
+class FilterDefinition(BaseModel):
+ """
+ Abstract filter definition type
+ """
+ # data type: InlineFilterDefinition
+ oneof_schema_1_validator: Optional[InlineFilterDefinition] = None
+ # data type: RankingFilter
+ oneof_schema_2_validator: Optional[RankingFilter] = None
+ # data type: ComparisonMeasureValueFilter
+ oneof_schema_3_validator: Optional[ComparisonMeasureValueFilter] = None
+ # data type: RangeMeasureValueFilter
+ oneof_schema_4_validator: Optional[RangeMeasureValueFilter] = None
+ # data type: CompoundMeasureValueFilter
+ oneof_schema_5_validator: Optional[CompoundMeasureValueFilter] = None
+ # data type: AbsoluteDateFilter
+ oneof_schema_6_validator: Optional[AbsoluteDateFilter] = None
+ # data type: RelativeDateFilter
+ oneof_schema_7_validator: Optional[RelativeDateFilter] = None
+ # data type: AllTimeDateFilter
+ oneof_schema_8_validator: Optional[AllTimeDateFilter] = None
+ # data type: NegativeAttributeFilter
+ oneof_schema_9_validator: Optional[NegativeAttributeFilter] = None
+ # data type: PositiveAttributeFilter
+ oneof_schema_10_validator: Optional[PositiveAttributeFilter] = None
+ # data type: MatchAttributeFilter
+ oneof_schema_11_validator: Optional[MatchAttributeFilter] = None
+ actual_instance: Optional[Union[AbsoluteDateFilter, AllTimeDateFilter, ComparisonMeasureValueFilter, CompoundMeasureValueFilter, InlineFilterDefinition, MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter, RangeMeasureValueFilter, RankingFilter, RelativeDateFilter]] = None
+ one_of_schemas: Set[str] = { "AbsoluteDateFilter", "AllTimeDateFilter", "ComparisonMeasureValueFilter", "CompoundMeasureValueFilter", "InlineFilterDefinition", "MatchAttributeFilter", "NegativeAttributeFilter", "PositiveAttributeFilter", "RangeMeasureValueFilter", "RankingFilter", "RelativeDateFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = FilterDefinition.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: InlineFilterDefinition
+ if not isinstance(v, InlineFilterDefinition):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `InlineFilterDefinition`")
+ else:
+ match += 1
+ # validate data type: RankingFilter
+ if not isinstance(v, RankingFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RankingFilter`")
+ else:
+ match += 1
+ # validate data type: ComparisonMeasureValueFilter
+ if not isinstance(v, ComparisonMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ComparisonMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: RangeMeasureValueFilter
+ if not isinstance(v, RangeMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RangeMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: CompoundMeasureValueFilter
+ if not isinstance(v, CompoundMeasureValueFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CompoundMeasureValueFilter`")
+ else:
+ match += 1
+ # validate data type: AbsoluteDateFilter
+ if not isinstance(v, AbsoluteDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AbsoluteDateFilter`")
+ else:
+ match += 1
+ # validate data type: RelativeDateFilter
+ if not isinstance(v, RelativeDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `RelativeDateFilter`")
+ else:
+ match += 1
+ # validate data type: AllTimeDateFilter
+ if not isinstance(v, AllTimeDateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AllTimeDateFilter`")
+ else:
+ match += 1
+ # validate data type: NegativeAttributeFilter
+ if not isinstance(v, NegativeAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `NegativeAttributeFilter`")
+ else:
+ match += 1
+ # validate data type: PositiveAttributeFilter
+ if not isinstance(v, PositiveAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `PositiveAttributeFilter`")
+ else:
+ match += 1
+ # validate data type: MatchAttributeFilter
+ if not isinstance(v, MatchAttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `MatchAttributeFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in FilterDefinition with oneOf schemas: AbsoluteDateFilter, AllTimeDateFilter, ComparisonMeasureValueFilter, CompoundMeasureValueFilter, InlineFilterDefinition, MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter, RangeMeasureValueFilter, RankingFilter, RelativeDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into InlineFilterDefinition
+ try:
+ if match == 0:
+ instance.actual_instance = InlineFilterDefinition.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RankingFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RankingFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into ComparisonMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = ComparisonMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RangeMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RangeMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into CompoundMeasureValueFilter
+ try:
+ if match == 0:
+ instance.actual_instance = CompoundMeasureValueFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AbsoluteDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AbsoluteDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into RelativeDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = RelativeDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AllTimeDateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AllTimeDateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into NegativeAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = NegativeAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into PositiveAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = PositiveAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into MatchAttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = MatchAttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into FilterDefinition with oneOf schemas: AbsoluteDateFilter, AllTimeDateFilter, ComparisonMeasureValueFilter, CompoundMeasureValueFilter, InlineFilterDefinition, MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter, RangeMeasureValueFilter, RankingFilter, RelativeDateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AbsoluteDateFilter, AllTimeDateFilter, ComparisonMeasureValueFilter, CompoundMeasureValueFilter, InlineFilterDefinition, MatchAttributeFilter, NegativeAttributeFilter, PositiveAttributeFilter, RangeMeasureValueFilter, RankingFilter, RelativeDateFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/filter_definition_for_simple_measure.py b/gooddata-api-client/gooddata_api_client/models/filter_definition_for_simple_measure.py
new file mode 100644
index 000000000..e410a3aa3
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/filter_definition_for_simple_measure.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from gooddata_api_client.models.attribute_filter import AttributeFilter
+from gooddata_api_client.models.date_filter import DateFilter
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+FILTERDEFINITIONFORSIMPLEMEASURE_ONE_OF_SCHEMAS = ["AttributeFilter", "DateFilter"]
+
+class FilterDefinitionForSimpleMeasure(BaseModel):
+ """
+ Abstract filter definition type for simple metric.
+ """
+ # data type: DateFilter
+ oneof_schema_1_validator: Optional[DateFilter] = None
+ # data type: AttributeFilter
+ oneof_schema_2_validator: Optional[AttributeFilter] = None
+ actual_instance: Optional[Union[AttributeFilter, DateFilter]] = None
+ one_of_schemas: Set[str] = { "AttributeFilter", "DateFilter" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = FilterDefinitionForSimpleMeasure.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: DateFilter
+ if not isinstance(v, DateFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DateFilter`")
+ else:
+ match += 1
+ # validate data type: AttributeFilter
+ if not isinstance(v, AttributeFilter):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeFilter`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ # Accept first match for forward/backward compatibility
+ return v
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in FilterDefinitionForSimpleMeasure with oneOf schemas: AttributeFilter, DateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into DateFilter
+ try:
+ if match == 0:
+ instance.actual_instance = DateFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into AttributeFilter
+ try:
+ if match == 0:
+ instance.actual_instance = AttributeFilter.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # Accept first match for forward/backward compatibility
+ return instance
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into FilterDefinitionForSimpleMeasure with oneOf schemas: AttributeFilter, DateFilter. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AttributeFilter, DateFilter]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/forecast_config.py b/gooddata-api-client/gooddata_api_client/models/forecast_config.py
new file mode 100644
index 000000000..96f262cc4
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/forecast_config.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt
+from typing import Any, ClassVar, Dict, List, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ForecastConfig(BaseModel):
+ """
+ Forecast configuration.
+ """ # noqa: E501
+ confidence_level: Union[StrictFloat, StrictInt] = Field(description="Confidence interval boundary value.", alias="confidenceLevel")
+ forecast_period: StrictInt = Field(description="Number of future periods that should be forecasted", alias="forecastPeriod")
+ seasonal: StrictBool = Field(description="Whether the input data is seasonal")
+ __properties: ClassVar[List[str]] = ["confidenceLevel", "forecastPeriod", "seasonal"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ForecastConfig from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ForecastConfig from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "confidenceLevel": obj.get("confidenceLevel"),
+ "forecastPeriod": obj.get("forecastPeriod"),
+ "seasonal": obj.get("seasonal")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/forecast_request.py b/gooddata-api-client/gooddata_api_client/models/forecast_request.py
new file mode 100644
index 000000000..2eccd2067
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/forecast_request.py
@@ -0,0 +1,93 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ForecastRequest(BaseModel):
+ """
+ ForecastRequest
+ """ # noqa: E501
+ confidence_level: Optional[Union[Annotated[float, Field(lt=1.0, strict=True, gt=0.0)], Annotated[int, Field(lt=1, strict=True, gt=0)]]] = Field(default=0.95, description="Confidence interval boundary value.", alias="confidenceLevel")
+ forecast_period: StrictInt = Field(description="Number of future periods that should be forecasted", alias="forecastPeriod")
+ seasonal: Optional[StrictBool] = Field(default=False, description="Whether the input data is seasonal")
+ __properties: ClassVar[List[str]] = ["confidenceLevel", "forecastPeriod", "seasonal"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ForecastRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ForecastRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "confidenceLevel": obj.get("confidenceLevel") if obj.get("confidenceLevel") is not None else 0.95,
+ "forecastPeriod": obj.get("forecastPeriod"),
+ "seasonal": obj.get("seasonal") if obj.get("seasonal") is not None else False
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/forecast_result.py b/gooddata-api-client/gooddata_api_client/models/forecast_result.py
new file mode 100644
index 000000000..6756ffbd1
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/forecast_result.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ForecastResult(BaseModel):
+ """
+ ForecastResult
+ """ # noqa: E501
+ attribute: List[StrictStr]
+ lower_bound: List[Optional[Union[StrictFloat, StrictInt]]] = Field(alias="lowerBound")
+ origin: List[Optional[Union[StrictFloat, StrictInt]]]
+ prediction: List[Optional[Union[StrictFloat, StrictInt]]]
+ upper_bound: List[Optional[Union[StrictFloat, StrictInt]]] = Field(alias="upperBound")
+ __properties: ClassVar[List[str]] = ["attribute", "lowerBound", "origin", "prediction", "upperBound"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ForecastResult from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ForecastResult from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "attribute": obj.get("attribute"),
+ "lowerBound": obj.get("lowerBound"),
+ "origin": obj.get("origin"),
+ "prediction": obj.get("prediction"),
+ "upperBound": obj.get("upperBound")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/found_objects.py b/gooddata-api-client/gooddata_api_client/models/found_objects.py
new file mode 100644
index 000000000..697b6804a
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/found_objects.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.search_result_object import SearchResultObject
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FoundObjects(BaseModel):
+ """
+ List of objects found by similarity search and post-processed by LLM.
+ """ # noqa: E501
+ objects: List[SearchResultObject] = Field(description="List of objects found with a similarity search.")
+ reasoning: StrictStr = Field(description="DEPRECATED: Use top-level reasoning.steps instead. Reasoning from LLM. Description of how and why the answer was generated.")
+ __properties: ClassVar[List[str]] = ["objects", "reasoning"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FoundObjects from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in objects (list)
+ _items = []
+ if self.objects:
+ for _item_objects in self.objects:
+ if _item_objects:
+ _items.append(_item_objects.to_dict())
+ _dict['objects'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FoundObjects from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "objects": [SearchResultObject.from_dict(_item) for _item in obj["objects"]] if obj.get("objects") is not None else None,
+ "reasoning": obj.get("reasoning")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/frequency.py b/gooddata-api-client/gooddata_api_client/models/frequency.py
new file mode 100644
index 000000000..04c3deaa6
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/frequency.py
@@ -0,0 +1,96 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from gooddata_api_client.models.frequency_bucket import FrequencyBucket
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Frequency(BaseModel):
+ """
+ Frequency
+ """ # noqa: E501
+ buckets: List[FrequencyBucket]
+ __properties: ClassVar[List[str]] = ["buckets"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Frequency from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in buckets (list)
+ _items = []
+ if self.buckets:
+ for _item_buckets in self.buckets:
+ if _item_buckets:
+ _items.append(_item_buckets.to_dict())
+ _dict['buckets'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Frequency from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "buckets": [FrequencyBucket.from_dict(_item) for _item in obj["buckets"]] if obj.get("buckets") is not None else None
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/frequency_bucket.py b/gooddata-api-client/gooddata_api_client/models/frequency_bucket.py
new file mode 100644
index 000000000..47026650b
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/frequency_bucket.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FrequencyBucket(BaseModel):
+ """
+ FrequencyBucket
+ """ # noqa: E501
+ count: StrictInt
+ value: Optional[StrictStr] = None
+ __properties: ClassVar[List[str]] = ["count", "value"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FrequencyBucket from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FrequencyBucket from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "count": obj.get("count"),
+ "value": obj.get("value")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/frequency_properties.py b/gooddata-api-client/gooddata_api_client/models/frequency_properties.py
new file mode 100644
index 000000000..838374542
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/frequency_properties.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class FrequencyProperties(BaseModel):
+ """
+ FrequencyProperties
+ """ # noqa: E501
+ value_limit: Optional[StrictInt] = Field(default=10, description="The maximum number of distinct values to return.", alias="valueLimit")
+ __properties: ClassVar[List[str]] = ["valueLimit"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of FrequencyProperties from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of FrequencyProperties from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "valueLimit": obj.get("valueLimit") if obj.get("valueLimit") is not None else 10
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/generate_description_request.py b/gooddata-api-client/gooddata_api_client/models/generate_description_request.py
new file mode 100644
index 000000000..36a911716
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/generate_description_request.py
@@ -0,0 +1,98 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GenerateDescriptionRequest(BaseModel):
+ """
+ GenerateDescriptionRequest
+ """ # noqa: E501
+ object_id: StrictStr = Field(description="Identifier of the object to describe", alias="objectId")
+ object_type: StrictStr = Field(description="Type of the object to describe. One of: visualization, dashboard, metric, fact, attribute", alias="objectType")
+ __properties: ClassVar[List[str]] = ["objectId", "objectType"]
+
+ @field_validator('object_type')
+ def object_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['Visualization', 'Dashboard', 'Metric', 'Fact', 'Attribute']):
+ # Accept unknown enum values for forward/backward compatibility
+ return value # raise ValueError("must be one of enum values ('Visualization', 'Dashboard', 'Metric', 'Fact', 'Attribute')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GenerateDescriptionRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GenerateDescriptionRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "objectId": obj.get("objectId"),
+ "objectType": obj.get("objectType")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/generate_description_response.py b/gooddata-api-client/gooddata_api_client/models/generate_description_response.py
new file mode 100644
index 000000000..8f1e8cc00
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/generate_description_response.py
@@ -0,0 +1,90 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GenerateDescriptionResponse(BaseModel):
+ """
+ GenerateDescriptionResponse
+ """ # noqa: E501
+ description: Optional[StrictStr] = Field(default=None, description="Generated description of the requested object")
+ note: Optional[StrictStr] = Field(default=None, description="Additional note with details in case generation was not performed")
+ __properties: ClassVar[List[str]] = ["description", "note"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GenerateDescriptionResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GenerateDescriptionResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "description": obj.get("description"),
+ "note": obj.get("note")
+ })
+ return _obj
+
+
diff --git a/gooddata-api-client/gooddata_api_client/models/generate_ldm_request.py b/gooddata-api-client/gooddata_api_client/models/generate_ldm_request.py
new file mode 100644
index 000000000..b38dbf08d
--- /dev/null
+++ b/gooddata-api-client/gooddata_api_client/models/generate_ldm_request.py
@@ -0,0 +1,130 @@
+# coding: utf-8
+
+"""
+ OpenAPI definition
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: v0
+ Contact: support@gooddata.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from gooddata_api_client.models.pdm_ldm_request import PdmLdmRequest
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GenerateLdmRequest(BaseModel):
+ """
+ A request containing all information needed for generation of logical model.
+ """ # noqa: E501
+ aggregated_fact_prefix: Optional[StrictStr] = Field(default=None, description="Columns starting with this prefix will be considered as aggregated facts. The prefix is then followed by the value of `separator` parameter. Given the aggregated fact prefix is `aggr` and separator is `__`, the columns with name like `aggr__sum__product__sold` will be considered as aggregated sold fact in the product table with SUM aggregate function.", alias="aggregatedFactPrefix")
+ date_granularities: Optional[StrictStr] = Field(default=None, description="Option to control date granularities for date datasets. Empty value enables common date granularities (DAY, WEEK, MONTH, QUARTER, YEAR). Default value is `all` which enables all available date granularities, including time granularities (like hours, minutes).", alias="dateGranularities")
+ date_reference_prefix: Optional[StrictStr] = Field(default=None, description="Columns starting with this prefix will be considered as references to date dataset. The prefix is then followed by the value of `separator` parameter. Given the reference prefix is `d` and separator is `__`, the columns with name like `d__date` will be considered as reference to date dataset. There can be also second separator and granularity suffix, e.g. `d__date__day` to create attribute reference to exact date dataset and granularity.", alias="dateReferencePrefix")
+ denorm_prefix: Optional[StrictStr] = Field(default=None, description="Columns starting with this prefix will be considered as denormalization references. The prefix is then followed by the value of `separator` parameter. Given the denormalization reference prefix is `dr` and separator is `__`, the columns with name like `dr__customer_name` will be considered as denormalization references.", alias="denormPrefix")
+ fact_prefix: Optional[StrictStr] = Field(default=None, description="Columns starting with this prefix will be considered as facts. The prefix is then followed by the value of `separator` parameter. Given the fact prefix is `f` and separator is `__`, the columns with name like `f__sold` will be considered as facts.", alias="factPrefix")
+ generate_long_ids: Optional[StrictBool] = Field(default=False, description="A flag dictating how the attribute, fact and label ids are generated. By default their ids are derived only from the column name, unless there would be a conflict (e.g. category coming from two different tables). In that case a long id format of `