import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient"; import type { EvaluateMappingTemplateRequest, EvaluateMappingTemplateResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link EvaluateMappingTemplateCommand}. */ export interface EvaluateMappingTemplateCommandInput extends EvaluateMappingTemplateRequest { } /** * @public * * The output of {@link EvaluateMappingTemplateCommand}. */ export interface EvaluateMappingTemplateCommandOutput extends EvaluateMappingTemplateResponse, __MetadataBearer { } declare const EvaluateMappingTemplateCommand_base: { new (input: EvaluateMappingTemplateCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: EvaluateMappingTemplateCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Evaluates a given template and returns the response. The mapping template can be a * request or response template.

*

Request templates take the incoming request after a GraphQL operation is parsed and * convert it into a request configuration for the selected data source operation. Response * templates interpret responses from the data source and map it to the shape of the GraphQL * field output type.

*

Mapping templates are written in the Apache Velocity Template Language (VTL).

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AppSyncClient, EvaluateMappingTemplateCommand } from "@aws-sdk/client-appsync"; // ES Modules import * // const { AppSyncClient, EvaluateMappingTemplateCommand } = require("@aws-sdk/client-appsync"); // CommonJS import * // import type { AppSyncClientConfig } from "@aws-sdk/client-appsync"; * const config = {}; // type is AppSyncClientConfig * const client = new AppSyncClient(config); * const input = { // EvaluateMappingTemplateRequest * template: "STRING_VALUE", // required * context: "STRING_VALUE", // required * }; * const command = new EvaluateMappingTemplateCommand(input); * const response = await client.send(command); * // { // EvaluateMappingTemplateResponse * // evaluationResult: "STRING_VALUE", * // error: { // ErrorDetail * // message: "STRING_VALUE", * // }, * // logs: [ // Logs * // "STRING_VALUE", * // ], * // stash: "STRING_VALUE", * // outErrors: "STRING_VALUE", * // }; * * ``` * * @param EvaluateMappingTemplateCommandInput - {@link EvaluateMappingTemplateCommandInput} * @returns {@link EvaluateMappingTemplateCommandOutput} * @see {@link EvaluateMappingTemplateCommandInput} for command's `input` shape. * @see {@link EvaluateMappingTemplateCommandOutput} for command's `response` shape. * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You don't have access to perform this operation on this resource.

* * @throws {@link BadRequestException} (client fault) *

The request is not well formed. For example, a value is invalid or a required field is * missing. Check the field values, and then try again.

* * @throws {@link InternalFailureException} (server fault) *

An internal AppSync error occurred. Try your request again.

* * @throws {@link AppSyncServiceException} *

Base exception class for all service exceptions from AppSync service.

* * * @public */ export declare class EvaluateMappingTemplateCommand extends EvaluateMappingTemplateCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: EvaluateMappingTemplateRequest; output: EvaluateMappingTemplateResponse; }; sdk: { input: EvaluateMappingTemplateCommandInput; output: EvaluateMappingTemplateCommandOutput; }; }; }