Resolver Args
data class ResolverArgs(val apiId: Output<String>? = null, val cachingConfig: Output<ResolverCachingConfigArgs>? = null, val code: Output<String>? = null, val dataSource: Output<String>? = null, val field: Output<String>? = null, val kind: Output<String>? = null, val maxBatchSize: Output<Int>? = null, val pipelineConfig: Output<ResolverPipelineConfigArgs>? = null, val requestTemplate: Output<String>? = null, val responseTemplate: Output<String>? = null, val runtime: Output<ResolverRuntimeArgs>? = null, val syncConfig: Output<ResolverSyncConfigArgs>? = null, val type: Output<String>? = null) : ConvertibleToJava<ResolverArgs>
Provides an AppSync Resolver.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appsync.GraphQLApi;
import com.pulumi.aws.appsync.GraphQLApiArgs;
import com.pulumi.aws.appsync.DataSource;
import com.pulumi.aws.appsync.DataSourceArgs;
import com.pulumi.aws.appsync.inputs.DataSourceHttpConfigArgs;
import com.pulumi.aws.appsync.Resolver;
import com.pulumi.aws.appsync.ResolverArgs;
import com.pulumi.aws.appsync.inputs.ResolverCachingConfigArgs;
import com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var testGraphQLApi = new GraphQLApi("testGraphQLApi", GraphQLApiArgs.builder()
.authenticationType("API_KEY")
.schema("""
type Mutation {
putPost(id: ID!, title: String!): Post
}
type Post {
id: ID!
title: String!
}
type Query {
singlePost(id: ID!): Post
}
schema {
query: Query
mutation: Mutation
}
""")
.build());
var testDataSource = new DataSource("testDataSource", DataSourceArgs.builder()
.apiId(testGraphQLApi.id())
.name("my_example")
.type("HTTP")
.httpConfig(DataSourceHttpConfigArgs.builder()
.endpoint("http://example.com")
.build())
.build());
var testResolver = new Resolver("testResolver", ResolverArgs.builder()
.apiId(testGraphQLApi.id())
.field("singlePost")
.type("Query")
.dataSource(testDataSource.name())
.requestTemplate("""
{
"version": "2018-05-29",
"method": "GET",
"resourcePath": "/",
"params":{
"headers": $utils.http.copyheaders($ctx.request.headers)
}
}
""")
.responseTemplate("""
#if($ctx.result.statusCode == 200)
$ctx.result.body
#else
$utils.appendError($ctx.result.body, $ctx.result.statusCode)
#end
""")
.cachingConfig(ResolverCachingConfigArgs.builder()
.cachingKeys(
"$context.identity.sub",
"$context.arguments.id")
.ttl(60)
.build())
.build());
var mutationPipelineTest = new Resolver("mutationPipelineTest", ResolverArgs.builder()
.type("Mutation")
.apiId(testGraphQLApi.id())
.field("pipelineTest")
.requestTemplate("{}")
.responseTemplate("$util.toJson($ctx.result)")
.kind("PIPELINE")
.pipelineConfig(ResolverPipelineConfigArgs.builder()
.functions(
aws_appsync_function.test1().function_id(),
aws_appsync_function.test2().function_id(),
aws_appsync_function.test3().function_id())
.build())
.build());
}
}
Content copied to clipboard
JS
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appsync.Resolver;
import com.pulumi.aws.appsync.ResolverArgs;
import com.pulumi.aws.appsync.inputs.ResolverRuntimeArgs;
import com.pulumi.aws.appsync.inputs.ResolverPipelineConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Resolver("example", ResolverArgs.builder()
.type("Query")
.apiId(aws_appsync_graphql_api.test().id())
.field("pipelineTest")
.kind("PIPELINE")
.code(Files.readString(Paths.get("some-code-dir")))
.runtime(ResolverRuntimeArgs.builder()
.name("APPSYNC_JS")
.runtimeVersion("1.0.0")
.build())
.pipelineConfig(ResolverPipelineConfigArgs.builder()
.functions(aws_appsync_function.test().function_id())
.build())
.build());
}
}
Content copied to clipboard
Import
aws_appsync_resolver
can be imported with their api_id
, a hyphen, type
, a hypen and field
e.g.,
$ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField
Content copied to clipboard
Constructors
Link copied to clipboard
fun ResolverArgs(apiId: Output<String>? = null, cachingConfig: Output<ResolverCachingConfigArgs>? = null, code: Output<String>? = null, dataSource: Output<String>? = null, field: Output<String>? = null, kind: Output<String>? = null, maxBatchSize: Output<Int>? = null, pipelineConfig: Output<ResolverPipelineConfigArgs>? = null, requestTemplate: Output<String>? = null, responseTemplate: Output<String>? = null, runtime: Output<ResolverRuntimeArgs>? = null, syncConfig: Output<ResolverSyncConfigArgs>? = null, type: Output<String>? = null)