Package com.pulumi.aws.appsync
Class Resolver
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.appsync.Resolver
-
public class Resolver extends com.pulumi.resources.CustomResourceProvides an AppSync Resolver. ## Example Usage
### Example Usage JSpackage 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.ArrayList; import java.util.Arrays; 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 test = new GraphQLApi("test", GraphQLApiArgs.builder() .authenticationType("API_KEY") .name("tf-example") .schema(""" type Mutation { \tputPost(id: ID!, title: String!): Post } type Post { \tid: ID! \ttitle: String! } type Query { \tsinglePost(id: ID!): Post } schema { \tquery: Query \tmutation: Mutation } """) .build()); var testDataSource = new DataSource("testDataSource", DataSourceArgs.builder() .httpConfig(DataSourceHttpConfigArgs.builder() .endpoint("http://example.com") .build()) .apiId(test.id()) .name("my_example") .type("HTTP") .build()); // UNIT type resolver (default) var testResolver = new Resolver("testResolver", ResolverArgs.builder() .cachingConfig(ResolverCachingConfigArgs.builder() .cachingKeys( "$context.identity.sub", "$context.arguments.id") .ttl(60) .build()) .apiId(test.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 """) .build()); // PIPELINE type resolver var mutationPipelineTest = new Resolver("mutationPipelineTest", ResolverArgs.builder() .pipelineConfig(ResolverPipelineConfigArgs.builder() .functions( test1.functionId(), test2.functionId(), test3.functionId()) .build()) .type("Mutation") .apiId(test.id()) .field("pipelineTest") .requestTemplate("{}") .responseTemplate("$util.toJson($ctx.result)") .kind("PIPELINE") .build()); } }
## Import Using `pulumi import`, import `aws.appsync.Resolver` using the `apiId`, a hyphen, `type`, a hyphen and `field`. For example: ```sh $ pulumi import aws:appsync/resolver:Resolver example abcdef123456-exampleType-exampleField ```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 com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.FileArgs; import java.util.ArrayList; import java.util.Arrays; 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() .runtime(ResolverRuntimeArgs.builder() .name("APPSYNC_JS") .runtimeVersion("1.0.0") .build()) .pipelineConfig(ResolverPipelineConfigArgs.builder() .functions(test.functionId()) .build()) .type("Query") .apiId(testAwsAppsyncGraphqlApi.id()) .field("pipelineTest") .kind("PIPELINE") .code(StdFunctions.file(FileArgs.builder() .input("some-code-dir") .build()).result()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Resolver(java.lang.String name)Resolver(java.lang.String name, ResolverArgs args)Resolver(java.lang.String name, ResolverArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>apiId()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<ResolverCachingConfig>>cachingConfig()com.pulumi.core.Output<java.util.Optional<java.lang.String>>code()com.pulumi.core.Output<java.util.Optional<java.lang.String>>dataSource()com.pulumi.core.Output<java.lang.String>field()static Resolverget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ResolverState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.String>>kind()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>maxBatchSize()com.pulumi.core.Output<java.util.Optional<ResolverPipelineConfig>>pipelineConfig()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.lang.String>>requestTemplate()com.pulumi.core.Output<java.util.Optional<java.lang.String>>responseTemplate()com.pulumi.core.Output<java.util.Optional<ResolverRuntime>>runtime()com.pulumi.core.Output<java.util.Optional<ResolverSyncConfig>>syncConfig()com.pulumi.core.Output<java.lang.String>type()
-
-
-
Constructor Detail
-
Resolver
public Resolver(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Resolver
public Resolver(java.lang.String name, ResolverArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Resolver
public Resolver(java.lang.String name, ResolverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
apiId
public com.pulumi.core.Output<java.lang.String> apiId()
- Returns:
- API ID for the GraphQL API.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN
-
cachingConfig
public com.pulumi.core.Output<java.util.Optional<ResolverCachingConfig>> cachingConfig()
- Returns:
- Caching Config. See Caching Config.
-
code
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> code()
- Returns:
- Function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.
-
dataSource
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> dataSource()
- Returns:
- Data source name.
-
field
public com.pulumi.core.Output<java.lang.String> field()
- Returns:
- Field name from the schema defined in the GraphQL API.
-
kind
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kind()
- Returns:
- Resolver type. Valid values are `UNIT` and `PIPELINE`.
-
maxBatchSize
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> maxBatchSize()
- Returns:
- Maximum batching size for a resolver. Valid values are between `0` and `2000`.
-
pipelineConfig
public com.pulumi.core.Output<java.util.Optional<ResolverPipelineConfig>> pipelineConfig()
- Returns:
- Caching configuration for the resolver. See Pipeline Config.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
requestTemplate
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> requestTemplate()
- Returns:
- Request mapping template for UNIT resolver or 'before mapping template' for PIPELINE resolver. Required for non-Lambda resolvers.
-
responseTemplate
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> responseTemplate()
- Returns:
- Response mapping template for UNIT resolver or 'after mapping template' for PIPELINE resolver. Required for non-Lambda resolvers.
-
runtime
public com.pulumi.core.Output<java.util.Optional<ResolverRuntime>> runtime()
- Returns:
- Runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. See Runtime.
-
syncConfig
public com.pulumi.core.Output<java.util.Optional<ResolverSyncConfig>> syncConfig()
- Returns:
- Sync configuration for a resolver. See Sync Config.
-
type
public com.pulumi.core.Output<java.lang.String> type()
- Returns:
- Type name from the schema defined in the GraphQL API.
-
get
public static Resolver get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ResolverState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-