aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
70 lines (69 loc) • 2.66 kB
TypeScript
import { AttributeValues, KeyCondition, PrimaryKey } from './key';
/**
* MappingTemplates for AppSync resolvers
*/
export declare abstract class MappingTemplate {
/**
* Create a mapping template from the given string
*/
static fromString(template: string): MappingTemplate;
/**
* Create a mapping template from the given file
*/
static fromFile(fileName: string): MappingTemplate;
/**
* Mapping template for a result list from DynamoDB
*/
static dynamoDbResultList(): MappingTemplate;
/**
* Mapping template for a single result item from DynamoDB
*/
static dynamoDbResultItem(): MappingTemplate;
/**
* Mapping template to scan a DynamoDB table to fetch all entries
*/
static dynamoDbScanTable(consistentRead?: boolean): MappingTemplate;
/**
* Mapping template to query a set of items from a DynamoDB table
*
* @param cond the key condition for the query
*/
static dynamoDbQuery(cond: KeyCondition, indexName?: string, consistentRead?: boolean): MappingTemplate;
/**
* Mapping template to get a single item from a DynamoDB table
*
* @param keyName the name of the hash key field
* @param idArg the name of the Query argument
*/
static dynamoDbGetItem(keyName: string, idArg: string, consistentRead?: boolean): MappingTemplate;
/**
* Mapping template to delete a single item from a DynamoDB table
*
* @param keyName the name of the hash key field
* @param idArg the name of the Mutation argument
*/
static dynamoDbDeleteItem(keyName: string, idArg: string): MappingTemplate;
/**
* Mapping template to save a single item to a DynamoDB table
*
* @param key the assigment of Mutation values to the primary key
* @param values the assignment of Mutation values to the table attributes
*/
static dynamoDbPutItem(key: PrimaryKey, values: AttributeValues): MappingTemplate;
/**
* Mapping template to invoke a Lambda function
*
* @param payload the VTL template snippet of the payload to send to the lambda.
* If no payload is provided all available context fields are sent to the Lambda function
* @param operation the type of operation AppSync should perform on the data source
*/
static lambdaRequest(payload?: string, operation?: string): MappingTemplate;
/**
* Mapping template to return the Lambda result to the caller
*/
static lambdaResult(): MappingTemplate;
/**
* this is called to render the mapping template to a VTL string
*/
abstract renderTemplate(): string;
}