Skip to content

feat(gooddata-sdk): [AUTO] Add AiWorkspaceLimit, AiWorkspaceCount and ENABLE_PARTIAL_DATA_RESULTS#1618

Open
yenkins-admin wants to merge 1 commit into
masterfrom
auto/openapi-sync-C006-20260518-r23245
Open

feat(gooddata-sdk): [AUTO] Add AiWorkspaceLimit, AiWorkspaceCount and ENABLE_PARTIAL_DATA_RESULTS#1618
yenkins-admin wants to merge 1 commit into
masterfrom
auto/openapi-sync-C006-20260518-r23245

Conversation

@yenkins-admin
Copy link
Copy Markdown
Contributor

Summary

Added three new enum values from the OpenAPI diff to the generated API client models: AiWorkspaceLimit to ApiEntitlement and EntitlementsRequest, ENABLE_PARTIAL_DATA_RESULTS to DeclarativeSetting / JsonApiOrganizationSettingInAttributes / ResolvedSetting, and AiWorkspaceCount to PlatformUsage and PlatformUsageRequest. Also fixed two pre-existing ty 0.0.37 regressions (pyarrow unresolved-import via pyproject.toml, EmptyValueHandling instance-variable annotations in filter.py) so the full validation gate exits 0.

Impact: enum_addition | Services: gooddata-metadata-client

Source commits (gdc-nas):

  • ed51dbd by Marcelo G. Almiron — feat: add AI workspace limit enforcement

Files changed

  • gooddata-api-client/gooddata_api_client/model/api_entitlement.py
  • gooddata-api-client/gooddata_api_client/model/entitlements_request.py
  • gooddata-api-client/gooddata_api_client/model/declarative_setting.py
  • gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py
  • gooddata-api-client/gooddata_api_client/model/resolved_setting.py
  • gooddata-api-client/gooddata_api_client/model/platform_usage.py
  • gooddata-api-client/gooddata_api_client/model/platform_usage_request.py
  • packages/gooddata-sdk/pyproject.toml
  • packages/gooddata-sdk/src/gooddata_sdk/compute/model/filter.py

Agent decisions

Decisions (3)

updating auto-generated API client models — Directly update allowed_values dicts in gooddata-api-client/ model files

  • Alternatives: Remove value_in_allowed validators from SDK wrapper, Maintain a separate SDK-side allowed-values list
  • Why: The SDK wrapper's value_in_allowed reads allowed_values from the API client at runtime. Without updating those dicts, CatalogDeclarativeSetting would reject ENABLE_PARTIAL_DATA_RESULTS. Updating them mirrors what the OpenAPI generator would produce after regeneration.

no new tests for enum_addition — No new tests added

  • Alternatives: Parametrized unit test asserting new values pass value_in_allowed, Integration test using new setting type
  • Why: No existing test enumerates setting types, entitlement names, or usage names. A test asserting a new string is in an allowed list is the argument-mirror anti-pattern; the validator itself is already exercised by other tests.

pre-existing ty 0.0.37 failures — Fix filter.py EmptyValueHandling annotations and add pyarrow to allowed-unresolved-imports

  • Alternatives: Set status=error, Add per-file ty ignores
  • Why: ty 0.0.37 (installed) is stricter than the ~=0.0.14 pin; gate requires exit 0. Explicit type annotations and extending allowed-unresolved-imports is the minimal surgical fix.
Assumptions to verify (3)
  • The API client 'Do not modify' instruction refers to not adding hand-crafted custom logic, not to blocking enum list updates that mirror the regenerated spec.
  • CatalogWorkspaceSetting.setting_type validator does not enforce the enum (attribute name 'setting_type' vs client key 'type') — pre-existing quirk.
  • pyarrow warnings (unused # type: ignore) are benign; they do not affect exit code.
Layers touched (1)
  • entity_model — allowed_values dicts updated to include the three new OpenAPI enum values
    • gooddata-api-client/gooddata_api_client/model/api_entitlement.py
    • gooddata-api-client/gooddata_api_client/model/entitlements_request.py
    • gooddata-api-client/gooddata_api_client/model/declarative_setting.py
    • gooddata-api-client/gooddata_api_client/model/json_api_organization_setting_in_attributes.py
    • gooddata-api-client/gooddata_api_client/model/resolved_setting.py
    • gooddata-api-client/gooddata_api_client/model/platform_usage.py
    • gooddata-api-client/gooddata_api_client/model/platform_usage_request.py
OpenAPI diff
--- a/gooddata-metadata-client.json
+++ b/gooddata-metadata-client.json
@@ -596,7 +658,8 @@
               "AiModule",
               "AiQueryLimit",
               "AiKnowledgeStorageLimit",
-              "AiAgentLimit"
+              "AiAgentLimit",
+              "AiWorkspaceLimit"
             ],
             "type": "string"
@@ -5283,6 +5346,7 @@
               "SORT_COLLATION",
               "METRIC_FORMAT_OVERRIDE",
               "ENABLE_AI_ON_DATA",
+              "ENABLE_PARTIAL_DATA_RESULTS",
               "API_ENTITIES_DEFAULT_CONTENT_MEDIA_TYPE",
@@ -25924,7 +26201,8 @@
           "name": {
             "enum": [
               "UserCount",
-              "WorkspaceCount"
+              "WorkspaceCount",
+              "AiWorkspaceCount"
             ],
             "type": "string"
           }

Workflow run


Generated by SDK OpenAPI Sync workflow

@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.01%. Comparing base (38b0798) to head (b1f62f2).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1618   +/-   ##
=======================================
  Coverage   79.01%   79.01%           
=======================================
  Files         231      231           
  Lines       15619    15619           
=======================================
  Hits        12341    12341           
  Misses       3278     3278           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant