feat(gooddata-sdk): [AUTO] Add AI Lake deprovision endpoint, Operation types and service wrapper#1348
Open
yenkins-admin wants to merge 1 commit intomasterfrom
Open
Conversation
…n types and service wrapper Adds AiLakeService wrapper exposing provision, deprovision and get operations for AI Lake database instances. Introduces OperationKind TypeAlias and CatalogOperation hierarchy (Pending/Succeeded/Failed) wrapping the discriminator-based API models. Wires GoodDataSdk.ai_lake property. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add SDK wrapper for AI Lake database instance management: deprovision endpoint, typed OperationKind, and Operation polymorphic models.
P003 | https://github.com/gooddata/gdc-nas/actions/runs/22179401494
What changed in gdc-nas
Three commits under CQ-1887 built the AI Lake database instance management REST API in
afm-exec-api:ca01543— AddedDELETE /api/v1/ailake/database/instance/{instanceId}deprovision endpoint,OperationKindenum replacing hardcoded'provision'strings,DeprovisionDatabasegRPC RPC method, deprovisioning task worker, andDeprovisionDatabaseInstanceRequestKotlin model.b772d3e— RefactoredOperationfrom a sealed class to a sealed interface; removed redundantstatusfields fromPendingOperation,SucceededOperation,FailedOperationsub-types; switched to discriminator-based polymorphism via@Schema discriminatorMapping.e87235d— Added optionaloperation-idrequest header on bothPOSTandDELETEendpoints for idempotency; wiredProvisionDatabaseInstanceRequestmodel withnameandstorageIdsfields; proto updated withoperation_namefield (field 30) on both request types.What was implemented in SDK
Created a new
ai_lakepackage undergooddata-sdkexposing a full service wrapper for all three AI Lake API methods (provision, deprovision, get):OperationKindTypeAlias(Literal['provision-database', 'deprovision-database']) for type safetyCatalogOperationhierarchy:CatalogPendingOperation,CatalogSucceededOperation(nullableresultfor delete ops),CatalogFailedOperation,CatalogOperationErrorCatalogProvisionDatabaseInstanceRequestdataclass withas_api_model()conversionAiLakeServicewrappingAILakeApiwithprovision_database_instance,deprovision_database_instance,get_database_instance, andget_operationmethodsGoodDataSdk.ai_lakeproperty exposingAiLakeServiceOperationdiscriminator subtypes and the nullable result caseFiles modified
packages/gooddata-sdk/src/gooddata_sdk/catalog/ai_lake/__init__.pypackages/gooddata-sdk/src/gooddata_sdk/catalog/ai_lake/model.pypackages/gooddata-sdk/src/gooddata_sdk/catalog/ai_lake/service.pypackages/gooddata-sdk/src/gooddata_sdk/catalog/__init__.pypackages/gooddata-sdk/src/gooddata_sdk/__init__.pypackages/gooddata-sdk/src/gooddata_sdk/sdk.pypackages/gooddata-sdk/tests/catalog/test_ai_lake.pyJIRA: DX (to be assigned — Jira sandbox temporarily unavailable at time of delivery)
Risk: Low