From 55e22cdb2612c3ba91833de2edc26fe59796069f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Je=C5=A1ke?= Date: Wed, 9 Sep 2026 15:52:21 +0200 Subject: [PATCH] refactor(gooddata-api-client): split LDM object permissions per family metadata-api splits its shared LDM object permission DTOs into one family per grantable resource type (gdc-nas #26771), so the four LdmObjectPermissions* schemas become twelve Attribute/Label/Fact ones. The attribute, label and fact endpoints no longer share request and response models. schemas/gooddata-metadata-client.json is patched rather than downloaded: no backend serves the new shape yet. The patch deletes the four schemas, inserts the twelve verbatim from metadata-api's open-api-spec.json, and repoints the refs in the six operations -- the only places the deleted schemas were referenced. Everything else is `make api-client-local` output, generated with jq 1.7 so that number literals are preserved. One collateral rename: DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf is gone. The generator materialises each inline allOf member as a class, reuses one class across parents whose member is identical, and names it after the first such parent in the alphabetically sorted schema map. AttributePermissionsForAssigneeRule now sorts ahead of the dashboard schema, so the shared class is AttributePermissionsForAssigneeRuleAllOf -- same shape, and the dashboard model still composes it. The dashboard and metric permission models change by that one import only. Depends on gdc-nas #26771 and must not merge before it. JIRA: F1-2851 risk: low Co-Authored-By: Claude Opus 5 (1M context) --- gooddata-api-client/.openapi-generator/FILES | 44 ++- gooddata-api-client/README.md | 22 +- gooddata-api-client/docs/ActionsApi.md | 46 +-- ...Permissions.md => AttributePermissions.md} | 2 +- ...t.md => AttributePermissionsAssignment.md} | 4 +- ....md => AttributePermissionsForAssignee.md} | 4 +- ...> AttributePermissionsForAssigneeAllOf.md} | 2 +- ...=> AttributePermissionsForAssigneeRule.md} | 4 +- ...tributePermissionsForAssigneeRuleAllOf.md} | 2 +- gooddata-api-client/docs/FactPermissions.md | 14 + .../docs/FactPermissionsAssignment.md | 13 + .../docs/FactPermissionsForAssignee.md | 14 + .../docs/FactPermissionsForAssigneeRule.md | 14 + gooddata-api-client/docs/LabelPermissions.md | 14 + .../docs/LabelPermissionsAssignment.md | 13 + .../docs/LabelPermissionsForAssignee.md | 14 + .../docs/LabelPermissionsForAssigneeRule.md | 14 + .../docs/ManageFactPermissionsRequestInner.md | 14 + .../ManageLabelPermissionsRequestInner.md | 14 + gooddata-api-client/docs/PermissionsApi.md | 46 +-- .../gooddata_api_client/api/actions_api.py | 58 +-- .../api/permissions_api.py | 58 +-- ...ermissions.py => attribute_permissions.py} | 6 +- ...py => attribute_permissions_assignment.py} | 6 +- ... => attribute_permissions_for_assignee.py} | 18 +- ...ribute_permissions_for_assignee_all_of.py} | 6 +- ...ttribute_permissions_for_assignee_rule.py} | 18 +- ...e_permissions_for_assignee_rule_all_of.py} | 6 +- ..._dashboard_permission_for_assignee_rule.py | 6 +- .../model/fact_permissions.py | 292 +++++++++++++++ .../model/fact_permissions_assignment.py | 275 ++++++++++++++ .../model/fact_permissions_for_assignee.py | 334 +++++++++++++++++ .../fact_permissions_for_assignee_rule.py | 334 +++++++++++++++++ .../model/label_permissions.py | 292 +++++++++++++++ .../model/label_permissions_assignment.py | 275 ++++++++++++++ .../model/label_permissions_for_assignee.py | 334 +++++++++++++++++ .../label_permissions_for_assignee_rule.py | 334 +++++++++++++++++ ...age_attribute_permissions_request_inner.py | 12 +- .../manage_fact_permissions_request_inner.py | 340 ++++++++++++++++++ .../manage_label_permissions_request_inner.py | 340 ++++++++++++++++++ .../model/metric_permissions_for_assignee.py | 6 +- .../metric_permissions_for_assignee_rule.py | 6 +- .../model/permissions_for_assignee.py | 6 +- .../model/permissions_for_assignee_rule.py | 6 +- .../gooddata_api_client/models/__init__.py | 22 +- schemas/gooddata-api-client.json | 222 +++++++++++- schemas/gooddata-metadata-client.json | 222 +++++++++++- 47 files changed, 3928 insertions(+), 220 deletions(-) rename gooddata-api-client/docs/{LdmObjectPermissions.md => AttributePermissions.md} (96%) rename gooddata-api-client/docs/{LdmObjectPermissionsAssignment.md => AttributePermissionsAssignment.md} (79%) rename gooddata-api-client/docs/{LdmObjectPermissionsForAssignee.md => AttributePermissionsForAssignee.md} (82%) rename gooddata-api-client/docs/{LdmObjectPermissionsForAssigneeAllOf.md => AttributePermissionsForAssigneeAllOf.md} (93%) rename gooddata-api-client/docs/{LdmObjectPermissionsForAssigneeRule.md => AttributePermissionsForAssigneeRule.md} (80%) rename gooddata-api-client/docs/{DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md => AttributePermissionsForAssigneeRuleAllOf.md} (89%) create mode 100644 gooddata-api-client/docs/FactPermissions.md create mode 100644 gooddata-api-client/docs/FactPermissionsAssignment.md create mode 100644 gooddata-api-client/docs/FactPermissionsForAssignee.md create mode 100644 gooddata-api-client/docs/FactPermissionsForAssigneeRule.md create mode 100644 gooddata-api-client/docs/LabelPermissions.md create mode 100644 gooddata-api-client/docs/LabelPermissionsAssignment.md create mode 100644 gooddata-api-client/docs/LabelPermissionsForAssignee.md create mode 100644 gooddata-api-client/docs/LabelPermissionsForAssigneeRule.md create mode 100644 gooddata-api-client/docs/ManageFactPermissionsRequestInner.md create mode 100644 gooddata-api-client/docs/ManageLabelPermissionsRequestInner.md rename gooddata-api-client/gooddata_api_client/model/{ldm_object_permissions.py => attribute_permissions.py} (98%) rename gooddata-api-client/gooddata_api_client/model/{ldm_object_permissions_assignment.py => attribute_permissions_assignment.py} (98%) rename gooddata-api-client/gooddata_api_client/model/{ldm_object_permissions_for_assignee.py => attribute_permissions_for_assignee.py} (95%) rename gooddata-api-client/gooddata_api_client/model/{ldm_object_permissions_for_assignee_all_of.py => attribute_permissions_for_assignee_all_of.py} (98%) rename gooddata-api-client/gooddata_api_client/model/{ldm_object_permissions_for_assignee_rule.py => attribute_permissions_for_assignee_rule.py} (94%) rename gooddata-api-client/gooddata_api_client/model/{declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py => attribute_permissions_for_assignee_rule_all_of.py} (97%) create mode 100644 gooddata-api-client/gooddata_api_client/model/fact_permissions.py create mode 100644 gooddata-api-client/gooddata_api_client/model/fact_permissions_assignment.py create mode 100644 gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee.py create mode 100644 gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee_rule.py create mode 100644 gooddata-api-client/gooddata_api_client/model/label_permissions.py create mode 100644 gooddata-api-client/gooddata_api_client/model/label_permissions_assignment.py create mode 100644 gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee.py create mode 100644 gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee_rule.py create mode 100644 gooddata-api-client/gooddata_api_client/model/manage_fact_permissions_request_inner.py create mode 100644 gooddata-api-client/gooddata_api_client/model/manage_label_permissions_request_inner.py diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES index b9d58d6ca..9299357ae 100644 --- a/gooddata-api-client/.openapi-generator/FILES +++ b/gooddata-api-client/.openapi-generator/FILES @@ -99,6 +99,12 @@ docs/AttributeHierarchyControllerApi.md docs/AttributeItem.md docs/AttributeNegativeFilter.md docs/AttributeNegativeFilterAllOf.md +docs/AttributePermissions.md +docs/AttributePermissionsAssignment.md +docs/AttributePermissionsForAssignee.md +docs/AttributePermissionsForAssigneeAllOf.md +docs/AttributePermissionsForAssigneeRule.md +docs/AttributePermissionsForAssigneeRuleAllOf.md docs/AttributePositiveFilter.md docs/AttributePositiveFilterAllOf.md docs/AttributeResultHeader.md @@ -274,7 +280,6 @@ docs/DeclarativeAnalyticalDashboardPermissionAssignment.md docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md -docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md docs/DeclarativeAnalyticalDashboardPermissionsInner.md docs/DeclarativeAnalytics.md docs/DeclarativeAnalyticsLayer.md @@ -409,6 +414,10 @@ docs/ExportResult.md docs/ExportTemplateControllerApi.md docs/ExportTemplatesApi.md docs/FactControllerApi.md +docs/FactPermissions.md +docs/FactPermissionsAssignment.md +docs/FactPermissionsForAssignee.md +docs/FactPermissionsForAssigneeRule.md docs/FactsApi.md docs/FailedOperation.md docs/FailedOperationAllOf.md @@ -1193,13 +1202,12 @@ docs/LLMEndpointsApi.md docs/LLMProvidersApi.md docs/LabelControllerApi.md docs/LabelIdentifier.md +docs/LabelPermissions.md +docs/LabelPermissionsAssignment.md +docs/LabelPermissionsForAssignee.md +docs/LabelPermissionsForAssigneeRule.md docs/LabelsApi.md docs/LayoutApi.md -docs/LdmObjectPermissions.md -docs/LdmObjectPermissionsAssignment.md -docs/LdmObjectPermissionsForAssignee.md -docs/LdmObjectPermissionsForAssigneeAllOf.md -docs/LdmObjectPermissionsForAssigneeRule.md docs/ListLinks.md docs/ListLinksAllOf.md docs/ListLlmProviderModelsRequest.md @@ -1214,6 +1222,8 @@ docs/LocalIdentifier.md docs/LocaleRequest.md docs/ManageAttributePermissionsRequestInner.md docs/ManageDashboardPermissionsRequestInner.md +docs/ManageFactPermissionsRequestInner.md +docs/ManageLabelPermissionsRequestInner.md docs/ManageMetricPermissionsRequestInner.md docs/ManagePermissionsApi.md docs/MatchAttributeFilter.md @@ -1772,6 +1782,12 @@ gooddata_api_client/model/attribute_header_attribute_header.py gooddata_api_client/model/attribute_item.py gooddata_api_client/model/attribute_negative_filter.py gooddata_api_client/model/attribute_negative_filter_all_of.py +gooddata_api_client/model/attribute_permissions.py +gooddata_api_client/model/attribute_permissions_assignment.py +gooddata_api_client/model/attribute_permissions_for_assignee.py +gooddata_api_client/model/attribute_permissions_for_assignee_all_of.py +gooddata_api_client/model/attribute_permissions_for_assignee_rule.py +gooddata_api_client/model/attribute_permissions_for_assignee_rule_all_of.py gooddata_api_client/model/attribute_positive_filter.py gooddata_api_client/model/attribute_positive_filter_all_of.py gooddata_api_client/model/attribute_result_header.py @@ -1913,7 +1929,6 @@ gooddata_api_client/model/declarative_analytical_dashboard_permission_assignment gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee.py gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_all_of.py gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py -gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py gooddata_api_client/model/declarative_analytical_dashboard_permissions_inner.py gooddata_api_client/model/declarative_analytics.py gooddata_api_client/model/declarative_analytics_layer.py @@ -2039,6 +2054,10 @@ gooddata_api_client/model/execution_settings.py gooddata_api_client/model/export_request.py gooddata_api_client/model/export_response.py gooddata_api_client/model/export_result.py +gooddata_api_client/model/fact_permissions.py +gooddata_api_client/model/fact_permissions_assignment.py +gooddata_api_client/model/fact_permissions_for_assignee.py +gooddata_api_client/model/fact_permissions_for_assignee_rule.py gooddata_api_client/model/failed_operation.py gooddata_api_client/model/failed_operation_all_of.py gooddata_api_client/model/feature_flags_context.py @@ -2801,11 +2820,10 @@ gooddata_api_client/model/key_drivers_request.py gooddata_api_client/model/key_drivers_response.py gooddata_api_client/model/key_drivers_result.py gooddata_api_client/model/label_identifier.py -gooddata_api_client/model/ldm_object_permissions.py -gooddata_api_client/model/ldm_object_permissions_assignment.py -gooddata_api_client/model/ldm_object_permissions_for_assignee.py -gooddata_api_client/model/ldm_object_permissions_for_assignee_all_of.py -gooddata_api_client/model/ldm_object_permissions_for_assignee_rule.py +gooddata_api_client/model/label_permissions.py +gooddata_api_client/model/label_permissions_assignment.py +gooddata_api_client/model/label_permissions_for_assignee.py +gooddata_api_client/model/label_permissions_for_assignee_rule.py gooddata_api_client/model/list_links.py gooddata_api_client/model/list_links_all_of.py gooddata_api_client/model/list_llm_provider_models_request.py @@ -2819,6 +2837,8 @@ gooddata_api_client/model/local_identifier.py gooddata_api_client/model/locale_request.py gooddata_api_client/model/manage_attribute_permissions_request_inner.py gooddata_api_client/model/manage_dashboard_permissions_request_inner.py +gooddata_api_client/model/manage_fact_permissions_request_inner.py +gooddata_api_client/model/manage_label_permissions_request_inner.py gooddata_api_client/model/manage_metric_permissions_request_inner.py gooddata_api_client/model/match_attribute_filter.py gooddata_api_client/model/match_attribute_filter_match_attribute_filter.py diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md index 90e562690..a70597504 100644 --- a/gooddata-api-client/README.md +++ b/gooddata-api-client/README.md @@ -1527,6 +1527,12 @@ Class | Method | HTTP request | Description - [AttributeItem](docs/AttributeItem.md) - [AttributeNegativeFilter](docs/AttributeNegativeFilter.md) - [AttributeNegativeFilterAllOf](docs/AttributeNegativeFilterAllOf.md) + - [AttributePermissions](docs/AttributePermissions.md) + - [AttributePermissionsAssignment](docs/AttributePermissionsAssignment.md) + - [AttributePermissionsForAssignee](docs/AttributePermissionsForAssignee.md) + - [AttributePermissionsForAssigneeAllOf](docs/AttributePermissionsForAssigneeAllOf.md) + - [AttributePermissionsForAssigneeRule](docs/AttributePermissionsForAssigneeRule.md) + - [AttributePermissionsForAssigneeRuleAllOf](docs/AttributePermissionsForAssigneeRuleAllOf.md) - [AttributePositiveFilter](docs/AttributePositiveFilter.md) - [AttributePositiveFilterAllOf](docs/AttributePositiveFilterAllOf.md) - [AttributeResultHeader](docs/AttributeResultHeader.md) @@ -1668,7 +1674,6 @@ Class | Method | HTTP request | Description - [DeclarativeAnalyticalDashboardPermissionForAssignee](docs/DeclarativeAnalyticalDashboardPermissionForAssignee.md) - [DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf.md) - [DeclarativeAnalyticalDashboardPermissionForAssigneeRule](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRule.md) - - [DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf](docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md) - [DeclarativeAnalyticalDashboardPermissionsInner](docs/DeclarativeAnalyticalDashboardPermissionsInner.md) - [DeclarativeAnalytics](docs/DeclarativeAnalytics.md) - [DeclarativeAnalyticsLayer](docs/DeclarativeAnalyticsLayer.md) @@ -1794,6 +1799,10 @@ Class | Method | HTTP request | Description - [ExportRequest](docs/ExportRequest.md) - [ExportResponse](docs/ExportResponse.md) - [ExportResult](docs/ExportResult.md) + - [FactPermissions](docs/FactPermissions.md) + - [FactPermissionsAssignment](docs/FactPermissionsAssignment.md) + - [FactPermissionsForAssignee](docs/FactPermissionsForAssignee.md) + - [FactPermissionsForAssigneeRule](docs/FactPermissionsForAssigneeRule.md) - [FailedOperation](docs/FailedOperation.md) - [FailedOperationAllOf](docs/FailedOperationAllOf.md) - [FeatureFlagsContext](docs/FeatureFlagsContext.md) @@ -2556,11 +2565,10 @@ Class | Method | HTTP request | Description - [KeyDriversResponse](docs/KeyDriversResponse.md) - [KeyDriversResult](docs/KeyDriversResult.md) - [LabelIdentifier](docs/LabelIdentifier.md) - - [LdmObjectPermissions](docs/LdmObjectPermissions.md) - - [LdmObjectPermissionsAssignment](docs/LdmObjectPermissionsAssignment.md) - - [LdmObjectPermissionsForAssignee](docs/LdmObjectPermissionsForAssignee.md) - - [LdmObjectPermissionsForAssigneeAllOf](docs/LdmObjectPermissionsForAssigneeAllOf.md) - - [LdmObjectPermissionsForAssigneeRule](docs/LdmObjectPermissionsForAssigneeRule.md) + - [LabelPermissions](docs/LabelPermissions.md) + - [LabelPermissionsAssignment](docs/LabelPermissionsAssignment.md) + - [LabelPermissionsForAssignee](docs/LabelPermissionsForAssignee.md) + - [LabelPermissionsForAssigneeRule](docs/LabelPermissionsForAssigneeRule.md) - [ListLinks](docs/ListLinks.md) - [ListLinksAllOf](docs/ListLinksAllOf.md) - [ListLlmProviderModelsRequest](docs/ListLlmProviderModelsRequest.md) @@ -2574,6 +2582,8 @@ Class | Method | HTTP request | Description - [LocaleRequest](docs/LocaleRequest.md) - [ManageAttributePermissionsRequestInner](docs/ManageAttributePermissionsRequestInner.md) - [ManageDashboardPermissionsRequestInner](docs/ManageDashboardPermissionsRequestInner.md) + - [ManageFactPermissionsRequestInner](docs/ManageFactPermissionsRequestInner.md) + - [ManageLabelPermissionsRequestInner](docs/ManageLabelPermissionsRequestInner.md) - [ManageMetricPermissionsRequestInner](docs/ManageMetricPermissionsRequestInner.md) - [MatchAttributeFilter](docs/MatchAttributeFilter.md) - [MatchAttributeFilterMatchAttributeFilter](docs/MatchAttributeFilterMatchAttributeFilter.md) diff --git a/gooddata-api-client/docs/ActionsApi.md b/gooddata-api-client/docs/ActionsApi.md index 75d02810d..288504085 100644 --- a/gooddata-api-client/docs/ActionsApi.md +++ b/gooddata-api-client/docs/ActionsApi.md @@ -1023,7 +1023,7 @@ 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) # **attribute_permissions** -> LdmObjectPermissions attribute_permissions(workspace_id, attribute_id) +> AttributePermissions attribute_permissions(workspace_id, attribute_id) Get Attribute Permissions @@ -1034,7 +1034,7 @@ Get Attribute Permissions import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.attribute_permissions import AttributePermissions 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. @@ -1069,7 +1069,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**AttributePermissions**](AttributePermissions.md) ### Authorization @@ -3785,7 +3785,7 @@ 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) # **fact_permissions** -> LdmObjectPermissions fact_permissions(workspace_id, fact_id) +> FactPermissions fact_permissions(workspace_id, fact_id) Get Fact Permissions @@ -3796,7 +3796,7 @@ Get Fact Permissions import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.fact_permissions import FactPermissions 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. @@ -3831,7 +3831,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**FactPermissions**](FactPermissions.md) ### Authorization @@ -6000,7 +6000,7 @@ 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) # **label_permissions** -> LdmObjectPermissions label_permissions(workspace_id, label_id) +> LabelPermissions label_permissions(workspace_id, label_id) Get Label Permissions @@ -6011,7 +6011,7 @@ Get Label Permissions import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.label_permissions import LabelPermissions 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. @@ -6046,7 +6046,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**LabelPermissions**](LabelPermissions.md) ### Authorization @@ -6645,7 +6645,7 @@ 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) # **manage_fact_permissions** -> manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner) +> manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner) Manage Permissions for a Fact @@ -6656,7 +6656,7 @@ Manage Permissions for a Fact import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner +from gooddata_api_client.model.manage_fact_permissions_request_inner import ManageFactPermissionsRequestInner 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. @@ -6671,14 +6671,14 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = actions_api.ActionsApi(api_client) workspace_id = "workspaceId_example" # str | fact_id = "factId_example" # str | - manage_attribute_permissions_request_inner = [ - ManageAttributePermissionsRequestInner(None), - ] # [ManageAttributePermissionsRequestInner] | + manage_fact_permissions_request_inner = [ + ManageFactPermissionsRequestInner(None), + ] # [ManageFactPermissionsRequestInner] | # example passing only required values which don't have defaults set try: # Manage Permissions for a Fact - api_instance.manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner) + api_instance.manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner) except gooddata_api_client.ApiException as e: print("Exception when calling ActionsApi->manage_fact_permissions: %s\n" % e) ``` @@ -6690,7 +6690,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **fact_id** | **str**| | - **manage_attribute_permissions_request_inner** | [**[ManageAttributePermissionsRequestInner]**](ManageAttributePermissionsRequestInner.md)| | + **manage_fact_permissions_request_inner** | [**[ManageFactPermissionsRequestInner]**](ManageFactPermissionsRequestInner.md)| | ### Return type @@ -6715,7 +6715,7 @@ 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) # **manage_label_permissions** -> manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner) +> manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner) Manage Permissions for a Label @@ -6726,7 +6726,7 @@ Manage Permissions for a Label import time import gooddata_api_client from gooddata_api_client.api import actions_api -from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner +from gooddata_api_client.model.manage_label_permissions_request_inner import ManageLabelPermissionsRequestInner 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. @@ -6741,14 +6741,14 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = actions_api.ActionsApi(api_client) workspace_id = "workspaceId_example" # str | label_id = "labelId_example" # str | - manage_attribute_permissions_request_inner = [ - ManageAttributePermissionsRequestInner(None), - ] # [ManageAttributePermissionsRequestInner] | + manage_label_permissions_request_inner = [ + ManageLabelPermissionsRequestInner(None), + ] # [ManageLabelPermissionsRequestInner] | # example passing only required values which don't have defaults set try: # Manage Permissions for a Label - api_instance.manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner) + api_instance.manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner) except gooddata_api_client.ApiException as e: print("Exception when calling ActionsApi->manage_label_permissions: %s\n" % e) ``` @@ -6760,7 +6760,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **label_id** | **str**| | - **manage_attribute_permissions_request_inner** | [**[ManageAttributePermissionsRequestInner]**](ManageAttributePermissionsRequestInner.md)| | + **manage_label_permissions_request_inner** | [**[ManageLabelPermissionsRequestInner]**](ManageLabelPermissionsRequestInner.md)| | ### Return type diff --git a/gooddata-api-client/docs/LdmObjectPermissions.md b/gooddata-api-client/docs/AttributePermissions.md similarity index 96% rename from gooddata-api-client/docs/LdmObjectPermissions.md rename to gooddata-api-client/docs/AttributePermissions.md index f04e87231..c56449eea 100644 --- a/gooddata-api-client/docs/LdmObjectPermissions.md +++ b/gooddata-api-client/docs/AttributePermissions.md @@ -1,4 +1,4 @@ -# LdmObjectPermissions +# AttributePermissions ## Properties diff --git a/gooddata-api-client/docs/LdmObjectPermissionsAssignment.md b/gooddata-api-client/docs/AttributePermissionsAssignment.md similarity index 79% rename from gooddata-api-client/docs/LdmObjectPermissionsAssignment.md rename to gooddata-api-client/docs/AttributePermissionsAssignment.md index c70d691d9..d4fc3a7b4 100644 --- a/gooddata-api-client/docs/LdmObjectPermissionsAssignment.md +++ b/gooddata-api-client/docs/AttributePermissionsAssignment.md @@ -1,6 +1,6 @@ -# LdmObjectPermissionsAssignment +# AttributePermissionsAssignment -Desired levels of permissions on an LDM object (attribute, label, fact) for an assignee. +Desired levels of permissions on an attribute for an assignee. ## Properties Name | Type | Description | Notes diff --git a/gooddata-api-client/docs/LdmObjectPermissionsForAssignee.md b/gooddata-api-client/docs/AttributePermissionsForAssignee.md similarity index 82% rename from gooddata-api-client/docs/LdmObjectPermissionsForAssignee.md rename to gooddata-api-client/docs/AttributePermissionsForAssignee.md index b51f9dc93..22b67280c 100644 --- a/gooddata-api-client/docs/LdmObjectPermissionsForAssignee.md +++ b/gooddata-api-client/docs/AttributePermissionsForAssignee.md @@ -1,6 +1,6 @@ -# LdmObjectPermissionsForAssignee +# AttributePermissionsForAssignee -Desired levels of LDM-object permissions for an assignee identified by an identifier. +Desired levels of attribute permissions for an assignee identified by an identifier. ## Properties Name | Type | Description | Notes diff --git a/gooddata-api-client/docs/LdmObjectPermissionsForAssigneeAllOf.md b/gooddata-api-client/docs/AttributePermissionsForAssigneeAllOf.md similarity index 93% rename from gooddata-api-client/docs/LdmObjectPermissionsForAssigneeAllOf.md rename to gooddata-api-client/docs/AttributePermissionsForAssigneeAllOf.md index cc329a9dc..72cb78866 100644 --- a/gooddata-api-client/docs/LdmObjectPermissionsForAssigneeAllOf.md +++ b/gooddata-api-client/docs/AttributePermissionsForAssigneeAllOf.md @@ -1,4 +1,4 @@ -# LdmObjectPermissionsForAssigneeAllOf +# AttributePermissionsForAssigneeAllOf ## Properties diff --git a/gooddata-api-client/docs/LdmObjectPermissionsForAssigneeRule.md b/gooddata-api-client/docs/AttributePermissionsForAssigneeRule.md similarity index 80% rename from gooddata-api-client/docs/LdmObjectPermissionsForAssigneeRule.md rename to gooddata-api-client/docs/AttributePermissionsForAssigneeRule.md index 0bfd9e95e..682c8caa3 100644 --- a/gooddata-api-client/docs/LdmObjectPermissionsForAssigneeRule.md +++ b/gooddata-api-client/docs/AttributePermissionsForAssigneeRule.md @@ -1,6 +1,6 @@ -# LdmObjectPermissionsForAssigneeRule +# AttributePermissionsForAssigneeRule -Desired levels of LDM-object permissions for a collection of assignees identified by a rule. +Desired levels of attribute permissions for a collection of assignees identified by a rule. ## Properties Name | Type | Description | Notes diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md b/gooddata-api-client/docs/AttributePermissionsForAssigneeRuleAllOf.md similarity index 89% rename from gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md rename to gooddata-api-client/docs/AttributePermissionsForAssigneeRuleAllOf.md index 9bfd57762..ff06a50a4 100644 --- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf.md +++ b/gooddata-api-client/docs/AttributePermissionsForAssigneeRuleAllOf.md @@ -1,4 +1,4 @@ -# DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf +# AttributePermissionsForAssigneeRuleAllOf ## Properties diff --git a/gooddata-api-client/docs/FactPermissions.md b/gooddata-api-client/docs/FactPermissions.md new file mode 100644 index 000000000..b3232172a --- /dev/null +++ b/gooddata-api-client/docs/FactPermissions.md @@ -0,0 +1,14 @@ +# FactPermissions + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rules** | [**[RulePermission]**](RulePermission.md) | List of rules | +**user_groups** | [**[UserGroupPermission]**](UserGroupPermission.md) | List of user groups | +**users** | [**[UserPermission]**](UserPermission.md) | List of users | +**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/FactPermissionsAssignment.md b/gooddata-api-client/docs/FactPermissionsAssignment.md new file mode 100644 index 000000000..5d0992415 --- /dev/null +++ b/gooddata-api-client/docs/FactPermissionsAssignment.md @@ -0,0 +1,13 @@ +# FactPermissionsAssignment + +Desired levels of permissions on a fact for an assignee. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[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/FactPermissionsForAssignee.md b/gooddata-api-client/docs/FactPermissionsForAssignee.md new file mode 100644 index 000000000..e0f762675 --- /dev/null +++ b/gooddata-api-client/docs/FactPermissionsForAssignee.md @@ -0,0 +1,14 @@ +# FactPermissionsForAssignee + +Desired levels of fact permissions for an assignee identified by an identifier. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/FactPermissionsForAssigneeRule.md b/gooddata-api-client/docs/FactPermissionsForAssigneeRule.md new file mode 100644 index 000000000..7c0a18488 --- /dev/null +++ b/gooddata-api-client/docs/FactPermissionsForAssigneeRule.md @@ -0,0 +1,14 @@ +# FactPermissionsForAssigneeRule + +Desired levels of fact permissions for a collection of assignees identified by a rule. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/LabelPermissions.md b/gooddata-api-client/docs/LabelPermissions.md new file mode 100644 index 000000000..e932ce58d --- /dev/null +++ b/gooddata-api-client/docs/LabelPermissions.md @@ -0,0 +1,14 @@ +# LabelPermissions + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rules** | [**[RulePermission]**](RulePermission.md) | List of rules | +**user_groups** | [**[UserGroupPermission]**](UserGroupPermission.md) | List of user groups | +**users** | [**[UserPermission]**](UserPermission.md) | List of users | +**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/LabelPermissionsAssignment.md b/gooddata-api-client/docs/LabelPermissionsAssignment.md new file mode 100644 index 000000000..ef3a627c1 --- /dev/null +++ b/gooddata-api-client/docs/LabelPermissionsAssignment.md @@ -0,0 +1,13 @@ +# LabelPermissionsAssignment + +Desired levels of permissions on a label for an assignee. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[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/LabelPermissionsForAssignee.md b/gooddata-api-client/docs/LabelPermissionsForAssignee.md new file mode 100644 index 000000000..c20d8e370 --- /dev/null +++ b/gooddata-api-client/docs/LabelPermissionsForAssignee.md @@ -0,0 +1,14 @@ +# LabelPermissionsForAssignee + +Desired levels of label permissions for an assignee identified by an identifier. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/LabelPermissionsForAssigneeRule.md b/gooddata-api-client/docs/LabelPermissionsForAssigneeRule.md new file mode 100644 index 000000000..4e7aa7194 --- /dev/null +++ b/gooddata-api-client/docs/LabelPermissionsForAssigneeRule.md @@ -0,0 +1,14 @@ +# LabelPermissionsForAssigneeRule + +Desired levels of label permissions for a collection of assignees identified by a rule. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/ManageFactPermissionsRequestInner.md b/gooddata-api-client/docs/ManageFactPermissionsRequestInner.md new file mode 100644 index 000000000..17b8ddb9a --- /dev/null +++ b/gooddata-api-client/docs/ManageFactPermissionsRequestInner.md @@ -0,0 +1,14 @@ +# ManageFactPermissionsRequestInner + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | [optional] +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/ManageLabelPermissionsRequestInner.md b/gooddata-api-client/docs/ManageLabelPermissionsRequestInner.md new file mode 100644 index 000000000..f88205b68 --- /dev/null +++ b/gooddata-api-client/docs/ManageLabelPermissionsRequestInner.md @@ -0,0 +1,14 @@ +# ManageLabelPermissionsRequestInner + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | **[str]** | | [optional] +**assignee_identifier** | [**AssigneeIdentifier**](AssigneeIdentifier.md) | | [optional] +**assignee_rule** | [**AssigneeRule**](AssigneeRule.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[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/PermissionsApi.md b/gooddata-api-client/docs/PermissionsApi.md index c7599d2c9..e04c28cce 100644 --- a/gooddata-api-client/docs/PermissionsApi.md +++ b/gooddata-api-client/docs/PermissionsApi.md @@ -29,7 +29,7 @@ Method | HTTP request | Description # **attribute_permissions** -> LdmObjectPermissions attribute_permissions(workspace_id, attribute_id) +> AttributePermissions attribute_permissions(workspace_id, attribute_id) Get Attribute Permissions @@ -40,7 +40,7 @@ Get Attribute Permissions import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.attribute_permissions import AttributePermissions 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. @@ -75,7 +75,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**AttributePermissions**](AttributePermissions.md) ### Authorization @@ -230,7 +230,7 @@ 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) # **fact_permissions** -> LdmObjectPermissions fact_permissions(workspace_id, fact_id) +> FactPermissions fact_permissions(workspace_id, fact_id) Get Fact Permissions @@ -241,7 +241,7 @@ Get Fact Permissions import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.fact_permissions import FactPermissions 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. @@ -276,7 +276,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**FactPermissions**](FactPermissions.md) ### Authorization @@ -561,7 +561,7 @@ 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) # **label_permissions** -> LdmObjectPermissions label_permissions(workspace_id, label_id) +> LabelPermissions label_permissions(workspace_id, label_id) Get Label Permissions @@ -572,7 +572,7 @@ Get Label Permissions import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.label_permissions import LabelPermissions 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. @@ -607,7 +607,7 @@ Name | Type | Description | Notes ### Return type -[**LdmObjectPermissions**](LdmObjectPermissions.md) +[**LabelPermissions**](LabelPermissions.md) ### Authorization @@ -846,7 +846,7 @@ 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) # **manage_fact_permissions** -> manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner) +> manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner) Manage Permissions for a Fact @@ -857,7 +857,7 @@ Manage Permissions for a Fact import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner +from gooddata_api_client.model.manage_fact_permissions_request_inner import ManageFactPermissionsRequestInner 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. @@ -872,14 +872,14 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = permissions_api.PermissionsApi(api_client) workspace_id = "workspaceId_example" # str | fact_id = "factId_example" # str | - manage_attribute_permissions_request_inner = [ - ManageAttributePermissionsRequestInner(None), - ] # [ManageAttributePermissionsRequestInner] | + manage_fact_permissions_request_inner = [ + ManageFactPermissionsRequestInner(None), + ] # [ManageFactPermissionsRequestInner] | # example passing only required values which don't have defaults set try: # Manage Permissions for a Fact - api_instance.manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner) + api_instance.manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner) except gooddata_api_client.ApiException as e: print("Exception when calling PermissionsApi->manage_fact_permissions: %s\n" % e) ``` @@ -891,7 +891,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **fact_id** | **str**| | - **manage_attribute_permissions_request_inner** | [**[ManageAttributePermissionsRequestInner]**](ManageAttributePermissionsRequestInner.md)| | + **manage_fact_permissions_request_inner** | [**[ManageFactPermissionsRequestInner]**](ManageFactPermissionsRequestInner.md)| | ### Return type @@ -916,7 +916,7 @@ 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) # **manage_label_permissions** -> manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner) +> manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner) Manage Permissions for a Label @@ -927,7 +927,7 @@ Manage Permissions for a Label import time import gooddata_api_client from gooddata_api_client.api import permissions_api -from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner +from gooddata_api_client.model.manage_label_permissions_request_inner import ManageLabelPermissionsRequestInner 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. @@ -942,14 +942,14 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = permissions_api.PermissionsApi(api_client) workspace_id = "workspaceId_example" # str | label_id = "labelId_example" # str | - manage_attribute_permissions_request_inner = [ - ManageAttributePermissionsRequestInner(None), - ] # [ManageAttributePermissionsRequestInner] | + manage_label_permissions_request_inner = [ + ManageLabelPermissionsRequestInner(None), + ] # [ManageLabelPermissionsRequestInner] | # example passing only required values which don't have defaults set try: # Manage Permissions for a Label - api_instance.manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner) + api_instance.manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner) except gooddata_api_client.ApiException as e: print("Exception when calling PermissionsApi->manage_label_permissions: %s\n" % e) ``` @@ -961,7 +961,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **label_id** | **str**| | - **manage_attribute_permissions_request_inner** | [**[ManageAttributePermissionsRequestInner]**](ManageAttributePermissionsRequestInner.md)| | + **manage_label_permissions_request_inner** | [**[ManageLabelPermissionsRequestInner]**](ManageLabelPermissionsRequestInner.md)| | ### Return type 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 ccc1d6b26..848e997d7 100644 --- a/gooddata-api-client/gooddata_api_client/api/actions_api.py +++ b/gooddata-api-client/gooddata_api_client/api/actions_api.py @@ -36,6 +36,7 @@ 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.attribute_permissions import AttributePermissions 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 @@ -65,6 +66,7 @@ from gooddata_api_client.model.entitlements_request import EntitlementsRequest from gooddata_api_client.model.execution_result import ExecutionResult from gooddata_api_client.model.export_response import ExportResponse +from gooddata_api_client.model.fact_permissions import FactPermissions 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 @@ -86,12 +88,14 @@ from gooddata_api_client.model.key_drivers_request import KeyDriversRequest from gooddata_api_client.model.key_drivers_response import KeyDriversResponse from gooddata_api_client.model.key_drivers_result import KeyDriversResult -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.label_permissions import LabelPermissions from gooddata_api_client.model.list_llm_provider_models_request import ListLlmProviderModelsRequest from gooddata_api_client.model.list_llm_provider_models_response import ListLlmProviderModelsResponse from gooddata_api_client.model.locale_request import LocaleRequest from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner +from gooddata_api_client.model.manage_fact_permissions_request_inner import ManageFactPermissionsRequestInner +from gooddata_api_client.model.manage_label_permissions_request_inner import ManageLabelPermissionsRequestInner from gooddata_api_client.model.manage_metric_permissions_request_inner import ManageMetricPermissionsRequestInner from gooddata_api_client.model.memory_item_created_by_users import MemoryItemCreatedByUsers from gooddata_api_client.model.metric_permissions import MetricPermissions @@ -761,7 +765,7 @@ def __init__(self, api_client=None): ) self.attribute_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (AttributePermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/attributes/{attributeId}/permissions', 'operation_id': 'attribute_permissions', @@ -2638,7 +2642,7 @@ def __init__(self, api_client=None): ) self.fact_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (FactPermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/facts/{factId}/permissions', 'operation_id': 'fact_permissions', @@ -4359,7 +4363,7 @@ def __init__(self, api_client=None): ) self.label_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (LabelPermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/labels/{labelId}/permissions', 'operation_id': 'label_permissions', @@ -4875,12 +4879,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'fact_id', - 'manage_attribute_permissions_request_inner', + 'manage_fact_permissions_request_inner', ], 'required': [ 'workspace_id', 'fact_id', - 'manage_attribute_permissions_request_inner', + 'manage_fact_permissions_request_inner', ], 'nullable': [ ], @@ -4899,8 +4903,8 @@ def __init__(self, api_client=None): (str,), 'fact_id': (str,), - 'manage_attribute_permissions_request_inner': - ([ManageAttributePermissionsRequestInner],), + 'manage_fact_permissions_request_inner': + ([ManageFactPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -4909,7 +4913,7 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'fact_id': 'path', - 'manage_attribute_permissions_request_inner': 'body', + 'manage_fact_permissions_request_inner': 'body', }, 'collection_format_map': { } @@ -4935,12 +4939,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'label_id', - 'manage_attribute_permissions_request_inner', + 'manage_label_permissions_request_inner', ], 'required': [ 'workspace_id', 'label_id', - 'manage_attribute_permissions_request_inner', + 'manage_label_permissions_request_inner', ], 'nullable': [ ], @@ -4959,8 +4963,8 @@ def __init__(self, api_client=None): (str,), 'label_id': (str,), - 'manage_attribute_permissions_request_inner': - ([ManageAttributePermissionsRequestInner],), + 'manage_label_permissions_request_inner': + ([ManageLabelPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -4969,7 +4973,7 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'label_id': 'path', - 'manage_attribute_permissions_request_inner': 'body', + 'manage_label_permissions_request_inner': 'body', }, 'collection_format_map': { } @@ -8944,7 +8948,7 @@ def attribute_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + AttributePermissions If the method is called asynchronously, returns the request thread. """ @@ -11631,7 +11635,7 @@ def fact_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + FactPermissions If the method is called asynchronously, returns the request thread. """ @@ -14133,7 +14137,7 @@ def label_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + LabelPermissions If the method is called asynchronously, returns the request thread. """ @@ -14858,7 +14862,7 @@ def manage_fact_permissions( self, workspace_id, fact_id, - manage_attribute_permissions_request_inner, + manage_fact_permissions_request_inner, **kwargs ): """Manage Permissions for a Fact # noqa: E501 @@ -14866,13 +14870,13 @@ def manage_fact_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner, async_req=True) + >>> thread = api.manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): fact_id (str): - manage_attribute_permissions_request_inner ([ManageAttributePermissionsRequestInner]): + manage_fact_permissions_request_inner ([ManageFactPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -14940,15 +14944,15 @@ def manage_fact_permissions( workspace_id kwargs['fact_id'] = \ fact_id - kwargs['manage_attribute_permissions_request_inner'] = \ - manage_attribute_permissions_request_inner + kwargs['manage_fact_permissions_request_inner'] = \ + manage_fact_permissions_request_inner return self.manage_fact_permissions_endpoint.call_with_http_info(**kwargs) def manage_label_permissions( self, workspace_id, label_id, - manage_attribute_permissions_request_inner, + manage_label_permissions_request_inner, **kwargs ): """Manage Permissions for a Label # noqa: E501 @@ -14956,13 +14960,13 @@ def manage_label_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner, async_req=True) + >>> thread = api.manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): label_id (str): - manage_attribute_permissions_request_inner ([ManageAttributePermissionsRequestInner]): + manage_label_permissions_request_inner ([ManageLabelPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -15030,8 +15034,8 @@ def manage_label_permissions( workspace_id kwargs['label_id'] = \ label_id - kwargs['manage_attribute_permissions_request_inner'] = \ - manage_attribute_permissions_request_inner + kwargs['manage_label_permissions_request_inner'] = \ + manage_label_permissions_request_inner return self.manage_label_permissions_endpoint.call_with_http_info(**kwargs) def manage_metric_permissions( diff --git a/gooddata-api-client/gooddata_api_client/api/permissions_api.py b/gooddata-api-client/gooddata_api_client/api/permissions_api.py index 47730a5a1..091d18f4c 100644 --- a/gooddata-api-client/gooddata_api_client/api/permissions_api.py +++ b/gooddata-api-client/gooddata_api_client/api/permissions_api.py @@ -22,6 +22,7 @@ none_type, validate_and_convert_types ) +from gooddata_api_client.model.attribute_permissions import AttributePermissions from gooddata_api_client.model.available_assignees import AvailableAssignees from gooddata_api_client.model.dashboard_permissions import DashboardPermissions from gooddata_api_client.model.data_source_permission_assignment import DataSourcePermissionAssignment @@ -29,9 +30,12 @@ from gooddata_api_client.model.declarative_user_group_permissions import DeclarativeUserGroupPermissions from gooddata_api_client.model.declarative_user_permissions import DeclarativeUserPermissions from gooddata_api_client.model.declarative_workspace_permissions import DeclarativeWorkspacePermissions -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions +from gooddata_api_client.model.fact_permissions import FactPermissions +from gooddata_api_client.model.label_permissions import LabelPermissions from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner +from gooddata_api_client.model.manage_fact_permissions_request_inner import ManageFactPermissionsRequestInner +from gooddata_api_client.model.manage_label_permissions_request_inner import ManageLabelPermissionsRequestInner from gooddata_api_client.model.manage_metric_permissions_request_inner import ManageMetricPermissionsRequestInner from gooddata_api_client.model.metric_permissions import MetricPermissions from gooddata_api_client.model.organization_permission_assignment import OrganizationPermissionAssignment @@ -51,7 +55,7 @@ def __init__(self, api_client=None): self.api_client = api_client self.attribute_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (AttributePermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/attributes/{attributeId}/permissions', 'operation_id': 'attribute_permissions', @@ -216,7 +220,7 @@ def __init__(self, api_client=None): ) self.fact_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (FactPermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/facts/{factId}/permissions', 'operation_id': 'fact_permissions', @@ -460,7 +464,7 @@ def __init__(self, api_client=None): ) self.label_permissions_endpoint = _Endpoint( settings={ - 'response_type': (LdmObjectPermissions,), + 'response_type': (LabelPermissions,), 'auth': [], 'endpoint_path': '/api/v1/actions/workspaces/{workspaceId}/labels/{labelId}/permissions', 'operation_id': 'label_permissions', @@ -700,12 +704,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'fact_id', - 'manage_attribute_permissions_request_inner', + 'manage_fact_permissions_request_inner', ], 'required': [ 'workspace_id', 'fact_id', - 'manage_attribute_permissions_request_inner', + 'manage_fact_permissions_request_inner', ], 'nullable': [ ], @@ -724,8 +728,8 @@ def __init__(self, api_client=None): (str,), 'fact_id': (str,), - 'manage_attribute_permissions_request_inner': - ([ManageAttributePermissionsRequestInner],), + 'manage_fact_permissions_request_inner': + ([ManageFactPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -734,7 +738,7 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'fact_id': 'path', - 'manage_attribute_permissions_request_inner': 'body', + 'manage_fact_permissions_request_inner': 'body', }, 'collection_format_map': { } @@ -760,12 +764,12 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'label_id', - 'manage_attribute_permissions_request_inner', + 'manage_label_permissions_request_inner', ], 'required': [ 'workspace_id', 'label_id', - 'manage_attribute_permissions_request_inner', + 'manage_label_permissions_request_inner', ], 'nullable': [ ], @@ -784,8 +788,8 @@ def __init__(self, api_client=None): (str,), 'label_id': (str,), - 'manage_attribute_permissions_request_inner': - ([ManageAttributePermissionsRequestInner],), + 'manage_label_permissions_request_inner': + ([ManageLabelPermissionsRequestInner],), }, 'attribute_map': { 'workspace_id': 'workspaceId', @@ -794,7 +798,7 @@ def __init__(self, api_client=None): 'location_map': { 'workspace_id': 'path', 'label_id': 'path', - 'manage_attribute_permissions_request_inner': 'body', + 'manage_label_permissions_request_inner': 'body', }, 'collection_format_map': { } @@ -1286,7 +1290,7 @@ def attribute_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + AttributePermissions If the method is called asynchronously, returns the request thread. """ @@ -1544,7 +1548,7 @@ def fact_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + FactPermissions If the method is called asynchronously, returns the request thread. """ @@ -1957,7 +1961,7 @@ def label_permissions( async_req (bool): execute request asynchronously Returns: - LdmObjectPermissions + LabelPermissions If the method is called asynchronously, returns the request thread. """ @@ -2263,7 +2267,7 @@ def manage_fact_permissions( self, workspace_id, fact_id, - manage_attribute_permissions_request_inner, + manage_fact_permissions_request_inner, **kwargs ): """Manage Permissions for a Fact # noqa: E501 @@ -2271,13 +2275,13 @@ def manage_fact_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_fact_permissions(workspace_id, fact_id, manage_attribute_permissions_request_inner, async_req=True) + >>> thread = api.manage_fact_permissions(workspace_id, fact_id, manage_fact_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): fact_id (str): - manage_attribute_permissions_request_inner ([ManageAttributePermissionsRequestInner]): + manage_fact_permissions_request_inner ([ManageFactPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -2345,15 +2349,15 @@ def manage_fact_permissions( workspace_id kwargs['fact_id'] = \ fact_id - kwargs['manage_attribute_permissions_request_inner'] = \ - manage_attribute_permissions_request_inner + kwargs['manage_fact_permissions_request_inner'] = \ + manage_fact_permissions_request_inner return self.manage_fact_permissions_endpoint.call_with_http_info(**kwargs) def manage_label_permissions( self, workspace_id, label_id, - manage_attribute_permissions_request_inner, + manage_label_permissions_request_inner, **kwargs ): """Manage Permissions for a Label # noqa: E501 @@ -2361,13 +2365,13 @@ def manage_label_permissions( This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.manage_label_permissions(workspace_id, label_id, manage_attribute_permissions_request_inner, async_req=True) + >>> thread = api.manage_label_permissions(workspace_id, label_id, manage_label_permissions_request_inner, async_req=True) >>> result = thread.get() Args: workspace_id (str): label_id (str): - manage_attribute_permissions_request_inner ([ManageAttributePermissionsRequestInner]): + manage_label_permissions_request_inner ([ManageLabelPermissionsRequestInner]): Keyword Args: _return_http_data_only (bool): response data without head status @@ -2435,8 +2439,8 @@ def manage_label_permissions( workspace_id kwargs['label_id'] = \ label_id - kwargs['manage_attribute_permissions_request_inner'] = \ - manage_attribute_permissions_request_inner + kwargs['manage_label_permissions_request_inner'] = \ + manage_label_permissions_request_inner return self.manage_label_permissions_endpoint.call_with_http_info(**kwargs) def manage_metric_permissions( diff --git a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions.py similarity index 98% rename from gooddata-api-client/gooddata_api_client/model/ldm_object_permissions.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions.py index 26e8675c1..cfb05519d 100644 --- a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions.py @@ -39,7 +39,7 @@ def lazy_import(): globals()['UserPermission'] = UserPermission -class LdmObjectPermissions(ModelNormal): +class AttributePermissions(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -116,7 +116,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, rules, user_groups, users, *args, **kwargs): # noqa: E501 - """LdmObjectPermissions - a model defined in OpenAPI + """AttributePermissions - a model defined in OpenAPI Args: rules ([RulePermission]): List of rules @@ -209,7 +209,7 @@ def _from_openapi_data(cls, rules, user_groups, users, *args, **kwargs): # noqa @convert_js_args_to_python_args def __init__(self, rules, user_groups, users, *args, **kwargs): # noqa: E501 - """LdmObjectPermissions - a model defined in OpenAPI + """AttributePermissions - a model defined in OpenAPI Args: rules ([RulePermission]): List of rules diff --git a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_assignment.py similarity index 98% rename from gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_assignment.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions_assignment.py index 523b213f7..0e75b74a0 100644 --- a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_assignment.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_assignment.py @@ -31,7 +31,7 @@ -class LdmObjectPermissionsAssignment(ModelNormal): +class AttributePermissionsAssignment(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -107,7 +107,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsAssignment - a model defined in OpenAPI + """AttributePermissionsAssignment - a model defined in OpenAPI Args: permissions ([str]): @@ -196,7 +196,7 @@ def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, permissions, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsAssignment - a model defined in OpenAPI + """AttributePermissionsAssignment - a model defined in OpenAPI Args: permissions ([str]): diff --git a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee.py similarity index 95% rename from gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee.py index 46f71d855..64d2e8b7a 100644 --- a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee.py @@ -32,14 +32,14 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier - from gooddata_api_client.model.ldm_object_permissions_assignment import LdmObjectPermissionsAssignment - from gooddata_api_client.model.ldm_object_permissions_for_assignee_all_of import LdmObjectPermissionsForAssigneeAllOf + from gooddata_api_client.model.attribute_permissions_assignment import AttributePermissionsAssignment + from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf globals()['AssigneeIdentifier'] = AssigneeIdentifier - globals()['LdmObjectPermissionsAssignment'] = LdmObjectPermissionsAssignment - globals()['LdmObjectPermissionsForAssigneeAllOf'] = LdmObjectPermissionsForAssigneeAllOf + globals()['AttributePermissionsAssignment'] = AttributePermissionsAssignment + globals()['AttributePermissionsForAssigneeAllOf'] = AttributePermissionsForAssigneeAllOf -class LdmObjectPermissionsForAssignee(ModelComposed): +class AttributePermissionsForAssignee(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -117,7 +117,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssignee - a model defined in OpenAPI + """AttributePermissionsForAssignee - a model defined in OpenAPI Keyword Args: permissions ([str]): @@ -222,7 +222,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssignee - a model defined in OpenAPI + """AttributePermissionsForAssignee - a model defined in OpenAPI Keyword Args: permissions ([str]): @@ -326,8 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - LdmObjectPermissionsAssignment, - LdmObjectPermissionsForAssigneeAllOf, + AttributePermissionsAssignment, + AttributePermissionsForAssigneeAllOf, ], 'oneOf': [ ], diff --git a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_all_of.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_all_of.py similarity index 98% rename from gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_all_of.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_all_of.py index c03cf1681..aa1ef6fc6 100644 --- a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_all_of.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_all_of.py @@ -35,7 +35,7 @@ def lazy_import(): globals()['AssigneeIdentifier'] = AssigneeIdentifier -class LdmObjectPermissionsForAssigneeAllOf(ModelNormal): +class AttributePermissionsForAssigneeAllOf(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -108,7 +108,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssigneeAllOf - a model defined in OpenAPI + """AttributePermissionsForAssigneeAllOf - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -194,7 +194,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssigneeAllOf - a model defined in OpenAPI + """AttributePermissionsForAssigneeAllOf - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types diff --git a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule.py similarity index 94% rename from gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_rule.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule.py index 017c75e49..fcd5e09c5 100644 --- a/gooddata-api-client/gooddata_api_client/model/ldm_object_permissions_for_assignee_rule.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule.py @@ -32,14 +32,14 @@ def lazy_import(): from gooddata_api_client.model.assignee_rule import AssigneeRule - from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - from gooddata_api_client.model.ldm_object_permissions_assignment import LdmObjectPermissionsAssignment + from gooddata_api_client.model.attribute_permissions_assignment import AttributePermissionsAssignment + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf globals()['AssigneeRule'] = AssigneeRule - globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - globals()['LdmObjectPermissionsAssignment'] = LdmObjectPermissionsAssignment + globals()['AttributePermissionsAssignment'] = AttributePermissionsAssignment + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf -class LdmObjectPermissionsForAssigneeRule(ModelComposed): +class AttributePermissionsForAssigneeRule(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -117,7 +117,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssigneeRule - a model defined in OpenAPI + """AttributePermissionsForAssigneeRule - a model defined in OpenAPI Keyword Args: permissions ([str]): @@ -222,7 +222,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """LdmObjectPermissionsForAssigneeRule - a model defined in OpenAPI + """AttributePermissionsForAssigneeRule - a model defined in OpenAPI Keyword Args: permissions ([str]): @@ -326,8 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, - LdmObjectPermissionsAssignment, + AttributePermissionsAssignment, + AttributePermissionsForAssigneeRuleAllOf, ], 'oneOf': [ ], diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule_all_of.py similarity index 97% rename from gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py rename to gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule_all_of.py index 364d9cb4b..503658257 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule_all_of.py +++ b/gooddata-api-client/gooddata_api_client/model/attribute_permissions_for_assignee_rule_all_of.py @@ -35,7 +35,7 @@ def lazy_import(): globals()['AssigneeRule'] = AssigneeRule -class DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf(ModelNormal): +class AttributePermissionsForAssigneeRuleAllOf(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -108,7 +108,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - a model defined in OpenAPI + """AttributePermissionsForAssigneeRuleAllOf - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -194,7 +194,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf - a model defined in OpenAPI + """AttributePermissionsForAssigneeRuleAllOf - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py index 6cdafcb1b..9179f8b34 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard_permission_for_assignee_rule.py @@ -32,11 +32,11 @@ def lazy_import(): from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf from gooddata_api_client.model.declarative_analytical_dashboard_permission_assignment import DeclarativeAnalyticalDashboardPermissionAssignment - from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf globals()['AssigneeRule'] = AssigneeRule + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf globals()['DeclarativeAnalyticalDashboardPermissionAssignment'] = DeclarativeAnalyticalDashboardPermissionAssignment - globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf class DeclarativeAnalyticalDashboardPermissionForAssigneeRule(ModelComposed): @@ -326,8 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ + AttributePermissionsForAssigneeRuleAllOf, DeclarativeAnalyticalDashboardPermissionAssignment, - DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, ], 'oneOf': [ ], diff --git a/gooddata-api-client/gooddata_api_client/model/fact_permissions.py b/gooddata-api-client/gooddata_api_client/model/fact_permissions.py new file mode 100644 index 000000000..18b78cf6a --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/fact_permissions.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.rule_permission import RulePermission + from gooddata_api_client.model.user_group_permission import UserGroupPermission + from gooddata_api_client.model.user_permission import UserPermission + globals()['RulePermission'] = RulePermission + globals()['UserGroupPermission'] = UserGroupPermission + globals()['UserPermission'] = UserPermission + + +class FactPermissions(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 { + 'rules': ([RulePermission],), # noqa: E501 + 'user_groups': ([UserGroupPermission],), # noqa: E501 + 'users': ([UserPermission],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'rules': 'rules', # noqa: E501 + 'user_groups': 'userGroups', # noqa: E501 + 'users': 'users', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, rules, user_groups, users, *args, **kwargs): # noqa: E501 + """FactPermissions - a model defined in OpenAPI + + Args: + rules ([RulePermission]): List of rules + user_groups ([UserGroupPermission]): List of user groups + users ([UserPermission]): List of users + + 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.rules = rules + self.user_groups = user_groups + self.users = users + 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, rules, user_groups, users, *args, **kwargs): # noqa: E501 + """FactPermissions - a model defined in OpenAPI + + Args: + rules ([RulePermission]): List of rules + user_groups ([UserGroupPermission]): List of user groups + users ([UserPermission]): List of users + + 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.rules = rules + self.user_groups = user_groups + self.users = users + 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/fact_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/model/fact_permissions_assignment.py new file mode 100644 index 000000000..e3915bd8e --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/fact_permissions_assignment.py @@ -0,0 +1,275 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class FactPermissionsAssignment(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 + """FactPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([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.permissions = permissions + 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, permissions, *args, **kwargs): # noqa: E501 + """FactPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([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.permissions = permissions + 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/fact_permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee.py new file mode 100644 index 000000000..1456c22bf --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee.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.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf + from gooddata_api_client.model.fact_permissions_assignment import FactPermissionsAssignment + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AttributePermissionsForAssigneeAllOf'] = AttributePermissionsForAssigneeAllOf + globals()['FactPermissionsAssignment'] = FactPermissionsAssignment + + +class FactPermissionsForAssignee(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """FactPermissionsForAssignee - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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 + """FactPermissionsForAssignee - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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': [ + AttributePermissionsForAssigneeAllOf, + FactPermissionsAssignment, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee_rule.py new file mode 100644 index 000000000..93809304b --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/fact_permissions_for_assignee_rule.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.assignee_rule import AssigneeRule + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf + from gooddata_api_client.model.fact_permissions_assignment import FactPermissionsAssignment + globals()['AssigneeRule'] = AssigneeRule + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf + globals()['FactPermissionsAssignment'] = FactPermissionsAssignment + + +class FactPermissionsForAssigneeRule(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """FactPermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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 + """FactPermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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': [ + AttributePermissionsForAssigneeRuleAllOf, + FactPermissionsAssignment, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/label_permissions.py b/gooddata-api-client/gooddata_api_client/model/label_permissions.py new file mode 100644 index 000000000..5f8f65f67 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/label_permissions.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.rule_permission import RulePermission + from gooddata_api_client.model.user_group_permission import UserGroupPermission + from gooddata_api_client.model.user_permission import UserPermission + globals()['RulePermission'] = RulePermission + globals()['UserGroupPermission'] = UserGroupPermission + globals()['UserPermission'] = UserPermission + + +class LabelPermissions(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 { + 'rules': ([RulePermission],), # noqa: E501 + 'user_groups': ([UserGroupPermission],), # noqa: E501 + 'users': ([UserPermission],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'rules': 'rules', # noqa: E501 + 'user_groups': 'userGroups', # noqa: E501 + 'users': 'users', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, rules, user_groups, users, *args, **kwargs): # noqa: E501 + """LabelPermissions - a model defined in OpenAPI + + Args: + rules ([RulePermission]): List of rules + user_groups ([UserGroupPermission]): List of user groups + users ([UserPermission]): List of users + + 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.rules = rules + self.user_groups = user_groups + self.users = users + 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, rules, user_groups, users, *args, **kwargs): # noqa: E501 + """LabelPermissions - a model defined in OpenAPI + + Args: + rules ([RulePermission]): List of rules + user_groups ([UserGroupPermission]): List of user groups + users ([UserPermission]): List of users + + 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.rules = rules + self.user_groups = user_groups + self.users = users + 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/label_permissions_assignment.py b/gooddata-api-client/gooddata_api_client/model/label_permissions_assignment.py new file mode 100644 index 000000000..3ac0e6ed1 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/label_permissions_assignment.py @@ -0,0 +1,275 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class LabelPermissionsAssignment(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, permissions, *args, **kwargs): # noqa: E501 + """LabelPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([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.permissions = permissions + 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, permissions, *args, **kwargs): # noqa: E501 + """LabelPermissionsAssignment - a model defined in OpenAPI + + Args: + permissions ([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.permissions = permissions + 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/label_permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee.py new file mode 100644 index 000000000..67878b1cf --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee.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.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf + from gooddata_api_client.model.label_permissions_assignment import LabelPermissionsAssignment + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AttributePermissionsForAssigneeAllOf'] = AttributePermissionsForAssigneeAllOf + globals()['LabelPermissionsAssignment'] = LabelPermissionsAssignment + + +class LabelPermissionsForAssignee(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """LabelPermissionsForAssignee - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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 + """LabelPermissionsForAssignee - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_identifier (AssigneeIdentifier): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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': [ + AttributePermissionsForAssigneeAllOf, + LabelPermissionsAssignment, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee_rule.py new file mode 100644 index 000000000..1ae57d993 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/label_permissions_for_assignee_rule.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.assignee_rule import AssigneeRule + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf + from gooddata_api_client.model.label_permissions_assignment import LabelPermissionsAssignment + globals()['AssigneeRule'] = AssigneeRule + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf + globals()['LabelPermissionsAssignment'] = LabelPermissionsAssignment + + +class LabelPermissionsForAssigneeRule(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """LabelPermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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 + """LabelPermissionsForAssigneeRule - a model defined in OpenAPI + + Keyword Args: + permissions ([str]): + assignee_rule (AssigneeRule): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + 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': [ + AttributePermissionsForAssigneeRuleAllOf, + LabelPermissionsAssignment, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/manage_attribute_permissions_request_inner.py b/gooddata-api-client/gooddata_api_client/model/manage_attribute_permissions_request_inner.py index 19cdd1e42..0971a8425 100644 --- a/gooddata-api-client/gooddata_api_client/model/manage_attribute_permissions_request_inner.py +++ b/gooddata-api-client/gooddata_api_client/model/manage_attribute_permissions_request_inner.py @@ -33,12 +33,12 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier from gooddata_api_client.model.assignee_rule import AssigneeRule - from gooddata_api_client.model.ldm_object_permissions_for_assignee import LdmObjectPermissionsForAssignee - from gooddata_api_client.model.ldm_object_permissions_for_assignee_rule import LdmObjectPermissionsForAssigneeRule + from gooddata_api_client.model.attribute_permissions_for_assignee import AttributePermissionsForAssignee + from gooddata_api_client.model.attribute_permissions_for_assignee_rule import AttributePermissionsForAssigneeRule globals()['AssigneeIdentifier'] = AssigneeIdentifier globals()['AssigneeRule'] = AssigneeRule - globals()['LdmObjectPermissionsForAssignee'] = LdmObjectPermissionsForAssignee - globals()['LdmObjectPermissionsForAssigneeRule'] = LdmObjectPermissionsForAssigneeRule + globals()['AttributePermissionsForAssignee'] = AttributePermissionsForAssignee + globals()['AttributePermissionsForAssigneeRule'] = AttributePermissionsForAssigneeRule class ManageAttributePermissionsRequestInner(ModelComposed): @@ -334,7 +334,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ - LdmObjectPermissionsForAssignee, - LdmObjectPermissionsForAssigneeRule, + AttributePermissionsForAssignee, + AttributePermissionsForAssigneeRule, ], } diff --git a/gooddata-api-client/gooddata_api_client/model/manage_fact_permissions_request_inner.py b/gooddata-api-client/gooddata_api_client/model/manage_fact_permissions_request_inner.py new file mode 100644 index 000000000..495b19387 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/manage_fact_permissions_request_inner.py @@ -0,0 +1,340 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.fact_permissions_for_assignee import FactPermissionsForAssignee + from gooddata_api_client.model.fact_permissions_for_assignee_rule import FactPermissionsForAssigneeRule + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AssigneeRule'] = AssigneeRule + globals()['FactPermissionsForAssignee'] = FactPermissionsForAssignee + globals()['FactPermissionsForAssigneeRule'] = FactPermissionsForAssigneeRule + + +class ManageFactPermissionsRequestInner(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ManageFactPermissionsRequestInner - 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,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [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 + """ManageFactPermissionsRequestInner - 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,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [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': [ + FactPermissionsForAssignee, + FactPermissionsForAssigneeRule, + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/manage_label_permissions_request_inner.py b/gooddata-api-client/gooddata_api_client/model/manage_label_permissions_request_inner.py new file mode 100644 index 000000000..4e052a0e5 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/manage_label_permissions_request_inner.py @@ -0,0 +1,340 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.label_permissions_for_assignee import LabelPermissionsForAssignee + from gooddata_api_client.model.label_permissions_for_assignee_rule import LabelPermissionsForAssigneeRule + globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AssigneeRule'] = AssigneeRule + globals()['LabelPermissionsForAssignee'] = LabelPermissionsForAssignee + globals()['LabelPermissionsForAssigneeRule'] = LabelPermissionsForAssigneeRule + + +class ManageLabelPermissionsRequestInner(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 = { + ('permissions',): { + 'EDIT': "EDIT", + 'SHARE': "SHARE", + 'VIEW': "VIEW", + }, + } + + 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 { + 'permissions': ([str],), # noqa: E501 + 'assignee_identifier': (AssigneeIdentifier,), # noqa: E501 + 'assignee_rule': (AssigneeRule,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'permissions': 'permissions', # noqa: E501 + 'assignee_identifier': 'assigneeIdentifier', # noqa: E501 + 'assignee_rule': 'assigneeRule', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ManageLabelPermissionsRequestInner - 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,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [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 + """ManageLabelPermissionsRequestInner - 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,) + permissions ([str]): [optional] # noqa: E501 + assignee_identifier (AssigneeIdentifier): [optional] # noqa: E501 + assignee_rule (AssigneeRule): [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': [ + LabelPermissionsForAssignee, + LabelPermissionsForAssigneeRule, + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee.py index 45802eae4..80412cd63 100644 --- a/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee.py +++ b/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee.py @@ -32,10 +32,10 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier - from gooddata_api_client.model.ldm_object_permissions_for_assignee_all_of import LdmObjectPermissionsForAssigneeAllOf + from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf from gooddata_api_client.model.metric_permissions_assignment import MetricPermissionsAssignment globals()['AssigneeIdentifier'] = AssigneeIdentifier - globals()['LdmObjectPermissionsForAssigneeAllOf'] = LdmObjectPermissionsForAssigneeAllOf + globals()['AttributePermissionsForAssigneeAllOf'] = AttributePermissionsForAssigneeAllOf globals()['MetricPermissionsAssignment'] = MetricPermissionsAssignment @@ -326,7 +326,7 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - LdmObjectPermissionsForAssigneeAllOf, + AttributePermissionsForAssigneeAllOf, MetricPermissionsAssignment, ], 'oneOf': [ diff --git a/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee_rule.py index 25cc32d44..0a65ee4cc 100644 --- a/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee_rule.py +++ b/gooddata-api-client/gooddata_api_client/model/metric_permissions_for_assignee_rule.py @@ -32,10 +32,10 @@ def lazy_import(): from gooddata_api_client.model.assignee_rule import AssigneeRule - from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf from gooddata_api_client.model.metric_permissions_assignment import MetricPermissionsAssignment globals()['AssigneeRule'] = AssigneeRule - globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf globals()['MetricPermissionsAssignment'] = MetricPermissionsAssignment @@ -326,7 +326,7 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, + AttributePermissionsForAssigneeRuleAllOf, MetricPermissionsAssignment, ], 'oneOf': [ diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py index f64edfdb5..36402e072 100644 --- a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee.py @@ -32,11 +32,11 @@ def lazy_import(): from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier + from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment - from gooddata_api_client.model.ldm_object_permissions_for_assignee_all_of import LdmObjectPermissionsForAssigneeAllOf globals()['AssigneeIdentifier'] = AssigneeIdentifier + globals()['AttributePermissionsForAssigneeAllOf'] = AttributePermissionsForAssigneeAllOf globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment - globals()['LdmObjectPermissionsForAssigneeAllOf'] = LdmObjectPermissionsForAssigneeAllOf class PermissionsForAssignee(ModelComposed): @@ -326,8 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ + AttributePermissionsForAssigneeAllOf, DashboardPermissionsAssignment, - LdmObjectPermissionsForAssigneeAllOf, ], 'oneOf': [ ], diff --git a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py index 320b6cb96..b7249013c 100644 --- a/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py +++ b/gooddata-api-client/gooddata_api_client/model/permissions_for_assignee_rule.py @@ -32,11 +32,11 @@ def lazy_import(): from gooddata_api_client.model.assignee_rule import AssigneeRule + from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf from gooddata_api_client.model.dashboard_permissions_assignment import DashboardPermissionsAssignment - from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf globals()['AssigneeRule'] = AssigneeRule + globals()['AttributePermissionsForAssigneeRuleAllOf'] = AttributePermissionsForAssigneeRuleAllOf globals()['DashboardPermissionsAssignment'] = DashboardPermissionsAssignment - globals()['DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf'] = DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf class PermissionsForAssigneeRule(ModelComposed): @@ -326,8 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ + AttributePermissionsForAssigneeRuleAllOf, DashboardPermissionsAssignment, - DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf, ], 'oneOf': [ ], diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py index 254b4f398..ef80a4c8e 100644 --- a/gooddata-api-client/gooddata_api_client/models/__init__.py +++ b/gooddata-api-client/gooddata_api_client/models/__init__.py @@ -90,6 +90,12 @@ from gooddata_api_client.model.attribute_item import AttributeItem from gooddata_api_client.model.attribute_negative_filter import AttributeNegativeFilter from gooddata_api_client.model.attribute_negative_filter_all_of import AttributeNegativeFilterAllOf +from gooddata_api_client.model.attribute_permissions import AttributePermissions +from gooddata_api_client.model.attribute_permissions_assignment import AttributePermissionsAssignment +from gooddata_api_client.model.attribute_permissions_for_assignee import AttributePermissionsForAssignee +from gooddata_api_client.model.attribute_permissions_for_assignee_all_of import AttributePermissionsForAssigneeAllOf +from gooddata_api_client.model.attribute_permissions_for_assignee_rule import AttributePermissionsForAssigneeRule +from gooddata_api_client.model.attribute_permissions_for_assignee_rule_all_of import AttributePermissionsForAssigneeRuleAllOf from gooddata_api_client.model.attribute_positive_filter import AttributePositiveFilter from gooddata_api_client.model.attribute_positive_filter_all_of import AttributePositiveFilterAllOf from gooddata_api_client.model.attribute_result_header import AttributeResultHeader @@ -231,7 +237,6 @@ from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee import DeclarativeAnalyticalDashboardPermissionForAssignee from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeAllOf from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule import DeclarativeAnalyticalDashboardPermissionForAssigneeRule -from gooddata_api_client.model.declarative_analytical_dashboard_permission_for_assignee_rule_all_of import DeclarativeAnalyticalDashboardPermissionForAssigneeRuleAllOf from gooddata_api_client.model.declarative_analytical_dashboard_permissions_inner import DeclarativeAnalyticalDashboardPermissionsInner from gooddata_api_client.model.declarative_analytics import DeclarativeAnalytics from gooddata_api_client.model.declarative_analytics_layer import DeclarativeAnalyticsLayer @@ -357,6 +362,10 @@ from gooddata_api_client.model.export_request import ExportRequest from gooddata_api_client.model.export_response import ExportResponse from gooddata_api_client.model.export_result import ExportResult +from gooddata_api_client.model.fact_permissions import FactPermissions +from gooddata_api_client.model.fact_permissions_assignment import FactPermissionsAssignment +from gooddata_api_client.model.fact_permissions_for_assignee import FactPermissionsForAssignee +from gooddata_api_client.model.fact_permissions_for_assignee_rule import FactPermissionsForAssigneeRule from gooddata_api_client.model.failed_operation import FailedOperation from gooddata_api_client.model.failed_operation_all_of import FailedOperationAllOf from gooddata_api_client.model.feature_flags_context import FeatureFlagsContext @@ -1119,11 +1128,10 @@ from gooddata_api_client.model.key_drivers_response import KeyDriversResponse from gooddata_api_client.model.key_drivers_result import KeyDriversResult from gooddata_api_client.model.label_identifier import LabelIdentifier -from gooddata_api_client.model.ldm_object_permissions import LdmObjectPermissions -from gooddata_api_client.model.ldm_object_permissions_assignment import LdmObjectPermissionsAssignment -from gooddata_api_client.model.ldm_object_permissions_for_assignee import LdmObjectPermissionsForAssignee -from gooddata_api_client.model.ldm_object_permissions_for_assignee_all_of import LdmObjectPermissionsForAssigneeAllOf -from gooddata_api_client.model.ldm_object_permissions_for_assignee_rule import LdmObjectPermissionsForAssigneeRule +from gooddata_api_client.model.label_permissions import LabelPermissions +from gooddata_api_client.model.label_permissions_assignment import LabelPermissionsAssignment +from gooddata_api_client.model.label_permissions_for_assignee import LabelPermissionsForAssignee +from gooddata_api_client.model.label_permissions_for_assignee_rule import LabelPermissionsForAssigneeRule from gooddata_api_client.model.list_links import ListLinks from gooddata_api_client.model.list_links_all_of import ListLinksAllOf from gooddata_api_client.model.list_llm_provider_models_request import ListLlmProviderModelsRequest @@ -1137,6 +1145,8 @@ from gooddata_api_client.model.locale_request import LocaleRequest from gooddata_api_client.model.manage_attribute_permissions_request_inner import ManageAttributePermissionsRequestInner from gooddata_api_client.model.manage_dashboard_permissions_request_inner import ManageDashboardPermissionsRequestInner +from gooddata_api_client.model.manage_fact_permissions_request_inner import ManageFactPermissionsRequestInner +from gooddata_api_client.model.manage_label_permissions_request_inner import ManageLabelPermissionsRequestInner from gooddata_api_client.model.manage_metric_permissions_request_inner import ManageMetricPermissionsRequestInner from gooddata_api_client.model.match_attribute_filter import MatchAttributeFilter from gooddata_api_client.model.match_attribute_filter_match_attribute_filter import MatchAttributeFilterMatchAttributeFilter diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json index 3a1b8b74f..32471be91 100644 --- a/schemas/gooddata-api-client.json +++ b/schemas/gooddata-api-client.json @@ -1961,6 +1961,99 @@ ], "type": "object" }, + "AttributePermissions": { + "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, + "userGroups": { + "description": "List of user groups", + "items": { + "$ref": "#/components/schemas/UserGroupPermission" + }, + "type": "array" + }, + "users": { + "description": "List of users", + "items": { + "$ref": "#/components/schemas/UserPermission" + }, + "type": "array" + } + }, + "required": [ + "rules", + "userGroups", + "users" + ], + "type": "object" + }, + "AttributePermissionsAssignment": { + "description": "Desired levels of permissions on an attribute for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, + "AttributePermissionsForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/AttributePermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Desired levels of attribute permissions for an assignee identified by an identifier.", + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, + "AttributePermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/AttributePermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of attribute permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "AttributePositiveFilter": { "allOf": [ { @@ -10526,6 +10619,99 @@ ], "type": "object" }, + "FactPermissions": { + "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, + "userGroups": { + "description": "List of user groups", + "items": { + "$ref": "#/components/schemas/UserGroupPermission" + }, + "type": "array" + }, + "users": { + "description": "List of users", + "items": { + "$ref": "#/components/schemas/UserPermission" + }, + "type": "array" + } + }, + "required": [ + "rules", + "userGroups", + "users" + ], + "type": "object" + }, + "FactPermissionsAssignment": { + "description": "Desired levels of permissions on a fact for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, + "FactPermissionsForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/FactPermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Desired levels of fact permissions for an assignee identified by an identifier.", + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, + "FactPermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/FactPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of fact permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "FailedOperation": { "allOf": [ { @@ -32102,7 +32288,7 @@ ], "type": "object" }, - "LdmObjectPermissions": { + "LabelPermissions": { "properties": { "rules": { "description": "List of rules", @@ -32133,8 +32319,8 @@ ], "type": "object" }, - "LdmObjectPermissionsAssignment": { - "description": "Desired levels of permissions on an LDM object (attribute, label, fact) for an assignee.", + "LabelPermissionsAssignment": { + "description": "Desired levels of permissions on a label for an assignee.", "properties": { "permissions": { "items": { @@ -32153,10 +32339,10 @@ ], "type": "object" }, - "LdmObjectPermissionsForAssignee": { + "LabelPermissionsForAssignee": { "allOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsAssignment" + "$ref": "#/components/schemas/LabelPermissionsAssignment" }, { "properties": { @@ -32167,17 +32353,17 @@ "type": "object" } ], - "description": "Desired levels of LDM-object permissions for an assignee identified by an identifier.", + "description": "Desired levels of label permissions for an assignee identified by an identifier.", "required": [ "assigneeIdentifier", "permissions" ], "type": "object" }, - "LdmObjectPermissionsForAssigneeRule": { + "LabelPermissionsForAssigneeRule": { "allOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsAssignment" + "$ref": "#/components/schemas/LabelPermissionsAssignment" }, { "properties": { @@ -32188,7 +32374,7 @@ "type": "object" } ], - "description": "Desired levels of LDM-object permissions for a collection of assignees identified by a rule.", + "description": "Desired levels of label permissions for a collection of assignees identified by a rule.", "required": [ "assigneeRule", "permissions" @@ -42728,10 +42914,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/AttributePermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/AttributePermissionsForAssigneeRule" } ] }, @@ -42780,7 +42966,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/AttributePermissions" } } }, @@ -45602,10 +45788,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/FactPermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/FactPermissionsForAssigneeRule" } ] }, @@ -45654,7 +45840,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/FactPermissions" } } }, @@ -45781,10 +45967,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/LabelPermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/LabelPermissionsForAssigneeRule" } ] }, @@ -45833,7 +46019,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/LabelPermissions" } } }, diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json index 3c909d82d..b02ec2d80 100644 --- a/schemas/gooddata-metadata-client.json +++ b/schemas/gooddata-metadata-client.json @@ -1120,6 +1120,99 @@ ], "type": "object" }, + "AttributePermissions": { + "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, + "userGroups": { + "description": "List of user groups", + "items": { + "$ref": "#/components/schemas/UserGroupPermission" + }, + "type": "array" + }, + "users": { + "description": "List of users", + "items": { + "$ref": "#/components/schemas/UserPermission" + }, + "type": "array" + } + }, + "required": [ + "rules", + "userGroups", + "users" + ], + "type": "object" + }, + "AttributePermissionsAssignment": { + "description": "Desired levels of permissions on an attribute for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, + "AttributePermissionsForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/AttributePermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Desired levels of attribute permissions for an assignee identified by an identifier.", + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, + "AttributePermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/AttributePermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of attribute permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "AutomationAlert": { "properties": { "condition": { @@ -7223,6 +7316,99 @@ ], "type": "object" }, + "FactPermissions": { + "properties": { + "rules": { + "description": "List of rules", + "items": { + "$ref": "#/components/schemas/RulePermission" + }, + "type": "array" + }, + "userGroups": { + "description": "List of user groups", + "items": { + "$ref": "#/components/schemas/UserGroupPermission" + }, + "type": "array" + }, + "users": { + "description": "List of users", + "items": { + "$ref": "#/components/schemas/UserPermission" + }, + "type": "array" + } + }, + "required": [ + "rules", + "userGroups", + "users" + ], + "type": "object" + }, + "FactPermissionsAssignment": { + "description": "Desired levels of permissions on a fact for an assignee.", + "properties": { + "permissions": { + "items": { + "enum": [ + "EDIT", + "SHARE", + "VIEW" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "permissions" + ], + "type": "object" + }, + "FactPermissionsForAssignee": { + "allOf": [ + { + "$ref": "#/components/schemas/FactPermissionsAssignment" + }, + { + "properties": { + "assigneeIdentifier": { + "$ref": "#/components/schemas/AssigneeIdentifier" + } + }, + "type": "object" + } + ], + "description": "Desired levels of fact permissions for an assignee identified by an identifier.", + "required": [ + "assigneeIdentifier", + "permissions" + ], + "type": "object" + }, + "FactPermissionsForAssigneeRule": { + "allOf": [ + { + "$ref": "#/components/schemas/FactPermissionsAssignment" + }, + { + "properties": { + "assigneeRule": { + "$ref": "#/components/schemas/AssigneeRule" + } + }, + "type": "object" + } + ], + "description": "Desired levels of fact permissions for a collection of assignees identified by a rule.", + "required": [ + "assigneeRule", + "permissions" + ], + "type": "object" + }, "FeatureFlagsContext": { "properties": { "earlyAccess": { @@ -27570,7 +27756,7 @@ ], "type": "object" }, - "LdmObjectPermissions": { + "LabelPermissions": { "properties": { "rules": { "description": "List of rules", @@ -27601,8 +27787,8 @@ ], "type": "object" }, - "LdmObjectPermissionsAssignment": { - "description": "Desired levels of permissions on an LDM object (attribute, label, fact) for an assignee.", + "LabelPermissionsAssignment": { + "description": "Desired levels of permissions on a label for an assignee.", "properties": { "permissions": { "items": { @@ -27621,10 +27807,10 @@ ], "type": "object" }, - "LdmObjectPermissionsForAssignee": { + "LabelPermissionsForAssignee": { "allOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsAssignment" + "$ref": "#/components/schemas/LabelPermissionsAssignment" }, { "properties": { @@ -27635,17 +27821,17 @@ "type": "object" } ], - "description": "Desired levels of LDM-object permissions for an assignee identified by an identifier.", + "description": "Desired levels of label permissions for an assignee identified by an identifier.", "required": [ "assigneeIdentifier", "permissions" ], "type": "object" }, - "LdmObjectPermissionsForAssigneeRule": { + "LabelPermissionsForAssigneeRule": { "allOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsAssignment" + "$ref": "#/components/schemas/LabelPermissionsAssignment" }, { "properties": { @@ -27656,7 +27842,7 @@ "type": "object" } ], - "description": "Desired levels of LDM-object permissions for a collection of assignees identified by a rule.", + "description": "Desired levels of label permissions for a collection of assignees identified by a rule.", "required": [ "assigneeRule", "permissions" @@ -32558,10 +32744,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/AttributePermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/AttributePermissionsForAssigneeRule" } ] }, @@ -32610,7 +32796,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/AttributePermissions" } } }, @@ -32997,10 +33183,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/FactPermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/FactPermissionsForAssigneeRule" } ] }, @@ -33049,7 +33235,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/FactPermissions" } } }, @@ -33176,10 +33362,10 @@ "items": { "oneOf": [ { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssignee" + "$ref": "#/components/schemas/LabelPermissionsForAssignee" }, { - "$ref": "#/components/schemas/LdmObjectPermissionsForAssigneeRule" + "$ref": "#/components/schemas/LabelPermissionsForAssigneeRule" } ] }, @@ -33228,7 +33414,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LdmObjectPermissions" + "$ref": "#/components/schemas/LabelPermissions" } } },