@aws-amplify/graphql-transformer-interfaces
Version:
Amplify GraphQL transformer interface definitions
34 lines • 3.57 kB
TypeScript
import { Duration } from 'aws-cdk-lib';
import { BaseDataSource, DynamoDbDataSource, GraphqlApiBase, HttpDataSource, LambdaDataSource, NoneDataSource, CfnResolver, CfnFunctionConfiguration, HttpDataSourceOptions } from 'aws-cdk-lib/aws-appsync';
import { ITable } from 'aws-cdk-lib/aws-dynamodb';
import { IFunction, ILayerVersion, Runtime } from 'aws-cdk-lib/aws-lambda';
import { IRole } from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
import { AppSyncFunctionConfigurationProvider, DataSourceOptions, MappingTemplateProvider, SearchableDataSourceOptions } from './graphql-api-provider';
import { VpcConfig } from './model-datasource';
import { FunctionRuntimeTemplate } from './transformer-context';
export interface DynamoDbDataSourceOptions extends DataSourceOptions {
readonly serviceRole: IRole;
}
export interface TransformHostProvider {
setAPI(api: GraphqlApiBase): void;
addHttpDataSource(name: string, endpoint: string, options?: HttpDataSourceOptions, scope?: Construct): HttpDataSource;
addDynamoDbDataSource(name: string, table: ITable, options?: DynamoDbDataSourceOptions, scope?: Construct): DynamoDbDataSource;
addNoneDataSource(name: string, options?: DataSourceOptions, scope?: Construct): NoneDataSource;
addLambdaDataSource(name: string, lambdaFunction: IFunction, options?: DataSourceOptions, scope?: Construct): LambdaDataSource;
addSearchableDataSource(name: string, endpoint: string, region: string, options?: SearchableDataSourceOptions, scope?: Construct): BaseDataSource;
addAppSyncFunction: (name: string, mappingTemplate: FunctionRuntimeTemplate, dataSourceName: string, scope?: Construct, runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty) => AppSyncFunctionConfigurationProvider;
addAppSyncJsRuntimeFunction: (name: string, codeMappingTemplate: MappingTemplateProvider, dataSourceName: string, scope?: Construct) => AppSyncFunctionConfigurationProvider;
addAppSyncVtlRuntimeFunction: (name: string, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider, dataSourceName: string, scope?: Construct) => AppSyncFunctionConfigurationProvider;
addResolver: (typeName: string, fieldName: string, mappingTemplate: FunctionRuntimeTemplate, resolverLogicalId?: string, dataSourceName?: string, pipelineConfig?: string[], scope?: Construct, runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty) => CfnResolver;
addVtlRuntimeResolver: (typeName: string, fieldName: string, requestMappingTemplate: MappingTemplateProvider, responseMappingTemplate: MappingTemplateProvider, resolverLogicalId?: string, dataSourceName?: string, pipelineConfig?: string[], scope?: Construct) => CfnResolver;
addJsRuntimeResolver: (typeName: string, fieldName: string, codeMappingTemplate: MappingTemplateProvider, resolverLogicalId?: string, dataSourceName?: string, pipelineConfig?: string[], scope?: Construct) => CfnResolver;
addLambdaFunction: (functionName: string, functionKey: string, handlerName: string, filePath: string, runtime: Runtime, layers?: ILayerVersion[], role?: IRole, environment?: {
[key: string]: string;
}, timeout?: Duration, scope?: Construct, vpc?: VpcConfig, description?: string) => IFunction;
getDataSource: (name: string) => BaseDataSource | void;
hasDataSource: (name: string) => boolean;
getResolver: (typeName: string, fieldName: string) => CfnResolver | void;
hasResolver: (typeName: string, fieldName: string) => boolean;
}
//# sourceMappingURL=transform-host-provider.d.ts.map