Skip to main content
Glama

Model Context Protocol Server

assetsUpdateResourceByAssetId.ts5.2 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { SDKCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; import { RequestOptions } from "../lib/sdks.js"; import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js"; import { pathToFunc } from "../lib/url.js"; import { APIError } from "../models/errors/apierror.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError, } from "../models/errors/httpclienterrors.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import { UpdateResourceByAssetIdRequest, UpdateResourceByAssetIdRequest$zodSchema, UpdateResourceByAssetIdResponse, UpdateResourceByAssetIdResponse$zodSchema, } from "../models/updateresourcebyassetidop.js"; import { APICall, APIPromise } from "../types/async.js"; import { Result } from "../types/fp.js"; /** * Updates an existing asset's metadata, tags, and other attributes using its asset ID * * @remarks * Updates one or more attributes of a specified resource (asset) by its asset ID. This enables you to update details of an asset by its unique and immutable identifier, regardless of public ID, display name, asset folder, resource type or deliver type. Note that you can also update many attributes of an existing asset using the explicit method, which is not rate-limited. */ export function assetsUpdateResourceByAssetId( client$: SDKCore, request: UpdateResourceByAssetIdRequest, options?: RequestOptions, ): APIPromise< Result< UpdateResourceByAssetIdResponse, | APIError | SDKValidationError | UnexpectedClientError | InvalidRequestError | RequestAbortedError | RequestTimeoutError | ConnectionError > > { return new APIPromise($do( client$, request, options, )); } async function $do( client$: SDKCore, request: UpdateResourceByAssetIdRequest, options?: RequestOptions, ): Promise< [ Result< UpdateResourceByAssetIdResponse, | APIError | SDKValidationError | UnexpectedClientError | InvalidRequestError | RequestAbortedError | RequestTimeoutError | ConnectionError >, APICall, ] > { const parsed$ = safeParse( request, (value$) => UpdateResourceByAssetIdRequest$zodSchema.parse(value$), "Input validation failed", ); if (!parsed$.ok) { return [parsed$, { status: "invalid" }]; } const payload$ = parsed$.value; const body$ = encodeJSON("body", payload$.ResourceUpdateRequest, { explode: true, }); const pathParams$ = { asset_id: encodeSimple("asset_id", payload$.asset_id, { explode: false, charEncoding: "percent", }), cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, { explode: false, charEncoding: "percent", }), }; const path$ = pathToFunc("/v1_1/{cloud_name}/resources/{asset_id}")( pathParams$, ); const headers$ = new Headers(compactMap({ "Content-Type": "application/json", Accept: "application/json", })); const securityInput = await extractSecurity(client$._options.security); const requestSecurity = resolveGlobalSecurity(securityInput); const context = { baseURL: options?.serverURL ?? client$._baseURL ?? "", operationID: "updateResourceByAssetId", oAuth2Scopes: [], resolvedSecurity: requestSecurity, securitySource: client$._options.security, retryConfig: options?.retries || client$._options.retryConfig || { strategy: "none" }, retryCodes: options?.retryCodes || [ "429", "500", "502", "503", "504", ], }; const requestRes = client$._createRequest(context, { security: requestSecurity, method: "PUT", baseURL: options?.serverURL, path: path$, headers: headers$, body: body$, timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1, }, options); if (!requestRes.ok) { return [requestRes, { status: "invalid" }]; } const req$ = requestRes.value; const doResult = await client$._do(req$, { context, errorCodes: [], retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); if (!doResult.ok) { return [doResult, { status: "request-error", request: req$ }]; } const response = doResult.value; const responseFields$ = { HttpMeta: { Response: response, Request: req$ }, }; const [result$] = await M.match< UpdateResourceByAssetIdResponse, | APIError | SDKValidationError | UnexpectedClientError | InvalidRequestError | RequestAbortedError | RequestTimeoutError | ConnectionError >( M.json(200, UpdateResourceByAssetIdResponse$zodSchema, { key: "info" }), M.json([400, 401, 404], UpdateResourceByAssetIdResponse$zodSchema, { key: "api_error", }), )(response, req$, { extraFields: responseFields$ }); return [result$, { status: "complete", request: req$, response }]; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kanwardeep007/random-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server