integration/resources/templates/single/graphqlapi-configuration.yaml (88 lines of code) (raw):

Transform: AWS::Serverless-2016-10-31 Resources: SuperCoolAPI: Type: AWS::Serverless::GraphQLApi Properties: SchemaInline: | type Book { bookName: String id: ID } type Query { getBook(bookName: String): Book } OwnerContact: blah-blah Auth: Type: API_KEY ApiKeys: MyApiKey: {} Functions: processQuery: Runtime: Name: APPSYNC_JS Version: 1.0.0 DataSource: NONE InlineCode: | import { util } from '@aws-appsync/utils'; export function request(ctx) { const id = util.autoId(); return { payload: { ...ctx.args, id } }; } export function response(ctx) { return ctx.result; } Resolvers: Query: getBook: Pipeline: - processQuery IntrospectionDisableSuperCoolAPI: Type: AWS::Serverless::GraphQLApi Properties: SchemaInline: | type Book { bookName: String id: ID } type Query { getBook(bookName: String): Book } OwnerContact: blah-blah IntrospectionConfig: DISABLED QueryDepthLimit: 10 ResolverCountLimit: 100 Auth: Type: API_KEY ApiKeys: MyApiKey: {} Functions: processQuery: Runtime: Name: APPSYNC_JS Version: 1.0.0 DataSource: NONE InlineCode: | import { util } from '@aws-appsync/utils'; export function request(ctx) { const id = util.autoId(); return { payload: { ...ctx.args, id } }; } export function response(ctx) { return ctx.result; } Resolvers: Query: getBook: Pipeline: - processQuery Outputs: SuperCoolAPI: Description: AppSync API Value: !GetAtt SuperCoolAPI.GraphQLUrl MyApiKey: Description: API Id Value: !GetAtt SuperCoolAPIMyApiKey.ApiKey IntrospectionDisableSuperCoolAPI: Description: AppSync API Value: !GetAtt IntrospectionDisableSuperCoolAPI.GraphQLUrl IntrospectionDisableSuperCoolAPIMyApiKey: Description: API Id Value: !GetAtt IntrospectionDisableSuperCoolAPIMyApiKey.ApiKey Metadata: SamTransformTest: true