@databricks/sdk-postgres 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["pkgJson.version","AUTH_VERSION"],"sources":["../../src/v1/client.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport {VERSION as AUTH_VERSION} from '@databricks/sdk-auth';\nimport {createDefault} from '@databricks/sdk-core/clientinfo';\nimport type {Logger} from '@databricks/sdk-core/logger';\nimport {NoOpLogger} from '@databricks/sdk-core/logger';\nimport type {CallOptions} from '@databricks/sdk-options/call';\nimport type {ClientOptions} from '@databricks/sdk-options/client';\nimport type {LroOptions} from '@databricks/sdk-options/lro';\nimport type {ResolvedClientConfig} from './transport';\nimport {resolveClientConfig} from './transport';\nimport {\n buildHttpRequest,\n executeCall,\n executeHttpCall,\n marshalRequest,\n parseResponse,\n executeWait,\n StillRunningError,\n} from './utils';\nimport pkgJson from '../../package.json' with {type: 'json'};\nimport {z} from 'zod';\nimport type {\n Branch,\n BranchOperationMetadata,\n Catalog,\n CatalogOperationMetadata,\n CdfConfig,\n CdfConfigOperationMetadata,\n CdfStatus,\n CreateBranchRequest,\n CreateCatalogRequest,\n CreateCdfConfigRequest,\n CreateDataApiRequest,\n CreateDatabaseRequest,\n CreateEndpointRequest,\n CreateProjectRequest,\n CreateRoleRequest,\n CreateSyncedTableRequest,\n DataApi,\n DataApiOperationMetadata,\n Database,\n DatabaseCredential,\n DatabaseOperationMetadata,\n DeleteBranchRequest,\n DeleteCatalogRequest,\n DeleteCdfConfigRequest,\n DeleteDataApiRequest,\n DeleteDatabaseRequest,\n DeleteEndpointRequest,\n DeleteProjectRequest,\n DeleteRoleRequest,\n DeleteSyncedTableRequest,\n Endpoint,\n EndpointOperationMetadata,\n GenerateDatabaseCredentialRequest,\n GetBranchRequest,\n GetCatalogRequest,\n GetCdfConfigRequest,\n GetCdfStatusRequest,\n GetDataApiRequest,\n GetDatabaseRequest,\n GetEndpointRequest,\n GetOperationRequest,\n GetProjectRequest,\n GetRoleRequest,\n GetSyncedTableRequest,\n ListBranchesRequest,\n ListBranchesResponse,\n ListCdfConfigsRequest,\n ListCdfConfigsResponse,\n ListCdfStatusesRequest,\n ListCdfStatusesResponse,\n ListDatabasesRequest,\n ListDatabasesResponse,\n ListEndpointsRequest,\n ListEndpointsResponse,\n ListProjectsRequest,\n ListProjectsResponse,\n ListRolesRequest,\n ListRolesResponse,\n Operation,\n Project,\n ProjectOperationMetadata,\n Role,\n RoleOperationMetadata,\n SyncedTable,\n SyncedTableOperationMetadata,\n UndeleteBranchRequest,\n UndeleteProjectRequest,\n UpdateBranchRequest,\n UpdateDataApiRequest,\n UpdateDatabaseRequest,\n UpdateEndpointRequest,\n UpdateProjectRequest,\n UpdateRoleRequest,\n} from './model';\nimport {\n marshalBranchSchema,\n marshalCatalogSchema,\n marshalCdfConfigSchema,\n marshalDataApiSchema,\n marshalDatabaseSchema,\n marshalEndpointSchema,\n marshalGenerateDatabaseCredentialRequestSchema,\n marshalProjectSchema,\n marshalRoleSchema,\n marshalSyncedTableSchema,\n marshalUndeleteBranchRequestSchema,\n marshalUndeleteProjectRequestSchema,\n unmarshalBranchOperationMetadataSchema,\n unmarshalBranchSchema,\n unmarshalCatalogOperationMetadataSchema,\n unmarshalCatalogSchema,\n unmarshalCdfConfigOperationMetadataSchema,\n unmarshalCdfConfigSchema,\n unmarshalCdfStatusSchema,\n unmarshalDataApiOperationMetadataSchema,\n unmarshalDataApiSchema,\n unmarshalDatabaseCredentialSchema,\n unmarshalDatabaseOperationMetadataSchema,\n unmarshalDatabaseSchema,\n unmarshalEndpointOperationMetadataSchema,\n unmarshalEndpointSchema,\n unmarshalListBranchesResponseSchema,\n unmarshalListCdfConfigsResponseSchema,\n unmarshalListCdfStatusesResponseSchema,\n unmarshalListDatabasesResponseSchema,\n unmarshalListEndpointsResponseSchema,\n unmarshalListProjectsResponseSchema,\n unmarshalListRolesResponseSchema,\n unmarshalOperationSchema,\n unmarshalProjectOperationMetadataSchema,\n unmarshalProjectSchema,\n unmarshalRoleOperationMetadataSchema,\n unmarshalRoleSchema,\n unmarshalSyncedTableOperationMetadataSchema,\n unmarshalSyncedTableSchema,\n} from './model';\n\n// Package identity segment for this client to be used in the User-Agent header.\nconst PACKAGE_SEGMENT = {\n key: 'sdk-js-' + pkgJson.name.replace(/^@[^/]+\\/sdk-/, ''),\n value: pkgJson.version,\n};\n\nexport class PostgresClient {\n private readonly options: ClientOptions;\n private readonly logger: Logger;\n // User-Agent header value. Composed once at construction from\n // createDefault() merged with this package's identity and the active\n // credential's name.\n private readonly userAgent: string;\n // Memoized configuration. The profile is resolved once, lazily, on the first\n // request, then reused; host, workspaceId/accountId, and credentials are\n // filled from it when not set explicitly on the options.\n private config: Promise<ResolvedClientConfig> | undefined;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.logger = options.logger ?? new NoOpLogger();\n const info = createDefault()\n .with(PACKAGE_SEGMENT)\n .with({key: 'sdk-js-auth', value: AUTH_VERSION})\n .with({key: 'auth', value: options.credentials?.name() ?? 'default'});\n this.userAgent = info.toString();\n }\n\n private resolveConfig(): Promise<ResolvedClientConfig> {\n this.config ??= resolveClientConfig(this.options);\n return this.config;\n }\n\n /** Creates a new database branch in the project. */\n private async createBranchBase(\n req: CreateBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/branches`;\n const params = new URLSearchParams();\n if (req.branchId !== undefined) {\n params.append('branch_id', req.branchId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.branch, marshalBranchSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new database branch in the project. */\n async createBranch(\n req: CreateBranchRequest,\n options?: CallOptions\n ): Promise<CreateBranchOperation> {\n const op = await this.createBranchBase(req, options);\n return new CreateBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Register a Postgres database in the Unity Catalog. */\n private async createCatalogBase(\n req: CreateCatalogRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/catalogs`;\n const params = new URLSearchParams();\n if (req.catalogId !== undefined) {\n params.append('catalog_id', req.catalogId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.catalog, marshalCatalogSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Register a Postgres database in the Unity Catalog. */\n async createCatalog(\n req: CreateCatalogRequest,\n options?: CallOptions\n ): Promise<CreateCatalogOperation> {\n const op = await this.createCatalogBase(req, options);\n return new CreateCatalogOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Create a CDF configuration that materializes the change data feed for all\n * tables in a Postgres schema as open-format Delta tables in Unity Catalog.\n * Once created, each table's change history is continuously written to its\n * corresponding Lakehouse table.\n */\n private async createCdfConfigBase(\n req: CreateCdfConfigRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-configs`;\n const params = new URLSearchParams();\n if (req.cdfConfigId !== undefined) {\n params.append('cdf_config_id', req.cdfConfigId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.cdfConfig, marshalCdfConfigSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Create a CDF configuration that materializes the change data feed for all\n * tables in a Postgres schema as open-format Delta tables in Unity Catalog.\n * Once created, each table's change history is continuously written to its\n * corresponding Lakehouse table.\n */\n async createCdfConfig(\n req: CreateCdfConfigRequest,\n options?: CallOptions\n ): Promise<CreateCdfConfigOperation> {\n const op = await this.createCdfConfigBase(req, options);\n return new CreateCdfConfigOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Enable Data API for a database. */\n private async createDataApiBase(\n req: CreateDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/data-api`;\n const body = marshalRequest(req.dataApi, marshalDataApiSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Enable Data API for a database. */\n async createDataApi(\n req: CreateDataApiRequest,\n options?: CallOptions\n ): Promise<CreateDataApiOperation> {\n const op = await this.createDataApiBase(req, options);\n return new CreateDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Create a Database.\n *\n * Creates a database in the specified branch. A branch can have multiple databases.\n */\n private async createDatabaseBase(\n req: CreateDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/databases`;\n const params = new URLSearchParams();\n if (req.databaseId !== undefined) {\n params.append('database_id', req.databaseId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.database, marshalDatabaseSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Create a Database.\n *\n * Creates a database in the specified branch. A branch can have multiple databases.\n */\n async createDatabase(\n req: CreateDatabaseRequest,\n options?: CallOptions\n ): Promise<CreateDatabaseOperation> {\n const op = await this.createDatabaseBase(req, options);\n return new CreateDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new compute endpoint in the branch. */\n private async createEndpointBase(\n req: CreateEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/endpoints`;\n const params = new URLSearchParams();\n if (req.endpointId !== undefined) {\n params.append('endpoint_id', req.endpointId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.endpoint, marshalEndpointSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new compute endpoint in the branch. */\n async createEndpoint(\n req: CreateEndpointRequest,\n options?: CallOptions\n ): Promise<CreateEndpointOperation> {\n const op = await this.createEndpointBase(req, options);\n return new CreateEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. */\n private async createProjectBase(\n req: CreateProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/projects`;\n const params = new URLSearchParams();\n if (req.projectId !== undefined) {\n params.append('project_id', req.projectId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.project, marshalProjectSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. */\n async createProject(\n req: CreateProjectRequest,\n options?: CallOptions\n ): Promise<CreateProjectOperation> {\n const op = await this.createProjectBase(req, options);\n return new CreateProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new Postgres role in the branch. */\n private async createRoleBase(\n req: CreateRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/roles`;\n const params = new URLSearchParams();\n if (req.roleId !== undefined) {\n params.append('role_id', req.roleId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.role, marshalRoleSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new Postgres role in the branch. */\n async createRole(\n req: CreateRoleRequest,\n options?: CallOptions\n ): Promise<CreateRoleOperation> {\n const op = await this.createRoleBase(req, options);\n return new CreateRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Create a Synced Table. */\n private async createSyncedTableBase(\n req: CreateSyncedTableRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/synced_tables`;\n const params = new URLSearchParams();\n if (req.syncedTableId !== undefined) {\n params.append('synced_table_id', req.syncedTableId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.syncedTable, marshalSyncedTableSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Create a Synced Table. */\n async createSyncedTable(\n req: CreateSyncedTableRequest,\n options?: CallOptions\n ): Promise<CreateSyncedTableOperation> {\n const op = await this.createSyncedTableBase(req, options);\n return new CreateSyncedTableOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified database branch. */\n private async deleteBranchBase(\n req: DeleteBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.purge !== undefined) {\n params.append('purge', String(req.purge));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified database branch. */\n async deleteBranch(\n req: DeleteBranchRequest,\n options?: CallOptions\n ): Promise<DeleteBranchOperation> {\n const op = await this.deleteBranchBase(req, options);\n return new DeleteBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Database Catalog. */\n private async deleteCatalogBase(\n req: DeleteCatalogRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Database Catalog. */\n async deleteCatalog(\n req: DeleteCatalogRequest,\n options?: CallOptions\n ): Promise<DeleteCatalogOperation> {\n const op = await this.deleteCatalogBase(req, options);\n return new DeleteCatalogOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Delete a CDF configuration and stop materializing the change data feed. When\n * force=true, also drops the Delta tables in Unity Catalog. When force=false\n * (default), the existing tables are preserved at their last state.\n */\n private async deleteCdfConfigBase(\n req: DeleteCdfConfigRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.force !== undefined) {\n params.append('force', String(req.force));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Delete a CDF configuration and stop materializing the change data feed. When\n * force=true, also drops the Delta tables in Unity Catalog. When force=false\n * (default), the existing tables are preserved at their last state.\n */\n async deleteCdfConfig(\n req: DeleteCdfConfigRequest,\n options?: CallOptions\n ): Promise<DeleteCdfConfigOperation> {\n const op = await this.deleteCdfConfigBase(req, options);\n return new DeleteCdfConfigOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Disable Data API for a database. */\n private async deleteDataApiBase(\n req: DeleteDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Disable Data API for a database. */\n async deleteDataApi(\n req: DeleteDataApiRequest,\n options?: CallOptions\n ): Promise<DeleteDataApiOperation> {\n const op = await this.deleteDataApiBase(req, options);\n return new DeleteDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Database. */\n private async deleteDatabaseBase(\n req: DeleteDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Database. */\n async deleteDatabase(\n req: DeleteDatabaseRequest,\n options?: CallOptions\n ): Promise<DeleteDatabaseOperation> {\n const op = await this.deleteDatabaseBase(req, options);\n return new DeleteDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified compute endpoint. */\n private async deleteEndpointBase(\n req: DeleteEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified compute endpoint. */\n async deleteEndpoint(\n req: DeleteEndpointRequest,\n options?: CallOptions\n ): Promise<DeleteEndpointOperation> {\n const op = await this.deleteEndpointBase(req, options);\n return new DeleteEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified database project. */\n private async deleteProjectBase(\n req: DeleteProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.purge !== undefined) {\n params.append('purge', String(req.purge));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified database project. */\n async deleteProject(\n req: DeleteProjectRequest,\n options?: CallOptions\n ): Promise<DeleteProjectOperation> {\n const op = await this.deleteProjectBase(req, options);\n return new DeleteProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified Postgres role. */\n private async deleteRoleBase(\n req: DeleteRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.reassignOwnedTo !== undefined) {\n params.append('reassign_owned_to', req.reassignOwnedTo);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified Postgres role. */\n async deleteRole(\n req: DeleteRoleRequest,\n options?: CallOptions\n ): Promise<DeleteRoleOperation> {\n const op = await this.deleteRoleBase(req, options);\n return new DeleteRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Synced Table. */\n private async deleteSyncedTableBase(\n req: DeleteSyncedTableRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Synced Table. */\n async deleteSyncedTable(\n req: DeleteSyncedTableRequest,\n options?: CallOptions\n ): Promise<DeleteSyncedTableOperation> {\n const op = await this.deleteSyncedTableBase(req, options);\n return new DeleteSyncedTableOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Generate OAuth credentials for a Postgres database. */\n async generateDatabaseCredential(\n req: GenerateDatabaseCredentialRequest,\n options?: CallOptions\n ): Promise<DatabaseCredential> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/credentials`;\n const body = marshalRequest(\n req,\n marshalGenerateDatabaseCredentialRequestSchema\n );\n let resp: DatabaseCredential | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDatabaseCredentialSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified database branch. */\n async getBranch(\n req: GetBranchRequest,\n options?: CallOptions\n ): Promise<Branch> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Branch | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalBranchSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Database Catalog. */\n async getCatalog(\n req: GetCatalogRequest,\n options?: CallOptions\n ): Promise<Catalog> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Catalog | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCatalogSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Get a single Lakebase CDF configuration, including the source Postgres\n * schema, target Unity Catalog schema, and the identity under which writes are\n * authorized.\n */\n async getCdfConfig(\n req: GetCdfConfigRequest,\n options?: CallOptions\n ): Promise<CdfConfig> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: CdfConfig | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCdfConfigSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Get the CDF status of a single table within a Lakebase CDF configuration,\n * including its current state and the last committed position in the feed.\n */\n async getCdfStatus(\n req: GetCdfStatusRequest,\n options?: CallOptions\n ): Promise<CdfStatus> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: CdfStatus | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCdfStatusSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get Data API configuration for a database. */\n async getDataApi(\n req: GetDataApiRequest,\n options?: CallOptions\n ): Promise<DataApi> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: DataApi | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDataApiSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Database. */\n async getDatabase(\n req: GetDatabaseRequest,\n options?: CallOptions\n ): Promise<Database> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Database | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDatabaseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified compute endpoint, including its connection details and operational state. */\n async getEndpoint(\n req: GetEndpointRequest,\n options?: CallOptions\n ): Promise<Endpoint> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Endpoint | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalEndpointSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves the status of a long-running operation. */\n private async getOperation(\n req: GetOperationRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified database project. */\n async getProject(\n req: GetProjectRequest,\n options?: CallOptions\n ): Promise<Project> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Project | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalProjectSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified Postgres role, including its authentication method and permissions. */\n async getRole(req: GetRoleRequest, options?: CallOptions): Promise<Role> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Role | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalRoleSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Synced Table. */\n async getSyncedTable(\n req: GetSyncedTableRequest,\n options?: CallOptions\n ): Promise<SyncedTable> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: SyncedTable | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalSyncedTableSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Returns a paginated list of database branches in the project. */\n async listBranches(\n req: ListBranchesRequest,\n options?: CallOptions\n ): Promise<ListBranchesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/branches`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.showDeleted !== undefined) {\n params.append('show_deleted', String(req.showDeleted));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListBranchesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListBranchesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listBranchesIter(\n req: ListBranchesRequest,\n options?: CallOptions\n ): AsyncGenerator<Branch> {\n const pageReq: ListBranchesRequest = {...req};\n for (;;) {\n const resp = await this.listBranches(pageReq, options);\n for (const item of resp.branches ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /**\n * List all CDF configurations for a Lakebase database. Each configuration maps\n * a Postgres schema to a Unity Catalog schema where the change data feed is\n * materialized.\n */\n async listCdfConfigs(\n req: ListCdfConfigsRequest,\n options?: CallOptions\n ): Promise<ListCdfConfigsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-configs`;\n const params = new URLSearchParams();\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListCdfConfigsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListCdfConfigsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listCdfConfigsIter(\n req: ListCdfConfigsRequest,\n options?: CallOptions\n ): AsyncGenerator<CdfConfig> {\n const pageReq: ListCdfConfigsRequest = {...req};\n for (;;) {\n const resp = await this.listCdfConfigs(pageReq, options);\n for (const item of resp.cdfConfigs ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /**\n * List the per-table CDF statuses within a Lakebase CDF configuration. Each\n * status shows whether a table's change data feed is snapshotting, streaming,\n * or skipped.\n */\n async listCdfStatuses(\n req: ListCdfStatusesRequest,\n options?: CallOptions\n ): Promise<ListCdfStatusesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-statuses`;\n const params = new URLSearchParams();\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListCdfStatusesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListCdfStatusesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listCdfStatusesIter(\n req: ListCdfStatusesRequest,\n options?: CallOptions\n ): AsyncGenerator<CdfStatus> {\n const pageReq: ListCdfStatusesRequest = {...req};\n for (;;) {\n const resp = await this.listCdfStatuses(pageReq, options);\n for (const item of resp.cdfStatuses ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** List Databases. */\n async listDatabases(\n req: ListDatabasesRequest,\n options?: CallOptions\n ): Promise<ListDatabasesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/databases`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListDatabasesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListDatabasesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listDatabasesIter(\n req: ListDatabasesRequest,\n options?: CallOptions\n ): AsyncGenerator<Database> {\n const pageReq: ListDatabasesRequest = {...req};\n for (;;) {\n const resp = await this.listDatabases(pageReq, options);\n for (const item of resp.databases ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of compute endpoints in the branch. */\n async listEndpoints(\n req: ListEndpointsRequest,\n options?: CallOptions\n ): Promise<ListEndpointsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/endpoints`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListEndpointsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListEndpointsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listEndpointsIter(\n req: ListEndpointsRequest,\n options?: CallOptions\n ): AsyncGenerator<Endpoint> {\n const pageReq: ListEndpointsRequest = {...req};\n for (;;) {\n const resp = await this.listEndpoints(pageReq, options);\n for (const item of resp.endpoints ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of database projects in the workspace that the user has permission to access. */\n async listProjects(\n req: ListProjectsRequest,\n options?: CallOptions\n ): Promise<ListProjectsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/projects`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.showDeleted !== undefined) {\n params.append('show_deleted', String(req.showDeleted));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListProjectsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListProjectsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listProjectsIter(\n req: ListProjectsRequest,\n options?: CallOptions\n ): AsyncGenerator<Project> {\n const pageReq: ListProjectsRequest = {...req};\n for (;;) {\n const resp = await this.listProjects(pageReq, options);\n for (const item of resp.projects ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of Postgres roles in the branch. */\n async listRoles(\n req: ListRolesRequest,\n options?: CallOptions\n ): Promise<ListRolesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/roles`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListRolesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListRolesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listRolesIter(\n req: ListRolesRequest,\n options?: CallOptions\n ): AsyncGenerator<Role> {\n const pageReq: ListRolesRequest = {...req};\n for (;;) {\n const resp = await this.listRoles(pageReq, options);\n for (const item of resp.roles ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Undeletes the specified database branch. */\n private async undeleteBranchBase(\n req: UndeleteBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}/undelete`;\n const body = marshalRequest(req, marshalUndeleteBranchRequestSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Undeletes the specified database branch. */\n async undeleteBranch(\n req: UndeleteBranchRequest,\n options?: CallOptions\n ): Promise<UndeleteBranchOperation> {\n const op = await this.undeleteBranchBase(req, options);\n return new UndeleteBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Undeletes a soft-deleted project. */\n private async undeleteProjectBase(\n req: UndeleteProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}/undelete`;\n const body = marshalRequest(req, marshalUndeleteProjectRequestSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Undeletes a soft-deleted project. */\n async undeleteProject(\n req: UndeleteProjectRequest,\n options?: CallOptions\n ): Promise<UndeleteProjectOperation> {\n const op = await this.undeleteProjectBase(req, options);\n return new UndeleteProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. */\n private async updateBranchBase(\n req: UpdateBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.branch?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.branch, marshalBranchSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. */\n async updateBranch(\n req: UpdateBranchRequest,\n options?: CallOptions\n ): Promise<UpdateBranchOperation> {\n const op = await this.updateBranchBase(req, options);\n return new UpdateBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update Data API configuration for a database. */\n private async updateDataApiBase(\n req: UpdateDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.dataApi?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.dataApi, marshalDataApiSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update Data API configuration for a database. */\n async updateDataApi(\n req: UpdateDataApiRequest,\n options?: CallOptions\n ): Promise<UpdateDataApiOperation> {\n const op = await this.updateDataApiBase(req, options);\n return new UpdateDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update a Database. */\n private async updateDatabaseBase(\n req: UpdateDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.database?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.database, marshalDatabaseSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update a Database. */\n async updateDatabase(\n req: UpdateDatabaseRequest,\n options?: CallOptions\n ): Promise<UpdateDatabaseOperation> {\n const op = await this.updateDatabaseBase(req, options);\n return new UpdateDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. */\n private async updateEndpointBase(\n req: UpdateEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.endpoint?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.endpoint, marshalEndpointSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. */\n async updateEndpoint(\n req: UpdateEndpointRequest,\n options?: CallOptions\n ): Promise<UpdateEndpointOperation> {\n const op = await this.updateEndpointBase(req, options);\n return new UpdateEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified database project. */\n private async updateProjectBase(\n req: UpdateProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.project?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.project, marshalProjectSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified database project. */\n async updateProject(\n req: UpdateProjectRequest,\n options?: CallOptions\n ): Promise<UpdateProjectOperation> {\n const op = await this.updateProjectBase(req, options);\n return new UpdateProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update a role for a branch. */\n private async updateRoleBase(\n req: UpdateRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.role?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.role, marshalRoleSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update a role for a branch. */\n async updateRole(\n req: UpdateRoleRequest,\n options?: CallOptions\n ): Promise<UpdateRoleOperation> {\n const op = await this.updateRoleBase(req, options);\n return new UpdateRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n}\n\nexport class CreateBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Branch> {\n let result: Branch | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalBranchSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateCatalogOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CatalogOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCatalogOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Catalog> {\n let result: Catalog | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalCatalogSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateCdfConfigOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CdfConfigOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCdfConfigOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<CdfConfig> {\n let result: CdfConfig | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalCdfConfigSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<DataApi> {\n let result: DataApi | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDataApiSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Database> {\n let result: Database | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDatabaseSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Endpoint> {\n let result: Endpoint | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalEndpointSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Project> {\n let result: Project | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalProjectSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Role> {\n let result: Role | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalRoleSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateSyncedTableOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SyncedTableOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSyncedTableOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<SyncedTable> {\n let result: SyncedTable | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z\n .lazy(() => unmarshalSyncedTableSchema)\n .parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteCatalogOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CatalogOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCatalogOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteCdfConfigOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CdfConfigOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCdfConfigOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteSyncedTableOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SyncedTableOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSyncedTableOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UndeleteBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UndeleteProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Branch> {\n let result: Branch | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalBranchSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<DataApi> {\n let result: DataApi | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDataApiSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Database> {\n let result: Database | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDatabaseSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Endpoint> {\n let result: Endpoint | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalEndpointSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Project> {\n let result: Project | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalProjectSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Role> {\n let result: Role | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalRoleSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","names":["pkgJson.version","AUTH_VERSION"],"sources":["../../src/v1/client.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport {VERSION as AUTH_VERSION} from '@databricks/sdk-auth';\nimport {createDefault} from '@databricks/sdk-core/clientinfo';\nimport type {Logger} from '@databricks/sdk-core/logger';\nimport {NoOpLogger} from '@databricks/sdk-core/logger';\nimport type {CallOptions} from '@databricks/sdk-options/call';\nimport type {ClientOptions} from '@databricks/sdk-options/client';\nimport type {LroOptions} from '@databricks/sdk-options/lro';\nimport type {ResolvedClientConfig} from './transport';\nimport {resolveClientConfig} from './transport';\nimport {\n buildHttpRequest,\n executeCall,\n executeHttpCall,\n marshalRequest,\n parseResponse,\n executeWait,\n StillRunningError,\n} from './utils';\nimport pkgJson from '../../package.json' with {type: 'json'};\nimport {z} from 'zod';\nimport type {\n Branch,\n BranchOperationMetadata,\n Catalog,\n CatalogOperationMetadata,\n CdfConfig,\n CdfConfigOperationMetadata,\n CdfStatus,\n CreateBranchRequest,\n CreateCatalogRequest,\n CreateCdfConfigRequest,\n CreateDataApiRequest,\n CreateDatabaseRequest,\n CreateEndpointRequest,\n CreateProjectRequest,\n CreateRoleRequest,\n CreateSnapshotRequest,\n CreateSyncedTableRequest,\n DataApi,\n DataApiOperationMetadata,\n Database,\n DatabaseCredential,\n DatabaseOperationMetadata,\n DeleteBranchRequest,\n DeleteCatalogRequest,\n DeleteCdfConfigRequest,\n DeleteDataApiRequest,\n DeleteDatabaseRequest,\n DeleteEndpointRequest,\n DeleteProjectRequest,\n DeleteRoleRequest,\n DeleteSnapshotRequest,\n DeleteSyncedTableRequest,\n Endpoint,\n EndpointOperationMetadata,\n GenerateDatabaseCredentialRequest,\n GetBranchRequest,\n GetCatalogRequest,\n GetCdfConfigRequest,\n GetCdfStatusRequest,\n GetDataApiRequest,\n GetDatabaseRequest,\n GetEndpointRequest,\n GetOperationRequest,\n GetProjectRequest,\n GetRoleRequest,\n GetSnapshotRequest,\n GetSyncedTableRequest,\n ListBranchesRequest,\n ListBranchesResponse,\n ListCdfConfigsRequest,\n ListCdfConfigsResponse,\n ListCdfStatusesRequest,\n ListCdfStatusesResponse,\n ListDatabasesRequest,\n ListDatabasesResponse,\n ListEndpointsRequest,\n ListEndpointsResponse,\n ListProjectsRequest,\n ListProjectsResponse,\n ListRolesRequest,\n ListRolesResponse,\n ListSnapshotsRequest,\n ListSnapshotsResponse,\n Operation,\n Project,\n ProjectOperationMetadata,\n Role,\n RoleOperationMetadata,\n Snapshot,\n SnapshotOperationMetadata,\n SyncedTable,\n SyncedTableOperationMetadata,\n UndeleteBranchRequest,\n UndeleteProjectRequest,\n UpdateBranchRequest,\n UpdateDataApiRequest,\n UpdateDatabaseRequest,\n UpdateEndpointRequest,\n UpdateProjectRequest,\n UpdateRoleRequest,\n} from './model';\nimport {\n marshalBranchSchema,\n marshalCatalogSchema,\n marshalCdfConfigSchema,\n marshalDataApiSchema,\n marshalDatabaseSchema,\n marshalEndpointSchema,\n marshalGenerateDatabaseCredentialRequestSchema,\n marshalProjectSchema,\n marshalRoleSchema,\n marshalSnapshotSchema,\n marshalSyncedTableSchema,\n marshalUndeleteBranchRequestSchema,\n marshalUndeleteProjectRequestSchema,\n unmarshalBranchOperationMetadataSchema,\n unmarshalBranchSchema,\n unmarshalCatalogOperationMetadataSchema,\n unmarshalCatalogSchema,\n unmarshalCdfConfigOperationMetadataSchema,\n unmarshalCdfConfigSchema,\n unmarshalCdfStatusSchema,\n unmarshalDataApiOperationMetadataSchema,\n unmarshalDataApiSchema,\n unmarshalDatabaseCredentialSchema,\n unmarshalDatabaseOperationMetadataSchema,\n unmarshalDatabaseSchema,\n unmarshalEndpointOperationMetadataSchema,\n unmarshalEndpointSchema,\n unmarshalListBranchesResponseSchema,\n unmarshalListCdfConfigsResponseSchema,\n unmarshalListCdfStatusesResponseSchema,\n unmarshalListDatabasesResponseSchema,\n unmarshalListEndpointsResponseSchema,\n unmarshalListProjectsResponseSchema,\n unmarshalListRolesResponseSchema,\n unmarshalListSnapshotsResponseSchema,\n unmarshalOperationSchema,\n unmarshalProjectOperationMetadataSchema,\n unmarshalProjectSchema,\n unmarshalRoleOperationMetadataSchema,\n unmarshalRoleSchema,\n unmarshalSnapshotOperationMetadataSchema,\n unmarshalSnapshotSchema,\n unmarshalSyncedTableOperationMetadataSchema,\n unmarshalSyncedTableSchema,\n} from './model';\n\n// Package identity segment for this client to be used in the User-Agent header.\nconst PACKAGE_SEGMENT = {\n key: 'sdk-js-' + pkgJson.name.replace(/^@[^/]+\\/sdk-/, ''),\n value: pkgJson.version,\n};\n\nexport class PostgresClient {\n private readonly options: ClientOptions;\n private readonly logger: Logger;\n // User-Agent header value. Composed once at construction from\n // createDefault() merged with this package's identity and the active\n // credential's name.\n private readonly userAgent: string;\n // Memoized configuration. The profile is resolved once, lazily, on the first\n // request, then reused; host, workspaceId/accountId, and credentials are\n // filled from it when not set explicitly on the options.\n private config: Promise<ResolvedClientConfig> | undefined;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.logger = options.logger ?? new NoOpLogger();\n const info = createDefault()\n .with(PACKAGE_SEGMENT)\n .with({key: 'sdk-js-auth', value: AUTH_VERSION})\n .with({key: 'auth', value: options.credentials?.name() ?? 'default'});\n this.userAgent = info.toString();\n }\n\n private resolveConfig(): Promise<ResolvedClientConfig> {\n this.config ??= resolveClientConfig(this.options);\n return this.config;\n }\n\n /** Creates a new database branch in the project. */\n private async createBranchBase(\n req: CreateBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/branches`;\n const params = new URLSearchParams();\n if (req.branchId !== undefined) {\n params.append('branch_id', req.branchId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.branch, marshalBranchSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new database branch in the project. */\n async createBranch(\n req: CreateBranchRequest,\n options?: CallOptions\n ): Promise<CreateBranchOperation> {\n const op = await this.createBranchBase(req, options);\n return new CreateBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Register a Postgres database in the Unity Catalog. */\n private async createCatalogBase(\n req: CreateCatalogRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/catalogs`;\n const params = new URLSearchParams();\n if (req.catalogId !== undefined) {\n params.append('catalog_id', req.catalogId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.catalog, marshalCatalogSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Register a Postgres database in the Unity Catalog. */\n async createCatalog(\n req: CreateCatalogRequest,\n options?: CallOptions\n ): Promise<CreateCatalogOperation> {\n const op = await this.createCatalogBase(req, options);\n return new CreateCatalogOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Create a CDF configuration that materializes the change data feed for all\n * tables in a Postgres schema as open-format Delta tables in Unity Catalog.\n * Once created, each table's change history is continuously written to its\n * corresponding Lakehouse table.\n */\n private async createCdfConfigBase(\n req: CreateCdfConfigRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-configs`;\n const params = new URLSearchParams();\n if (req.cdfConfigId !== undefined) {\n params.append('cdf_config_id', req.cdfConfigId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.cdfConfig, marshalCdfConfigSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Create a CDF configuration that materializes the change data feed for all\n * tables in a Postgres schema as open-format Delta tables in Unity Catalog.\n * Once created, each table's change history is continuously written to its\n * corresponding Lakehouse table.\n */\n async createCdfConfig(\n req: CreateCdfConfigRequest,\n options?: CallOptions\n ): Promise<CreateCdfConfigOperation> {\n const op = await this.createCdfConfigBase(req, options);\n return new CreateCdfConfigOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Enable Data API for a database. */\n private async createDataApiBase(\n req: CreateDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/data-api`;\n const body = marshalRequest(req.dataApi, marshalDataApiSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Enable Data API for a database. */\n async createDataApi(\n req: CreateDataApiRequest,\n options?: CallOptions\n ): Promise<CreateDataApiOperation> {\n const op = await this.createDataApiBase(req, options);\n return new CreateDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Create a Database.\n *\n * Creates a database in the specified branch. A branch can have multiple databases.\n */\n private async createDatabaseBase(\n req: CreateDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/databases`;\n const params = new URLSearchParams();\n if (req.databaseId !== undefined) {\n params.append('database_id', req.databaseId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.database, marshalDatabaseSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Create a Database.\n *\n * Creates a database in the specified branch. A branch can have multiple databases.\n */\n async createDatabase(\n req: CreateDatabaseRequest,\n options?: CallOptions\n ): Promise<CreateDatabaseOperation> {\n const op = await this.createDatabaseBase(req, options);\n return new CreateDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new compute endpoint in the branch. */\n private async createEndpointBase(\n req: CreateEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/endpoints`;\n const params = new URLSearchParams();\n if (req.endpointId !== undefined) {\n params.append('endpoint_id', req.endpointId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.endpoint, marshalEndpointSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new compute endpoint in the branch. */\n async createEndpoint(\n req: CreateEndpointRequest,\n options?: CallOptions\n ): Promise<CreateEndpointOperation> {\n const op = await this.createEndpointBase(req, options);\n return new CreateEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. */\n private async createProjectBase(\n req: CreateProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/projects`;\n const params = new URLSearchParams();\n if (req.projectId !== undefined) {\n params.append('project_id', req.projectId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.project, marshalProjectSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. */\n async createProject(\n req: CreateProjectRequest,\n options?: CallOptions\n ): Promise<CreateProjectOperation> {\n const op = await this.createProjectBase(req, options);\n return new CreateProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a new Postgres role in the branch. */\n private async createRoleBase(\n req: CreateRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/roles`;\n const params = new URLSearchParams();\n if (req.roleId !== undefined) {\n params.append('role_id', req.roleId);\n }\n if (req.replaceExisting !== undefined) {\n params.append('replace_existing', String(req.replaceExisting));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.role, marshalRoleSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a new Postgres role in the branch. */\n async createRole(\n req: CreateRoleRequest,\n options?: CallOptions\n ): Promise<CreateRoleOperation> {\n const op = await this.createRoleBase(req, options);\n return new CreateRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Creates a snapshot, an immutable point-in-time copy of a branch's data, within the project. */\n private async createSnapshotBase(\n req: CreateSnapshotRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/snapshots`;\n const params = new URLSearchParams();\n if (req.snapshotId !== undefined) {\n params.append('snapshot_id', req.snapshotId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.snapshot, marshalSnapshotSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Creates a snapshot, an immutable point-in-time copy of a branch's data, within the project. */\n async createSnapshot(\n req: CreateSnapshotRequest,\n options?: CallOptions\n ): Promise<CreateSnapshotOperation> {\n const op = await this.createSnapshotBase(req, options);\n return new CreateSnapshotOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Create a Synced Table. */\n private async createSyncedTableBase(\n req: CreateSyncedTableRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/synced_tables`;\n const params = new URLSearchParams();\n if (req.syncedTableId !== undefined) {\n params.append('synced_table_id', req.syncedTableId);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.syncedTable, marshalSyncedTableSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'POST',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Create a Synced Table. */\n async createSyncedTable(\n req: CreateSyncedTableRequest,\n options?: CallOptions\n ): Promise<CreateSyncedTableOperation> {\n const op = await this.createSyncedTableBase(req, options);\n return new CreateSyncedTableOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified database branch. */\n private async deleteBranchBase(\n req: DeleteBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.purge !== undefined) {\n params.append('purge', String(req.purge));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified database branch. */\n async deleteBranch(\n req: DeleteBranchRequest,\n options?: CallOptions\n ): Promise<DeleteBranchOperation> {\n const op = await this.deleteBranchBase(req, options);\n return new DeleteBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Database Catalog. */\n private async deleteCatalogBase(\n req: DeleteCatalogRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Database Catalog. */\n async deleteCatalog(\n req: DeleteCatalogRequest,\n options?: CallOptions\n ): Promise<DeleteCatalogOperation> {\n const op = await this.deleteCatalogBase(req, options);\n return new DeleteCatalogOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /**\n * Delete a CDF configuration and stop materializing the change data feed. When\n * force=true, also drops the Delta tables in Unity Catalog. When force=false\n * (default), the existing tables are preserved at their last state.\n */\n private async deleteCdfConfigBase(\n req: DeleteCdfConfigRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.force !== undefined) {\n params.append('force', String(req.force));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Delete a CDF configuration and stop materializing the change data feed. When\n * force=true, also drops the Delta tables in Unity Catalog. When force=false\n * (default), the existing tables are preserved at their last state.\n */\n async deleteCdfConfig(\n req: DeleteCdfConfigRequest,\n options?: CallOptions\n ): Promise<DeleteCdfConfigOperation> {\n const op = await this.deleteCdfConfigBase(req, options);\n return new DeleteCdfConfigOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Disable Data API for a database. */\n private async deleteDataApiBase(\n req: DeleteDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Disable Data API for a database. */\n async deleteDataApi(\n req: DeleteDataApiRequest,\n options?: CallOptions\n ): Promise<DeleteDataApiOperation> {\n const op = await this.deleteDataApiBase(req, options);\n return new DeleteDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Database. */\n private async deleteDatabaseBase(\n req: DeleteDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Database. */\n async deleteDatabase(\n req: DeleteDatabaseRequest,\n options?: CallOptions\n ): Promise<DeleteDatabaseOperation> {\n const op = await this.deleteDatabaseBase(req, options);\n return new DeleteDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified compute endpoint. */\n private async deleteEndpointBase(\n req: DeleteEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified compute endpoint. */\n async deleteEndpoint(\n req: DeleteEndpointRequest,\n options?: CallOptions\n ): Promise<DeleteEndpointOperation> {\n const op = await this.deleteEndpointBase(req, options);\n return new DeleteEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified database project. */\n private async deleteProjectBase(\n req: DeleteProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.purge !== undefined) {\n params.append('purge', String(req.purge));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified database project. */\n async deleteProject(\n req: DeleteProjectRequest,\n options?: CallOptions\n ): Promise<DeleteProjectOperation> {\n const op = await this.deleteProjectBase(req, options);\n return new DeleteProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified Postgres role. */\n private async deleteRoleBase(\n req: DeleteRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.reassignOwnedTo !== undefined) {\n params.append('reassign_owned_to', req.reassignOwnedTo);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified Postgres role. */\n async deleteRole(\n req: DeleteRoleRequest,\n options?: CallOptions\n ): Promise<DeleteRoleOperation> {\n const op = await this.deleteRoleBase(req, options);\n return new DeleteRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Deletes the specified snapshot. */\n private async deleteSnapshotBase(\n req: DeleteSnapshotRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Deletes the specified snapshot. */\n async deleteSnapshot(\n req: DeleteSnapshotRequest,\n options?: CallOptions\n ): Promise<DeleteSnapshotOperation> {\n const op = await this.deleteSnapshotBase(req, options);\n return new DeleteSnapshotOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Delete a Synced Table. */\n private async deleteSyncedTableBase(\n req: DeleteSyncedTableRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('DELETE', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Delete a Synced Table. */\n async deleteSyncedTable(\n req: DeleteSyncedTableRequest,\n options?: CallOptions\n ): Promise<DeleteSyncedTableOperation> {\n const op = await this.deleteSyncedTableBase(req, options);\n return new DeleteSyncedTableOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Generate OAuth credentials for a Postgres database. */\n async generateDatabaseCredential(\n req: GenerateDatabaseCredentialRequest,\n options?: CallOptions\n ): Promise<DatabaseCredential> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/credentials`;\n const body = marshalRequest(\n req,\n marshalGenerateDatabaseCredentialRequestSchema\n );\n let resp: DatabaseCredential | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDatabaseCredentialSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified database branch. */\n async getBranch(\n req: GetBranchRequest,\n options?: CallOptions\n ): Promise<Branch> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Branch | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalBranchSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Database Catalog. */\n async getCatalog(\n req: GetCatalogRequest,\n options?: CallOptions\n ): Promise<Catalog> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Catalog | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCatalogSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Get a single Lakebase CDF configuration, including the source Postgres\n * schema, target Unity Catalog schema, and the identity under which writes are\n * authorized.\n */\n async getCdfConfig(\n req: GetCdfConfigRequest,\n options?: CallOptions\n ): Promise<CdfConfig> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: CdfConfig | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCdfConfigSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /**\n * Get the CDF status of a single table within a Lakebase CDF configuration,\n * including its current state and the last committed position in the feed.\n */\n async getCdfStatus(\n req: GetCdfStatusRequest,\n options?: CallOptions\n ): Promise<CdfStatus> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: CdfStatus | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalCdfStatusSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get Data API configuration for a database. */\n async getDataApi(\n req: GetDataApiRequest,\n options?: CallOptions\n ): Promise<DataApi> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: DataApi | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDataApiSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Database. */\n async getDatabase(\n req: GetDatabaseRequest,\n options?: CallOptions\n ): Promise<Database> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Database | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalDatabaseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified compute endpoint, including its connection details and operational state. */\n async getEndpoint(\n req: GetEndpointRequest,\n options?: CallOptions\n ): Promise<Endpoint> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Endpoint | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalEndpointSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves the status of a long-running operation. */\n private async getOperation(\n req: GetOperationRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified database project. */\n async getProject(\n req: GetProjectRequest,\n options?: CallOptions\n ): Promise<Project> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Project | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalProjectSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified Postgres role, including its authentication method and permissions. */\n async getRole(req: GetRoleRequest, options?: CallOptions): Promise<Role> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Role | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalRoleSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Retrieves information about the specified snapshot. */\n async getSnapshot(\n req: GetSnapshotRequest,\n options?: CallOptions\n ): Promise<Snapshot> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: Snapshot | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalSnapshotSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Get a Synced Table. */\n async getSyncedTable(\n req: GetSyncedTableRequest,\n options?: CallOptions\n ): Promise<SyncedTable> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}`;\n let resp: SyncedTable | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', url, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalSyncedTableSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Returns a paginated list of database branches in the project. */\n async listBranches(\n req: ListBranchesRequest,\n options?: CallOptions\n ): Promise<ListBranchesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/branches`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.showDeleted !== undefined) {\n params.append('show_deleted', String(req.showDeleted));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListBranchesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListBranchesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listBranchesIter(\n req: ListBranchesRequest,\n options?: CallOptions\n ): AsyncGenerator<Branch> {\n const pageReq: ListBranchesRequest = {...req};\n for (;;) {\n const resp = await this.listBranches(pageReq, options);\n for (const item of resp.branches ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /**\n * List all CDF configurations for a Lakebase database. Each configuration maps\n * a Postgres schema to a Unity Catalog schema where the change data feed is\n * materialized.\n */\n async listCdfConfigs(\n req: ListCdfConfigsRequest,\n options?: CallOptions\n ): Promise<ListCdfConfigsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-configs`;\n const params = new URLSearchParams();\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListCdfConfigsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListCdfConfigsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listCdfConfigsIter(\n req: ListCdfConfigsRequest,\n options?: CallOptions\n ): AsyncGenerator<CdfConfig> {\n const pageReq: ListCdfConfigsRequest = {...req};\n for (;;) {\n const resp = await this.listCdfConfigs(pageReq, options);\n for (const item of resp.cdfConfigs ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /**\n * List the per-table CDF statuses within a Lakebase CDF configuration. Each\n * status shows whether a table's change data feed is snapshotting, streaming,\n * or skipped.\n */\n async listCdfStatuses(\n req: ListCdfStatusesRequest,\n options?: CallOptions\n ): Promise<ListCdfStatusesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/cdf-statuses`;\n const params = new URLSearchParams();\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListCdfStatusesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListCdfStatusesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listCdfStatusesIter(\n req: ListCdfStatusesRequest,\n options?: CallOptions\n ): AsyncGenerator<CdfStatus> {\n const pageReq: ListCdfStatusesRequest = {...req};\n for (;;) {\n const resp = await this.listCdfStatuses(pageReq, options);\n for (const item of resp.cdfStatuses ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** List Databases. */\n async listDatabases(\n req: ListDatabasesRequest,\n options?: CallOptions\n ): Promise<ListDatabasesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/databases`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListDatabasesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListDatabasesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listDatabasesIter(\n req: ListDatabasesRequest,\n options?: CallOptions\n ): AsyncGenerator<Database> {\n const pageReq: ListDatabasesRequest = {...req};\n for (;;) {\n const resp = await this.listDatabases(pageReq, options);\n for (const item of resp.databases ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of compute endpoints in the branch. */\n async listEndpoints(\n req: ListEndpointsRequest,\n options?: CallOptions\n ): Promise<ListEndpointsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/endpoints`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListEndpointsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListEndpointsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listEndpointsIter(\n req: ListEndpointsRequest,\n options?: CallOptions\n ): AsyncGenerator<Endpoint> {\n const pageReq: ListEndpointsRequest = {...req};\n for (;;) {\n const resp = await this.listEndpoints(pageReq, options);\n for (const item of resp.endpoints ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of database projects in the workspace that the user has permission to access. */\n async listProjects(\n req: ListProjectsRequest,\n options?: CallOptions\n ): Promise<ListProjectsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/projects`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n if (req.showDeleted !== undefined) {\n params.append('show_deleted', String(req.showDeleted));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListProjectsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListProjectsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listProjectsIter(\n req: ListProjectsRequest,\n options?: CallOptions\n ): AsyncGenerator<Project> {\n const pageReq: ListProjectsRequest = {...req};\n for (;;) {\n const resp = await this.listProjects(pageReq, options);\n for (const item of resp.projects ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of Postgres roles in the branch. */\n async listRoles(\n req: ListRolesRequest,\n options?: CallOptions\n ): Promise<ListRolesResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/roles`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListRolesResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListRolesResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listRolesIter(\n req: ListRolesRequest,\n options?: CallOptions\n ): AsyncGenerator<Role> {\n const pageReq: ListRolesRequest = {...req};\n for (;;) {\n const resp = await this.listRoles(pageReq, options);\n for (const item of resp.roles ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Returns a paginated list of snapshots in the project. */\n async listSnapshots(\n req: ListSnapshotsRequest,\n options?: CallOptions\n ): Promise<ListSnapshotsResponse> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.parent ?? ''}/snapshots`;\n const params = new URLSearchParams();\n if (req.pageToken !== undefined) {\n params.append('page_token', req.pageToken);\n }\n if (req.pageSize !== undefined) {\n params.append('page_size', String(req.pageSize));\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n let resp: ListSnapshotsResponse | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers();\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalListSnapshotsResponseSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n async *listSnapshotsIter(\n req: ListSnapshotsRequest,\n options?: CallOptions\n ): AsyncGenerator<Snapshot> {\n const pageReq: ListSnapshotsRequest = {...req};\n for (;;) {\n const resp = await this.listSnapshots(pageReq, options);\n for (const item of resp.snapshots ?? []) {\n yield item;\n }\n if (resp.nextPageToken === undefined || resp.nextPageToken === '') {\n return;\n }\n pageReq.pageToken = resp.nextPageToken;\n }\n }\n\n /** Undeletes the specified database branch. */\n private async undeleteBranchBase(\n req: UndeleteBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}/undelete`;\n const body = marshalRequest(req, marshalUndeleteBranchRequestSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Undeletes the specified database branch. */\n async undeleteBranch(\n req: UndeleteBranchRequest,\n options?: CallOptions\n ): Promise<UndeleteBranchOperation> {\n const op = await this.undeleteBranchBase(req, options);\n return new UndeleteBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Undeletes a soft-deleted project. */\n private async undeleteProjectBase(\n req: UndeleteProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.name ?? ''}/undelete`;\n const body = marshalRequest(req, marshalUndeleteProjectRequestSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Undeletes a soft-deleted project. */\n async undeleteProject(\n req: UndeleteProjectRequest,\n options?: CallOptions\n ): Promise<UndeleteProjectOperation> {\n const op = await this.undeleteProjectBase(req, options);\n return new UndeleteProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. */\n private async updateBranchBase(\n req: UpdateBranchRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.branch?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.branch, marshalBranchSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. */\n async updateBranch(\n req: UpdateBranchRequest,\n options?: CallOptions\n ): Promise<UpdateBranchOperation> {\n const op = await this.updateBranchBase(req, options);\n return new UpdateBranchOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update Data API configuration for a database. */\n private async updateDataApiBase(\n req: UpdateDataApiRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.dataApi?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.dataApi, marshalDataApiSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update Data API configuration for a database. */\n async updateDataApi(\n req: UpdateDataApiRequest,\n options?: CallOptions\n ): Promise<UpdateDataApiOperation> {\n const op = await this.updateDataApiBase(req, options);\n return new UpdateDataApiOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update a Database. */\n private async updateDatabaseBase(\n req: UpdateDatabaseRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.database?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.database, marshalDatabaseSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update a Database. */\n async updateDatabase(\n req: UpdateDatabaseRequest,\n options?: CallOptions\n ): Promise<UpdateDatabaseOperation> {\n const op = await this.updateDatabaseBase(req, options);\n return new UpdateDatabaseOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. */\n private async updateEndpointBase(\n req: UpdateEndpointRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.endpoint?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.endpoint, marshalEndpointSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. */\n async updateEndpoint(\n req: UpdateEndpointRequest,\n options?: CallOptions\n ): Promise<UpdateEndpointOperation> {\n const op = await this.updateEndpointBase(req, options);\n return new UpdateEndpointOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Updates the specified database project. */\n private async updateProjectBase(\n req: UpdateProjectRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.project?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.project, marshalProjectSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Updates the specified database project. */\n async updateProject(\n req: UpdateProjectRequest,\n options?: CallOptions\n ): Promise<UpdateProjectOperation> {\n const op = await this.updateProjectBase(req, options);\n return new UpdateProjectOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n\n /** Update a role for a branch. */\n private async updateRoleBase(\n req: UpdateRoleRequest,\n options?: CallOptions\n ): Promise<Operation> {\n const {host, workspaceId, httpClient} = await this.resolveConfig();\n const url = `${host}/api/2.0/postgres/${req.role?.name ?? ''}`;\n const params = new URLSearchParams();\n if (req.updateMask !== undefined) {\n params.append('update_mask', req.updateMask.toString());\n }\n const query = params.toString();\n const fullUrl = query !== '' ? `${url}?${query}` : url;\n const body = marshalRequest(req.role, marshalRoleSchema);\n let resp: Operation | undefined;\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const headers = new Headers({'Content-Type': 'application/json'});\n if (workspaceId !== undefined) {\n headers.set('X-Databricks-Workspace-Id', workspaceId);\n }\n headers.set('User-Agent', this.userAgent);\n const httpReq = buildHttpRequest(\n 'PATCH',\n fullUrl,\n headers,\n callSignal,\n body\n );\n const respBody = await executeHttpCall({\n request: httpReq,\n httpClient,\n logger: this.logger,\n });\n resp = parseResponse(respBody, unmarshalOperationSchema);\n };\n await executeCall(call, options);\n if (resp === undefined) {\n throw new Error('operation completed without a result.');\n }\n return resp;\n }\n\n /** Update a role for a branch. */\n async updateRole(\n req: UpdateRoleRequest,\n options?: CallOptions\n ): Promise<UpdateRoleOperation> {\n const op = await this.updateRoleBase(req, options);\n return new UpdateRoleOperation(op, (req, options) =>\n this.getOperation(req, options)\n );\n }\n}\n\nexport class CreateBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Branch> {\n let result: Branch | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalBranchSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateCatalogOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CatalogOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCatalogOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Catalog> {\n let result: Catalog | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalCatalogSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateCdfConfigOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CdfConfigOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCdfConfigOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<CdfConfig> {\n let result: CdfConfig | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalCdfConfigSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<DataApi> {\n let result: DataApi | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDataApiSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Database> {\n let result: Database | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDatabaseSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Endpoint> {\n let result: Endpoint | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalEndpointSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Project> {\n let result: Project | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalProjectSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Role> {\n let result: Role | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalRoleSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateSnapshotOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SnapshotOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSnapshotOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Snapshot> {\n let result: Snapshot | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalSnapshotSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class CreateSyncedTableOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SyncedTableOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSyncedTableOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<SyncedTable> {\n let result: SyncedTable | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z\n .lazy(() => unmarshalSyncedTableSchema)\n .parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteCatalogOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CatalogOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCatalogOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteCdfConfigOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<CdfConfigOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalCdfConfigOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteSnapshotOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SnapshotOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSnapshotOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class DeleteSyncedTableOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<SyncedTableOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalSyncedTableOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UndeleteBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UndeleteProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<void> {\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n };\n\n await executeWait(call, options);\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateBranchOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<BranchOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalBranchOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Branch> {\n let result: Branch | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalBranchSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateDataApiOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DataApiOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDataApiOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<DataApi> {\n let result: DataApi | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDataApiSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateDatabaseOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<DatabaseOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalDatabaseOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Database> {\n let result: Database | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalDatabaseSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateEndpointOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<EndpointOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalEndpointOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Endpoint> {\n let result: Endpoint | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalEndpointSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateProjectOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<ProjectOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalProjectOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Project> {\n let result: Project | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalProjectSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n\nexport class UpdateRoleOperation {\n constructor(\n private operation: Operation,\n private readonly getOperation: (\n req: GetOperationRequest,\n options?: CallOptions\n ) => Promise<Operation>\n ) {}\n\n /** Returns the server-assigned name of the long-running operation. */\n name(): Promise<string | undefined> {\n return Promise.resolve(this.operation.name);\n }\n\n /** Returns metadata associated with the long-running operation. */\n metadata(): Promise<RoleOperationMetadata | undefined> {\n if (this.operation.metadata === undefined) {\n return Promise.resolve(undefined);\n }\n return Promise.resolve(\n z\n .lazy(() => unmarshalRoleOperationMetadataSchema)\n .parse(this.operation.metadata)\n );\n }\n\n /**\n * Polls the operation until it completes.\n *\n * Throws if the operation failed.\n */\n async wait(options?: LroOptions): Promise<Role> {\n let result: Role | undefined;\n\n const call = async (callSignal?: AbortSignal): Promise<void> => {\n const op = await this.getOperation(\n {\n name: this.operation.name,\n },\n callSignal !== undefined ? {signal: callSignal} : undefined\n );\n this.operation = op;\n if (op.done === undefined) {\n throw new Error('operation is missing the done field');\n }\n if (!op.done) {\n throw new StillRunningError();\n }\n\n if (op.result?.$case === 'error') {\n const err = op.result.error;\n const msg =\n err.message !== undefined && err.message !== ''\n ? err.message\n : 'unknown error';\n const errorMsg =\n err.errorCode !== undefined ? `[${err.errorCode}] ${msg}` : msg;\n throw new Error(`operation failed: ${errorMsg}`, {\n cause: err,\n });\n }\n\n if (op.result?.$case !== 'response') {\n throw new Error('operation completed without a response');\n }\n\n result = z.lazy(() => unmarshalRoleSchema).parse(op.result.response);\n };\n\n await executeWait(call, options);\n if (result === undefined) {\n throw new Error('operation completed without a result.');\n }\n return result;\n }\n\n /** Checks whether the operation has completed */\n async done(options?: CallOptions): Promise<boolean | undefined> {\n const op = await this.getOperation({name: this.operation.name}, options);\n this.operation = op;\n return op.done;\n }\n}\n"],"mappings":"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"}